Comparison of methods for supervisory control and submodule construction 1 Gregor v. Bochmann, University of Ottawa Comparison of methods for supervisory.

Slides:



Advertisements
Similar presentations
Copyright 1999, 2003 G.v. Bochmann CN-FM ch.2 1 Course Notes on Formal Methods for the Development of Distributed Real-Time Applications Gregor v. Bochmann.
Advertisements

Copyright 1999 G.v. Bochmann ELG 7186B ch.2 1 Specifications with assumptions and guarantees (in general) extracts from course notes for ELG7186B in 1999.
N-Consensus is the Second Strongest Object for N+1 Processes Eli Gafni UCLA Petr Kuznetsov Max Planck Institute for Software Systems.
1 Fault Diagnosis for Timed Automata Stavros Tripakis VERIMAG.
Giving a formal meaning to “Specialization” In these note we try to give a formal meaning to specifications, implementations, their comparisons. We define.
Timed Automata.
Supervisory Control of Hybrid Systems Written by X. D. Koutsoukos et al. Presented by Wu, Jian 04/16/2002.
Efficient Query Evaluation on Probabilistic Databases
Languages. A Language is set of finite length strings on the symbol set i.e. a subset of (a b c a c d f g g g) At this point, we don’t care how the language.
An Introduction to Input/Output Automata Qihua Wang.
Regular Languages Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 3 Comments, additions and modifications.
Conformance Simulation Relation ( ) Let and be two automata over the same alphabet simulates () if there exists a simulation relation such that Note that.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
25/06/2015Marius Mikucionis, AAU SSE1/22 Principles and Methods of Testing Finite State Machines – A Survey David Lee, Senior Member, IEEE and Mihalis.
1 Relational Algebra and Calculus Yanlei Diao UMass Amherst Feb 1, 2007 Slides Courtesy of R. Ramakrishnan and J. Gehrke.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
Winter 2012SEG Chapter 11 Chapter 1 (Part 2) Introduction to Requirements Modeling.
Software Testing and QA Theory and Practice (Chapter 10: Test Generation from FSM Models) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Synthesis of Communication Systems, August Gregor v. Bochmann, University of Ottawa Synthesis of communication systems Gregor v. Bochmann School.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
An Introduction to Software Architecture
Model-based Methods for Web Service Verification.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
Qiao and Bochm ann, Univers ity of Ottawa Gregor v. Bochmann Department of Electrical Engineering and Computer Science University of Ottawa Canada presentation.
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
CS 367: Model-Based Reasoning Lecture 5 (01/29/2002) Gautam Biswas.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
1 Relational Algebra and Calculas Chapter 4, Part A.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Submodule construction for specifications with I/O, Nov Gregor v. Bochmann, University of Ottawa Submodule construction for specifications with.
Simultaneously Learning and Filtering Juan F. Mancilla-Caceres CS498EA - Fall 2011 Some slides from Connecting Learning and Logic, Eyal Amir 2006.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
System Testing Beyond unit testing. 2 System Testing Of the three levels of testing, system level testing is closest to everyday experience We evaluate.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport Massachusetts Computer Associates,Inc. Presented by Xiaofeng Xiao.
Towards Interoperability Test Generation of Time Dependent Protocols: a Case Study Zhiliang Wang, Jianping Wu, Xia Yin Department of Computer Science Tsinghua.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
G.v. Bochmann, revised Jan Comm Systems Arch 1 Different system architectures Object-oriented architecture (only objects, no particular structure)
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Copyright 1999, 2003, 2008 G.v. Bochmann 1 Course Notes on Formal Methods for the Development of Distributed Real-Time Applications Gregor v. Bochmann.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Internet Security CSCE 813 Communicating Sequential Processes.
Counterexample-Guided Abstraction Refinement By Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith Presented by Yunho Kim Provable Software.
Advanced Algorithms Analysis and Design
OPERATING SYSTEMS CS 3502 Fall 2017
Sequential Flexibility
CPE555A: Real-Time Embedded Systems
Copyright © Cengage Learning. All rights reserved.
Equivalence, DFA, NDFA Sequential Machine Theory Prof. K. J. Hintz
Hidden Markov Models Part 2: Algorithms
Objective of This Course
High-Level Abstraction of Concurrent Finite Automata
An Introduction to Software Architecture
Introduction to Requirements Modeling
Presentation transcript:

Comparison of methods for supervisory control and submodule construction 1 Gregor v. Bochmann, University of Ottawa Comparison of methods for supervisory control and submodule construction Gregor v. Bochmann and Bassel Daou School of Information Technology and Engineering (SITE) University of Ottawa ACSD conference, Hamilton, June 2004

Comparison of methods for supervisory control and submodule construction 2 Gregor v. Bochmann, University of Ottawa Abstract Over the last 25 years, methods for supervisory control of discrete event systems and methods for submodule construction based on state machine specifications have been developed quite independently by different research communities. The purpose of this paper is to give a summary of the results in these two areas and to point out the many similarities and certain differences between the approaches taken by these two communities. The basic problem, in both cases, is to find the behavior of a single submodule X such that combined with a given submodule C, this composition exhibits a behavior that conforms to a given specification S. In the case of supervisory control, the submodule C is an existing system that is to be controlled by the controller X in such a manner that a behavior compatible with S is obtained. We discuss the main issues that must be addressed for solving this problem, review certain conditions for the existence of a solution, and present the major solution algorithms. We also discuss the different treatment of allowed and required behavior, and the difficulties that arise in the context of different communication paradigms (for instance, distinguishing controllability, observability, input/output, synchronous and asynchronous communication) and different specification formalisms.

Comparison of methods for supervisory control and submodule construction 3 Gregor v. Bochmann, University of Ottawa Equation solving: Integer division Multiplication: R 1 * R 2 = ? Equation solving: R 1 * X = R 3 What is the value of X ? Solution: definition of the division operation Written “ X = R 3 / R 1 ” What does it mean ? X = biggest Y such that R 1 * X ≤ R 3 Note: in many cases, there is no exact solution, that is, there is no X such that R 1 * X = R 3 For instance: 7 / 3 = 2, and 3 * 2 = 6 ≤ 7

Comparison of methods for supervisory control and submodule construction 4 Gregor v. Bochmann, University of Ottawa Submodule construction Multiplication  Machine composition Division  Submodule construction (“equation solving”) Example: M1M1 ? S A2A2 A1A1 A 12 M1M1 ? A2A2 A1A1 M2M2 Multiplication Division

Comparison of methods for supervisory control and submodule construction 5 Gregor v. Bochmann, University of Ottawa Equation solving for machines Given machine M 1 and specification S for the behavior of the composition of M 1 with X, find a behavior of machine X such that hide A 12 in (M 1 ∞ X) ≤ S Meaning of ≤ : set inclusion of possible execution sequences (“traces”, i.e. sequences of interactions ), also called trace inclusion M1M1 X S A2A2 A1A1 A 12

Comparison of methods for supervisory control and submodule construction 6 Gregor v. Bochmann, University of Ottawa Controller design Applications in process control, robotics, etc. In the context of so-called “Discrete event systems” [Ramage-Wonham, 1989] Distinction between non-controllable and controllable interactions (like input/output) Plant (to be controlled) Controller Desired properties A

Comparison of methods for supervisory control and submodule construction 7 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 8 Gregor v. Bochmann, University of Ottawa Application Areas Controller design for discrete event systems Communication protocols Protocol design (Merlin-Bochmann, 1980) Design of communication gateways Component reuse, e.g. in software engineering Embedded testing

Comparison of methods for supervisory control and submodule construction 9 Gregor v. Bochmann, University of Ottawa Communication protocol design Protocol entities PE 1 and PE 2 use the underlying service S low and provide the service S to the users of the protocol PE 1 and S low are given PE 2 = X is to be found M 1 corresponds to ( PE 1 ∞ S low ) PE 1 S S low PE 2 M1M1 X S

Comparison of methods for supervisory control and submodule construction 10 Gregor v. Bochmann, University of Ottawa Communication gateways Given desired end-to-end communication service E2E Protocols in the two networks (different) To be found: gateway behavior (shown by red box) PE 1 S S low PE 2 PE’ 1 S’ S’ low PE’ 2 adapter E2E

Comparison of methods for supervisory control and submodule construction 11 Gregor v. Bochmann, University of Ottawa Component reuse A given submodule does not completely correspond to the specification of the system to be built An additional submodule to be built (and designed throught equation solving) makes up the “difference” Submodule to be re-used New subm. to be built Module to be built A2A2 A1A1 A 12

Comparison of methods for supervisory control and submodule construction 12 Gregor v. Bochmann, University of Ottawa Embedded testing If internal interactions (i.e. A 12 ) are not visible, only the properties of the composed system can be observed The most general behavior of the SUT that leads to conforming behavior for the composed system, is the solution of submodule construction. This behavior is often more general than the specification for the SUT; the difference can not be observed. Component assumed correct Component under test Properties of composed system A2A2 A1A1 A 12

Comparison of methods for supervisory control and submodule construction 13 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 14 Gregor v. Bochmann, University of Ottawa Overview of differences [M-B-1980] : SC for trace semantics rendezvous interactions partial observability by controller internal interactions (not visible at service level) construction algorithm for regular languages [R-W-1989] + follow-on papers: CD for trace semantics Like above, except the following no internal interactions distinction of controllability of interactions pruning algorithm to avoid deadlocks

Comparison of methods for supervisory control and submodule construction 15 Gregor v. Bochmann, University of Ottawa Architectural overview Plant (to be controlled) Controller Desired properties uo uc uo c o uc ococ controllable, but not observable uncontrollable (like input to controller) controllable (like rendezvous, however, often treated like output from controller) Plant (to be controlled) Controller Desired properties Controller design Submodule construction internal interactions

Comparison of methods for supervisory control and submodule construction 16 Gregor v. Bochmann, University of Ottawa Modeling controller interactions Questions: Can the different types of controller interactions be modelled with rendezvous interactions ? unobservable – uncontrollable controller is not involved observable – controllable normal rendezvous interaction (if the controller state has no corresponding transition, the interaction is not possible) observable – uncontrollable “input” to controller: each state of the controller must have a corresponding transition unobservable – controllable If a state of the controller has a corresponding transition, it must be a self-loop (controller goes back to the same state, no visibility)

Comparison of methods for supervisory control and submodule construction 17 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 18 Gregor v. Bochmann, University of Ottawa The SC problem and its solution Problem: Find largest set X (of execution sequences) over the alphabet (A 2 U A 12 ) such that hide A 12 in (M 1 ∞ X) ≤ S Solution: X = (A 2 U A 12 )* \ (minus) any sequence that could lead to an observable execution sequence not in S, i.e. hide A 1 in (M 1 ∞ ( (A 1 U A 2 )* \ S ) ) M1M1 X S A2A2 A1A1 A 12 M1M1 X S A2A2 A1A1

Comparison of methods for supervisory control and submodule construction 19 Gregor v. Bochmann, University of Ottawa A comment about the largest solution Since all execution sequences of X must go in interaction with M 1 and S, we may replace (A 2 U A 12 )* (the chaos for X) by hide A 1 in (M 1 ∞ S ) The obtained “reduced” solution is as good as the largest one, since the sequences in the difference between the two will block in the interaction with M 1

Comparison of methods for supervisory control and submodule construction 20 Gregor v. Bochmann, University of Ottawa An example: one-place queue Note: * means any other interaction

Comparison of methods for supervisory control and submodule construction 21 Gregor v. Bochmann, University of Ottawa... Product: Spec ∞ Context shaded states are non-accepting not visible by X (controller)

Comparison of methods for supervisory control and submodule construction 22 Gregor v. Bochmann, University of Ottawa... after determination transitions to be eliminated

Comparison of methods for supervisory control and submodule construction 23 Gregor v. Bochmann, University of Ottawa Other specification domains Problem: hide A 12 in (M 1 ∞ X) ≤ S Sol: X = (A 2 U A 12 )* \ hide A 1 in (M 1 ∞ ((A 1 U A 2 )*\ S )) Observation: Structurally equivalent solution formula hold for different specification domains, as follows: Synchronous automata [Yevtushenko] Relational databases “hide A 12 “  “ proj {a1, a2 } ” “ ∞ “  join (between relations) Predicate logic: Variables A 1, A 2, and A 12 represent interaction sequences Problem: M1(A 1, A 12 ) and X(A 2, A 12 ) implies S(A 1, A 2 ) Solution: X( A 2, A 12 ) = not exists A 1 ’ : ( M1(A 1 ’, A 12 ) and not S(A 1 ’, A 2 ) ) M1M1 X S A2A2 A1A1 A 12

Comparison of methods for supervisory control and submodule construction 24 Gregor v. Bochmann, University of Ottawa Algorithms for equation solving Sol: X = (A 2 U A 12 )* \ hide A 1 in (M 1 ∞ ((A 1 U A 2 )*\ S )) Algorithms for operations ∞, \, hide In general not decidable (infinite sets of arbitrary sequences) For finite state models (regular languages) : Polynomial complexity for ∞, hide hide introduces non-determinism (in case of non- observable interactions) \ requires conversion to deterministic models, which has exponential complexity

Comparison of methods for supervisory control and submodule construction 25 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 26 Gregor v. Bochmann, University of Ottawa Minimum service requirements Above problem definition – Safeness: S = “allowed behavior” Any possible interaction sequence is included in S Need for some form of liveness definition minimum set of sequences that must be realized (sometimes called “required behavior” in CD) The above algorithms find the largest solution which may be less than S. Check that this behavior includes the minimum required. Required and optional transitions [Larson, Drissi] Progress [Kumar, El-Fakih] For any reachable state of the system and the corresponding externally visible trace t, if the specification of S admits i as next interaction after t, then the system must be able to produce the interaction i, possibly after a certain number of internal interactions. This means required behavior (which is deterministic) must be realized exactly (without any possible blocking)

Comparison of methods for supervisory control and submodule construction 27 Gregor v. Bochmann, University of Ottawa Language properties for CD Properties for sublanguages of the Plant language (for given subsets of controllable and observable interactions) : Controllability (e.g. maximal controllable sublanguage) Normality and Observability normality implies observability observability implies normality if controllable events are also observable

Comparison of methods for supervisory control and submodule construction 28 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 29 Gregor v. Bochmann, University of Ottawa Systems with input and output Nature of input/output (non-rendezvous) Output: time and parameters of an interaction are determined by the system component producing the output Input: The component receiving the interaction cannot influence the time nor parameter values Specification of component behavior Output: The specification gives guarantees about timing and parameter values Input: The specification may make assumptions about timing of inputs and the received parameter values

Comparison of methods for supervisory control and submodule construction 30 Gregor v. Bochmann, University of Ottawa Specification paradigms with hypothesis and guarantees Software Pre- and postconditions of a procedure call They define hypotheses on input parameters, and guarantees on output parameters, respectively Finite state machines (state-deterministic) Unspecified input: hypothesis about the behavior of the environment: this input will not occur when the machine is in this state

Comparison of methods for supervisory control and submodule construction 31 Gregor v. Bochmann, University of Ottawa Conformance to specifications based on IO sequences Given a specification S and a sequence T Either T  S (we say T conforms to S) or … T has wrong input: all prefixes of T up some time t conform to S, but there is wrong input at time (t+1) T has wrong output: similarly T has wrong input and output at the same time instant A component conforms to a specification S iff no sequence T in which the component participates has wrong output in respect to S Note: if a sequence has wrong input, nothing can be assumed about wrong output at a later time

Comparison of methods for supervisory control and submodule construction 32 Gregor v. Bochmann, University of Ottawa Equation solving for specifications based on IO sequences Find most general specification X such that any sequence T of the composition of M 1 and X has the following properties: proj {A1, A2} (T) conforms to S If proj {a1, a2} (T) has no wrong input in respect to S then proj {a1, a12} (T) has no wrong input in resp. to M 1 Solution: see [Drissi] and [Bochmann] M1M1 X S A2A2 A1A1 A 12

Comparison of methods for supervisory control and submodule construction 33 Gregor v. Bochmann, University of Ottawa Overview Introduction Application areas Overview of differences between CD and SC SC solution formulas for LTS trace semantics Other differences: progress requirements etc. IO Automata and partial specifications Other conformance relations and issues Conclusions

Comparison of methods for supervisory control and submodule construction 34 Gregor v. Bochmann, University of Ottawa Different conformance relations What are the requirements for the behavior of the controlled system ? (in case of CD: behavior of the composition of the Context and the new component X) Answer (in many cases): conformance to a specification S Conformance relations: Equal traces (and no internal blocking) [controllability property of S indicates whether this is possible] Equal traces with progress Trace inclusion (and no internal blocking) quasi-equivalence for IO automata Additional properties: refusal semantics, state-simulations, real-time properties [Sifakis, Grenoble], liveness properties [Thistle]

Comparison of methods for supervisory control and submodule construction 35 Gregor v. Bochmann, University of Ottawa Considering several specifications Another answer (in some cases): consideration of more than one specification. In CD, the following specifications have been considered: Plant behavior (this corresponds to the behavior of the Context M 1 in SC) The “allowed” behavior (subset of Plant behavior, corresponding to S in SC). Typically, trace inclusion would be required here. The “required” behavior (minimum behavior as mentioned earlier, subset of “allowed” behavior). Typically, trace equivalence with progress would be required here.

Comparison of methods for supervisory control and submodule construction 36 Gregor v. Bochmann, University of Ottawa Other issues Characterizing all solutions Easy for SC with trace inclusion conformance All submachines of largest solution (which is found by construction algorithm) Complex for conformance with progress See [Drissi], [El-Khatib] Hierarchical and distributed system models E.g. distributed plant with local and global controllers Difficulty of the hiding operator In case of unobservable events (alphabet A 1 ) In case of internal events (alphabet A 12 ) e.g. for timed automata, no timer should be set on hidden transitions

Comparison of methods for supervisory control and submodule construction 37 Gregor v. Bochmann, University of Ottawa Conclusions Application areas of SC/CD Controller design Protocol design (Merlin-Bochmann, 1980) Design of communication gateways Component reuse, e.g. in software engineering Embedded testing Very similar concepts are used in SC and CD These two fields can profit from cross-fertilization Future directions More powerful specification paradigms e.g. interaction parameters and variables More powerful tools Practical design methodology based on formal methods