Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems

Size: px
Start display at page:

Download "Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems"

Transcription

1 GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 65 Combining STATEMATE and FNLOG for the specification and the verification of complex real time systems Leila JEMNI BEN AYED 1 and Olfa MOSBAHI 2 1 Département des Sciences de l Informatique, Faculté des Sciences de Tunis, Campus Universitaire, 1060 le Belvédère Tunis Tunisia leila.jemni@fsegt.rnu.tn, 2 Département des Sciences de l Informatique, Faculté des Sciences de Tunis, Campus Universitaire, 1060 le Belvédère Tunis Tunisie olfa.mosbahi@fst.rnu.tn, Abstract. In this paper we explore the usefulness of a combination of semi formal and formal specification methods in specifying complex real time systems and verifying their properties. The proposed technique is based on the integration of the semi-formal method STATEMATE and the temporal logic FNLOG. STATEMATE is a semi formal method that pertains to the specification and design of complex reactive systems and builds simulations and proto-types rapidly. Though STATEMATE provides rigorous specifications, these are not verifiable to ensure and guarantee the reliability of the system being developed. To fulfill this objective, a STATEMATE specification is translated into a logic-based specification language FNLOG which allows its verification. This paper presents the various steps of our integration approach, describes the cross reference between STATEMATE and FNLOG features, and extends the axiomatics of the temporal logic FNLOG to deal with duration properties. 1 Introduction Critical real time systems are characterized by a complexity linked with their diverse ways to react to external events and require a high level of safety and reliability. To reduce this complexity and to reach a high required degree of reliability and safety, it would be quite interesting to lay out a specification approach which simplifies the requirement description, deals with mathematical notations inducing verification and validation, and allows the description of quantitative temporal properties. Several approaches were proposed to provide different methods and specification languages of complex real time systems. Most of these methods such as STATEMATE [8] and UML [2] use state-transition diagrams to describe complex system s behavior. They provide rigorous specifications which are not verifiable to ensure and guarantee the reliability of the system being developed. Because these methods are semi formal and unlike formal methods, they are not provided with proof system. Formal methods are based on mathematical notations and axiomatic which induces verification. So that, semi formal and formal methods have been combined to ensure semi formal specification s verification [3], [4], [14], [17]. The combination consists of

2 66 Combining Statemate and Fnlog for the Specification transforming semi formal specification to a formal one which is verifiable by the use of proof system. Hence, a semi formal specification could be verified. Several works were elaborated in this context such as the transformation from UML to B [14], State-charts to B abstract machine notation [16], State-charts to function logic based specification language called FNLOG [17], [18] which extends Statecharts language and provides a compositional proof system for Statecharts. Other works were developed to transform the semi formal method STATEMATE to a formal notations. More over, [5] provide a set of tools translating STATEMATE specifications into finite state machines required by the model checker in order to enable their verification. It is within this framework that we will present our contribution which attempts to develop a new technique transforming STATEMATE design to FNLOG specification in order to ensure formal verification. In our approach we consider not only behavioral aspect from statecharts as it is done in [17] but also functional aspect from activity charts and this is way we start with a STATEMATE model and not only with statechart one. FNLOG [18] which is a logical specification language, was introduced for the verification of State-charts specifying reactive system behavior and also to cover the system functional aspects and to express properties in application domain and not just in State-charts. To ensure the verification of State-charts by FNLOG, a semantic bridge [17], [18] is built between their components. The STATEMATE notation allows the specification of functional and behavioral aspects with Statecharts and activity charts. Thus, the compatibility between State-charts and FNLOG components is used and extended to STATEMATE features specifying the system functions in the translation schemes between STATEMATE and FNLOG. The proposed approach consists firstly on specifying the system with STATEMATE notation which provides clear and understandable specification and secondly on translating this specification to FNLOG notation to be verified. The proposed integration approach uses the notations of STATEMATE and FNLOG, defines various transformation rules of a STATEMATE specification towards FNLOG and extends FNLOG axiomatic to reason about duration properties. The paper is organized as follow: Section 2 presents an overview of STATEMATE. Section 3 introduces an abstract of FNLOG notation and Section 4 presents the proposed technique with some transformation rules from STATEMATE to FNLOG. 2 General view of STATEMATE STATEMATE is a graphic specification method for complex real-time reactive systems. In STATEMATE, the descriptions used to capture system specification are organized into three views, or projections,of the system: functional, behavioral and structural. The functional view describes the system s functions, processes and activities. The behavioral view describes the system s behavior over time. The structural one describes the subsystems, modules and the communication between them. Activity-charts. Activity-charts describes the system s functions, processes, or objects. This view also includes the inputs and outputs of the activities, that is, the

3 GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 67 data-flow from the external environment of the system as well as the information flowing among the internal activities. Statecharts. Statecharts describes the system s behavior over time, including the dynamics of activities, their control and timing behavior. It also provides answers to questions about causality, concurrency, and synchronization. In statecharts, conventional finite state machines (FMS) [7] are extended by AND/OR decomposition of states, inter-level transitions and an implicit inter-component broadcast communication. A statechart specification can be viewed as a tree of states, where the basic states correspond to the conventional notion of states in FSM s. All other states are related by the superstate-substate property. The superstate at the top level is the specification itself. This relation imposes a natural concept of depth as a refinement of states. There are three types of states: AND, OR, and BASIC states. In Fig.1, for instance, S1 is an AND state, S0, S2, S5 are OR states, and S3, S4, S8 are BASIC states. States obey a hierarchical order. For instance, S2 and S5 are substates of state S1. Substates of an AND state are called parallel states. An OR state consists of a number of substates and being in the OR-state means being in exactly one of its substates. An AND-state too comprises substates and being in an AND-state implies being in all its substates simultaneously. S0 t0 S1 S8 E1 / E2 ; fs!(c1) t1 S2 t3 t2 S3 E2 S5 t5 S6 t4 E3 S4 S7 Fig. 1. Example for AND, OR and Basic states Transitions. Transitions are specified by edges originating at one (or more) state(s) and terminating at one (or more) state(s). A special default transition, which has no originality state, is specified in every superstate; this transition specifies the substate that is entered by default when the superstate is entered. Transitions may be labelled. Labels are of the form : Event-part [condition-part] / Action-part. Each component of the label is optional. The event-part is a boolean combination of atomic events, and it must evaluate to true before the transition can trigger. Additionally, the conditionpart, which is again a boolean combination of conditions on the events, must be true for the transition to take place. The action-part is a boolean combination of events which will be generated as a result of taking the transition. States are entered and exited either explicity by taking a transition, or implicitly because some other states are entered/exited. In Fig.1, t0 is the default entry state of state S0. Similarly, t2 and t4 are the default entry states in S3 and S6 respectively. Orthogonality. The substates of an AND-state, separated by dashed lines in the diagram, are said to be orthogonal. No transitions are allowed between the substates

4 68 Combining Statemate and Fnlog for the Specification of an AND-state, which explains why they are said to be orthogonal. Since entering an AND-state means entering every orthogonal compoment of the state, orthogonality captures concurrency. Events and Broadcasting. Atomic events are those generated by the environment or thoses generated within the system itself. Events act as signals to the system. Every occurrence of any event is assumed to be broadcast throughout the system instantaneously. Entering enter(s) and exiting exit(s) a state S as well as a timeout, defined by the event tm(e, n), which stands for n time units elapsing since the occurence of event e, are considered to be events. Broadcasting implies the events generated in one component are broadcast throughout the system, possibly triggering new transitions in other components, in general giving rise to a whole chain of transitions. By the synchrony hypothesis, explained below, the entire chain of transitions takes place simultaneousely in one time step. In Fig.1, the system can be in states S0 and S8 simultaneously. Synchronization and Real-time. Statecharts incorporates Berry s [1] strong synchrony hypothesis : an execution machine for a system is infinitely fast and control takes no time. This hypothesis facilitates the specification task by abstracting from internal reaction time. Real-time is incorporated in statecharts by having an implicit clock, allowing transitions to be triggered by timeouts relative to this clock and by requiring that if a transition can be taken, then it must be taken immediately. As presented already, by the synchrony hypothesis, the maximal chain of transitions in one time step takes place simultaneously. The events, conditions and actions are inductively defined, details appear in [9], [10] intuitively, there is a set of primitives events which may be composed using logical operators to obtain more complex events. MODULE-CHARTS. Module-charts are used to describe the modules that constitute the structural view and the implementation of the system, its division into hardware and software blocks and their inner components, and the communication between them. 3 General view of FNLOG FNLOG is a logic-based functional specification lan-guage, based on first-order predicate logic with arithmetic, extended by quantified temporal operators. Component behaviors of a real-time reactive system are specified in FNLOG by means of function relationships. FNLOG is also compositional so there is a semantic equivalence between statecharts and FNLOG structures. Events and Activities. A specification in FNLOG is built from events and activities occurring over time, connected by logical and temporal operators. Hence, an event is an instantaneous occurrence of a signal. An activity is defined as a durative happening with a beginning instant, an end instant, and a finite duration between the two instants. The status of all events and activities, which together specify the system, defines the system state at a given instant. At any time t, an event holds or does not hold, an activity is initiated, terminated, or still alive. In general, an event or activity is instantiated at a given time t, if the event holds or the activity is initiated at this time. Every event e and activity A is superscripted by a number i, written as e i and A i

5 GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 69, which indicates that it is the occurrence of the event or activity in the current system instantiation. This notation allows the specification of repeated events and activities over time. With every activity A i, is associated two special events: initiate-a i (init-a i ) and terminate-a i (term- A i ). Thus, any activity A i is defined by : A i initiate- A i ;durative component ; terminate-a i Logical Operators. The logical operators,,,, are included in FNLOG to facilitate composition of activities and events into higher level events as well as to enable logical assertions in the language. Temporal Operators. In FNLOG, the past-time temporal logic operators, which are described below, are used to capture relative and absolute time properties as well as the causal relationships over time. The past temporal logic operators are t (true at instant t), t (true at all instants before t), t (true at instant t-1) and t (true at some instant before t). Temporal operators can be applied to both events and activities. For an event e i, t (e i ) is true at the time t when e i occurs. For an activity A i, t (A i ) is true at time t if A i is either initiated at t or previously initiated and not yet terminated at t. As implied above, the concept of time is that of an infinite sequence of descrete time instants. A duration or interval is thus defined by its initiating and terminating instants. The existential and universal quantifiers are allowed to range over the time variable t in the logic-based function specification language. The quantified temporal operators are described below : t-k ( e i ) : e i true k instants before time t, t k t-k ( t e i ) : e i true at some instant in the interval [t-k, t], t k t-k ( t e i ) : e i true at all instants in the interval [t-k, t], t k Composition of events and activities. Higher level events and activities, which are of greater complexity than the primitive ones, are composed of logical and temporal predicates which directly or indirectly use the primitive events and activities. Thus, a hierarchy of events and activities may be built. 4 General view of the proposed specification and verification approach In this section, we present the proposed specification approach. We will begin first by presenting various steps then, we present the transformation rules and the proposed axims extending FNLOG axiomatic. The proposed integration method [14] comprises mainly five great steps (Fig.2.) presented in the following : STEP 1. Requirement Description. This step consists on the description of system requirements using FNLOG notation [17].They are liveness and safety properties specified at first by the system user as well as the experts.

6 70 Combining Statemate and Fnlog for the Specification Schedule of conditions Step 1 1- Specification in FNLOG of the property P required by the system Step Context Diagram Contrôl activities 2.2- Decomposition ( activity-charts) Not basic Activities Basic activities Data Dictionary Specification with statecharts Dynamic Model dynamique Step 3 3- Transformation from STATEMATE to FNLOG Transformed Statecharts Transformed Activity-charts Transformed Data Step 4 Step 5 4- Composition in FNLOG A global specification G in FNLOG 5- Verification of required properties P from the global specification G (G Fig. 2. The specification and verification approach using STEMATE and FNLOG STEP 2. Specification with STATEMATE. The second step is a model construction. It consists on the description of system using STATEMATE. This method reduces system complexity which is broken up into a hierarchy of activities, control and primitives activities, with statecharts and activity-charts; with this refinement, new specific properties are added at a given level to the already drawn up list. Here, three sub steps are proposed: Development of the context diagram. We start with functional specification using activity-charts. We generate the context diagram which consists on the main activity, some external processes and flows of information relating system to its environment.

7 GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 71 Decomposition of the system with activity-charts. We break up the context diagram into a series of activities and date-store as well as control activity. For each activity, the refinement process is repeated until an acceptable level of detail is atteimpt. We then obtain a hierarchy of activities thus comprising a whole of not basic activities (activities requiring other decompositions), a whole of basic activities (activities not requiring other decompositions) and a whole of control activities (activities describing the behavior of their main activity). Specification with statecharts. The control activities are associated with statecharts which describe the behavior of their main activity. The statecharts obtained forms the dynamic model. Textual information on the statecharts (states, events, actions, conditions etc.) are arranged in the data dictionary. Thus, during the decomposition process and elaboration of Statecharts, all data and events are saved in a data dictionary. Step 3. Transformation of STATEMATE primitives to FNLOG. There is a compatibility and equivalent semantics between a statecharts and FNLOG specification [10]. They use the same primitives which are events and activities. Furthermore, we find in FNLOG as well as in statecharts an hierarchical composition of events and activities [8]. Also, one of the characteristics of statecharts is historisation and recovery; FNLOG also, is a past temporal logic then it is appropriate to the specification of system s behavior depending on history. Based on this compatibility we have proposed some transformations rules from Statecharts and Activity-charts specifications to logical formulae in FNLOG. Some of these transformation rules are presented in the following. At first we begin by presenting some compatibility aspects. - Transformation of Statechart in to FNLOG. The translation of a Statechart specification to an FNLOG specification consists on transforming states and transitions from the various levels of structure into FNLOG formulas and is based on primitive s transformations and composition s transformations given in Table 1. Table 1. Transformation of statechart s primitives to FNLOG Statecharts FNLOG State Activity Action, Event Event Input event in a state : en(state) n (en(s)) n (init-s) Output event in a state : ex(state) n (ex(s)) n (term-s) Duration of activity Duration of activity Basic states Functions FNLOG OR of two states Disjunction of 2 specifications FNLOG AND of two states Conjunction of 2 specifications FNLOG Transition labeled : E i [C i ]/A i n (Fire(Ei[Ci]/Ai)) = n (Ei) n (Ci) n (Ai) To illustrate the transformations of statechart to FNLOG, we consider the example given in Fig.3. When a system is in state S, it is simultaneously in two substates, E and G. In state E, it can be in the state A, or in the state B; and when it is in the state G, it can be also either in C, or in D. Here, is the specification of the system in Statecharts, then its transformation in FNLOG.

8 72 Combining Statemate and Fnlog for the Specification S E A G C A, B, C and D : basic states E and G : OR-states B D S : AND-state Fig. 3. Composition of basic states using AND and OR operators The transformation in FNLOG notation gives : t (S) t (E) t (G) (conjunction of two FNLOG formulae) t (E) t (A) t (B) (disjunction of two FNLOG formulae) t (G) t (C) t (D) (disjunction of two FNLOG formulae) Transformation of a cycle encapsulating states. Other transformations are intended to specify state duration. Let us consider the example given in Fig. 4. in which E is a state encapsulating two under states A and B. In the input of the state E, the variable D takes value 0. In the encapsulated substates, D is incremented with each clock tick. The exit from the state E occurs when D = K or when the event e occurs. We can then deduce that the duration of this cycle does not exceed K time units. E With X : duration passed in state A. Y : duration passed in state B. X, Y < k. The transformation of the cycle gives : / D: = 0 / D := D+1 A / D := D+1 B [ D = k] C X Y e t-k (init-e) t t-k (e) t (term-e) F Fig.4. Transformation of a cycle encapsulating states Transformation of time expressions. Two classes of time expressions are found in statechart the event timeout and the action scheduled [7]. - Timeout (E,T), abbreviated in tm (E,T), where E is an event and T an integer; defines a new event generated T time units after the last occurrence of the event E. - Schedule (G, T), abbreviated in Sc!(G, T), where G is an action and T an integer; defines the execution of G, T time units after the execution of the primitive Sc. So, if at one time T the system is in state A, then after T time units there will be execution of the action G. The transformation of these expressions is given in Fig. 6.

9 GESTS Int l Trans. Computer Science and Engr., Vol.20, No.1 73 Table 2. Transformation of time expressions into FNLOG Statecharts FNLOG A Tm (en (A), x) B t-x (init-a) t (init-b) A Sc! ( G, x) B t-x (init-a) t (G) - Transformation of the activity-charts into FNLOG. The activity-charts complete the descriptions given by Statecharts by adding the description of data flow. An activity is defined with a begining instant, an end instant, and a finite duration between them. In FNLOG also, an activity is characterised by two events, the event init-activity, the event term-activity and a duration between the two events. The transformation of the activity-chart elements associates to Events and activities their correspondent Events and activities, to Data is associated a natural expression and to condition is associated Boolean expression. Transformation of the relation between statecharts and activity-charts. Statecharts and Activity-charts are closely dependent. A statechart is associated with each activity. It describes the decomposition of an activity into sub activities, i.e. it describes the behavior of an activity by defining the instants when each subactivity must be started, stopped, suspended or resumed respectively by the events started (..), stopped (..), suspend (..) and resume (..). In the second direction and by sending an event, an activity causes states s transitions. Thus, relations between statecharts and activity-charts are transformed by the need of exchanged events. Correspondent FNLOG formulae are given in the following table: Table 3. Transformation of events relating activity-charts to statecharts STATEMATE FNLOG St!(A) : the activity A is started n (st!(a)) n (init-a) Sd!(A) : the activity A is suspended n (sd!(a)) n (term-a) Sp!(A) : the activity A is stopped n (sp!(a) n (term-a) Rs!(A) : the activity A is restarted n (rs!(a) n (init-a) tr!(c) : the condition C becomes true n (tr!(c) n (C = true) Fs!(C) : the condition C becomes false n (fs!(c) n (C = false) In the example given in Fig. 5., the statechart AB_control controls the activities A and B. It indicates the time when each activity must be started(st!(a)), suspended(sd!(a)), resumed(rs!((b)) or stopped(sp(b)). In the other way, the activity A causes by the event E a transition from the state AC_A to the state AC_C. The correspondent FNLOG formula for the transition /st!(a) is : n (sp!(a) n (term-a)

10 74 Combining Statemate and Fnlog for the A B /st!(a) E/sd!(A); st!(b) (B) /rs! (A) AC_A Sp!(B) / rs! (A) AC_B Fig. 5. Example of relation between the Statechart AB_control and the Activity-chart A Step 4. Composition in FNLOG. The fourth step is a composition of FNLOG formulae associated to basic and non basic activities obtained in the step 3. It is the conjunction of FNLOG formulae found at each level of the decomposition obtained at the steps 2 and 3. For each activity, we directly define the data and the sub activities in data and operations (or functions) in FNLOG and then we associate each of the statecharts to the corresponding controlled activity. In this step, we compose the activities and the events specified in FNLOG. This composition is based on the causality relation between them. We note that this step is used only if the system is complex and is refined on several levels. Step 5. Verification. The fifth step is a verification step. It consists on proving that the behavior specification found in the fourth step implies the system s requirements specified in the first step. These requirements are in general safety or liveness properties depending on time consideration such as periodicity, time out, [8], [14]. The temporal logic FNLOG refers to point time structure defining a precedence relation and a metric over a set of points. However a problem holds in the verification of such duration properties with the existing axiomatic. To simplify such verification, we extend the FNLOG axiomatic [18] with two axioms presented below : Duration over state sequence. The duration of an interval associated to a state sequence is the total length of the sub-intervals associated to each state. Fig. 6. Duration over a state sequence We consider in Fig. 6. three consecutive states A, B and C. A is followed by B and B is followed by C. A lasts x time units and B lasts y time units. The duration from the begenning of A to the begenning of C is x+y. Axiom1. ( t x (init-a) t (init-b) t y (init-b) t (term-b)) t (x + y) (init-a) t (term-b) Reachability / Accessibility. If a property φ holds in an interval [ t-k, t ] with t>k, then it holds also in the interval [ t-j,t]with j k. Axiom2. t t- k (φ) t t- j (φ) j k Tm (en(a), x) Tm (en(b), y) A B C

11 GESTS Int l Trans. Computer Science and Engr., Vol.20, No Conclusion In this paper, a new technique for the specification and the verification of complex real-time systems integrating STATEMATE and FNLOG has been proposed. A STATEMATE specification is translated into FNLOG notation, the specification becomes verifiable by using FNLOG axiomatic. The most distinctive characteristic of our approach is the simple way of specifying and verifying real-time system s dealing with functional and behavioral aspects. The proposed approach consists firstly on specifying the system with STATEMATE notation which provides clear and understandable specification (starting by a decompositionl specification with activitycharts then a behavioral specification with statecharts), describing required properties with FNLOG, and secondly on translating this specification to FNLOG notation, by a recomposition, to be verified then on verifying that the behavior specification implies the requirements using the proof sytem of FNLOG. To reason about duration, we have extended FNLOG axiomatic and introduced two axioms one for duration over state sequence and other for accessibility of a state over an interval. The axiomatization of our technique requests also a long term efforts and this paper represents a tentative attempts in this direction. In this paper we have presented correspondance rules between state-charts, activity-charts and FNLOG without formalizing them and we did not treat decomposition of activities in STATEMATE then only first level of the abstraction is transformed. In further works, we will propose an automatic derivation schemes from STATEMATE to FNLOG, define transformation process of STATEMATE notations (State-charts, Activity-charts,.) and an algorithm translating STATEMATE model to FNLOG specifications.. References [1] G. Berry & L. Coresserat, "the ESTEREL sychronous programming language and its mathematical semantics," Seminar on Concurrency. Lecture Note in Computer Science (LNCS), Vol 197, Springer Verlag, pp , [2] G. Booch, J. Rumbaugh & I. Jacobson, The Unified Modelling LanguageUser Guide. Addison Wesley, [3] R.Bossow & W.Grieskamp, "A Modular Framework for the Integration of Heterogenous Notations and Tools," 1st Intl. Conference on integrated Formal Methods-IFM00. Springer-Verlag, [4] R.Bossow, W.Grieskamp, W.Heicking & S.Herrmann, "An Open Enviroment for the Integration of Heterogeneous Modelling Techniques and Tools, " Intl. Workshop on Current Trends in Applied Formal Methods, LNCS, Vol 1641, Springer-Verlag, Berlin, [5] U.Brockmeyer & G.Wittich, Real-Time Verification of STATEMATE Designs, OffI, Olden-burg, Germany. [6] H. Fekih, L. Jemni & S. Merz, "Transformation des spécifications B en des diagrammes UML, AFADL : Approches Formelles dans l Assistance au développement de logiciels, pp , Besançon, France, July [7] J.Fitzgerald & P.G.Larsen, Modelling Systems, Practical Tools and Techniques in Software Development, Cambridge University Press, 1997.

12 76 Combining Statemate and Fnlog for the Specification [8] D. Harel, STATEMATE : the Languages of Statemate, Technical Report, USA, [9] D. Harel & M. Politi. Modeling reactive systems with Statecharts: The tatemate approach, i-logix Inc, Three Riverside Drive, Andover, MA 01810, Part No. D , 6/96. 18, USA, 1997 [10] D.Harel, A.Pnueli, J.P.Schmidt & R.Sherman, "on the formal Semantics of Statecharts," 2 nd IEEE. Symposium on Logic in Computer Science, Ithaca, NY, USA, pp , [11] J. Hooman, S.Ramesh, & W.P. De Roever, "A Compositional Semantics for Statecharts, " Formal Models of Concurrency, Novosibirsk, USSR, [12] J. Hooman, S. Ramesh and W. P. De Roever, "A compositional axiomatization of safety and liveness properties of statecharts," Int. BCS-FACS Workshop on Semantics for Concurency Univ. Of Leicester, UK, [13] H. Ledang and J. Souquieres. Contributions for Modelling UML State-Charts in B. In M. BUTLER, L. PETRE, et K. SERE, réds., 3rd International Conference on Integrated Formal Methods (IFM 02), volume 2335 of Lecture Notes in Computer Science, pages , Finland, Springer Verlag. [14] F.Jahanian & A.K.-L.Mok, "Safety analysis of timing properties in Real-time systems, " IEEE Trans. On soft. Eng., Vol. 12, N0 9, pp , [15] O. MOSBAHI, L. JEMNI, S. BEN AHMED & J. JARRAY, "A specification and validation technique based on STATEMATE an FNLOG", Formal Method and Software Engineering, 4 th International Conference on Formal methods and softzare engineering, ICFEM, LNCS, Vol 2495, Chine, October [16] E. Sekerinski & R.Zurob, "Translating State-charts to B, " 3rd International Conference on Integrated Formal Methods (IFM 02), LNCS, Vol 2335, pp , Finland, [17] A. Sowmya & S.Ramesh, "Extending State-charts with Temporal logic, " IEEE Trans. on Soft. Eng, Vol 24, NO. 3, [18] A.Sowmya & S.Ramesh, "A Semantics-Preserving Transformation of statecharts to FNLOG", 14 th. IFAC Workshop Distributed Computer Control systems, Seoul, Korea, 1997.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.

Embedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal. Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves

More information

Extending Statecharts with Temporal Logic. A. Sowmya and S. Ramesh

Extending Statecharts with Temporal Logic. A. Sowmya and S. Ramesh SCS&E Report 9401 Extending Statecharts with Temporal Logic A. Sowmya and S. Ramesh SCHOOL OF COMPUTER SCIENCE AND ENGINEERING THE UNIVERSITY OF NEW SOUTH WALES Abstract Statecharts is a behavioural specication

More information

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון

Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון Discrete Dynamics Finite State Machines גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 Recap: Actor Model An actor is a mapping of input signals to output signals S: R R k R R m where k is the number

More information

TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1. Grzegorz Łabiak

TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1. Grzegorz Łabiak TRANSITION CONFLICTS DETECTION IN BINARY MODULAR STATECHART DIAGRAMS 1 Grzegorz Łabiak Computer Engineering & Electronics Department, University of Zielona Góra, Podgórna 50, 65-246 Zielona Góra, Poland.

More information

{},{a},{a,c} {},{c} {c,d}

{},{a},{a,c} {},{c} {c,d} Modular verication of Argos Programs Agathe Merceron 1 and G. Michele Pinna 2 1 Basser Department of Computer Science, University of Sydney Madsen Building F09, NSW 2006, Australia agathe@staff.cs.su.oz.au

More information

Design of Distributed Systems Melinda Tóth, Zoltán Horváth

Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Design of Distributed Systems Melinda Tóth, Zoltán Horváth Publication date 2014 Copyright 2014 Melinda Tóth, Zoltán Horváth Supported by TÁMOP-412A/1-11/1-2011-0052

More information

A test sequence selection method for statecharts

A test sequence selection method for statecharts SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2000; 10: 203 227 A test sequence selection method for statecharts Hyoung Seok Hong 1,*, Young Gon Kim 1, Sung Deok Cha 1,*, Doo

More information

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics Dynamic Semantics Operational Semantics Denotational Semantic Dynamic Semantics Operational Semantics Operational Semantics Describe meaning by executing program on machine Machine can be actual or simulated

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 2 Finite Automata & SyncCharts Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Some things I forgot to mention 2 Remember the HISPOS registration

More information

Shared Memory vs Message Passing

Shared Memory vs Message Passing Shared Memory vs Message Passing Carole Delporte-Gallet Hugues Fauconnier Rachid Guerraoui Revised: 15 February 2004 Abstract This paper determines the computational strength of the shared memory abstraction

More information

Model checking the basic modalities of CTL with Description Logic

Model checking the basic modalities of CTL with Description Logic Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking

More information

Finite-State Model Checking

Finite-State Model Checking EECS 219C: Computer-Aided Verification Intro. to Model Checking: Models and Properties Sanjit A. Seshia EECS, UC Berkeley Finite-State Model Checking G(p X q) Temporal logic q p FSM Model Checker Yes,

More information

Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9

Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9 Design of Embedded Systems: Models, Validation and Synthesis (EE 249) Lecture 9 Prof. Dr. Reinhard von Hanxleden Christian-Albrechts Universität Kiel Department of Computer Science Real-Time Systems and

More information

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling

More information

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the

Model Checking. Temporal Logic. Fifth International Symposium in Programming, volume. of concurrent systems in CESAR. In Proceedings of the Sérgio Campos, Edmund Why? Advantages: No proofs Fast Counter-examples No problem with partial specifications can easily express many concurrency properties Main Disadvantage: State Explosion Problem Too

More information

Hoare Logic (I): Axiomatic Semantics and Program Correctness

Hoare Logic (I): Axiomatic Semantics and Program Correctness Hoare Logic (I): Axiomatic Semantics and Program Correctness (Based on [Apt and Olderog 1991; Gries 1981; Hoare 1969; Kleymann 1999; Sethi 199]) Yih-Kuen Tsay Dept. of Information Management National Taiwan

More information

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms

Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Property Checking of Safety- Critical Systems Mathematical Foundations and Concrete Algorithms Wen-ling Huang and Jan Peleska University of Bremen {huang,jp}@cs.uni-bremen.de MBT-Paradigm Model Is a partial

More information

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement

A Simplified Approach for Testing Real-Time Systems Based on Action Refinement A Simplified Approach for Testing Real-Time Systems Based on Action Refinement Saddek Bensalem, Moez Krichen, Lotfi Majdoub, Riadh Robbana, Stavros Tripakis Verimag Laboratory, Centre Equation 2, avenue

More information

Diagram-based Formalisms for the Verication of. Reactive Systems. Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas E.

Diagram-based Formalisms for the Verication of. Reactive Systems. Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas E. In CADE-1 Workshop on Visual Reasoning, New Brunswick, NJ, July 1996. Diagram-based Formalisms for the Verication of Reactive Systems Anca Browne, Luca de Alfaro, Zohar Manna, Henny B. Sipma and Tomas

More information

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino

Formal Verification Techniques. Riccardo Sisto, Politecnico di Torino Formal Verification Techniques Riccardo Sisto, Politecnico di Torino State exploration State Exploration and Theorem Proving Exhaustive exploration => result is certain (correctness or noncorrectness proof)

More information

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University of Texas

More information

Linear Temporal Logic and Büchi Automata

Linear Temporal Logic and Büchi Automata Linear Temporal Logic and Büchi Automata Yih-Kuen Tsay Department of Information Management National Taiwan University FLOLAC 2009 Yih-Kuen Tsay (SVVRL @ IM.NTU) Linear Temporal Logic and Büchi Automata

More information

Lecture Notes: Axiomatic Semantics and Hoare-style Verification

Lecture Notes: Axiomatic Semantics and Hoare-style Verification Lecture Notes: Axiomatic Semantics and Hoare-style Verification 17-355/17-665/17-819O: Program Analysis (Spring 2018) Claire Le Goues and Jonathan Aldrich clegoues@cs.cmu.edu, aldrich@cs.cmu.edu It has

More information

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues

Safety and Reliability of Embedded Systems. (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues (Sicherheit und Zuverlässigkeit eingebetteter Systeme) Fault Tree Analysis Obscurities and Open Issues Content What are Events? Examples for Problematic Event Semantics Inhibit, Enabler / Conditioning

More information

Opus: University of Bath Online Publication Store

Opus: University of Bath Online Publication Store Lam, V. S. W. (2006) A formal execution semantics and rigorous analytical approach for communicating UML statechart diagrams. Other. Department of Computer Science, University of Bath. Link to official

More information

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel

The STATEMATE Semantics of Statecharts. Presentation by: John Finn October 5, by David Harel The STATEMATE Semantics of Statecharts Presentation by: John Finn October 5, 2010 by David Harel Outline Introduction The Basics System Reactions Compound Transitions History Scope of Transitions Conflicting

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

Relational Interfaces and Refinement Calculus for Compositional System Reasoning

Relational Interfaces and Refinement Calculus for Compositional System Reasoning Relational Interfaces and Refinement Calculus for Compositional System Reasoning Viorel Preoteasa Joint work with Stavros Tripakis and Iulia Dragomir 1 Overview Motivation General refinement Relational

More information

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems

Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Seamless Model Driven Development and Tool Support for Embedded Software-Intensive Systems Computer Journal Lecture - 22nd June 2009 Manfred Broy Technische Universität München Institut für Informatik

More information

Verification Using Temporal Logic

Verification Using Temporal Logic CMSC 630 February 25, 2015 1 Verification Using Temporal Logic Sources: E.M. Clarke, O. Grumberg and D. Peled. Model Checking. MIT Press, Cambridge, 2000. E.A. Emerson. Temporal and Modal Logic. Chapter

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1)

Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1) Theoretical Foundations of the UML Lecture 18: Statecharts Semantics (1) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ws-1415/uml/

More information

Lecture 2: Axiomatic semantics

Lecture 2: Axiomatic semantics Chair of Software Engineering Trusted Components Prof. Dr. Bertrand Meyer Lecture 2: Axiomatic semantics Reading assignment for next week Ariane paper and response (see course page) Axiomatic semantics

More information

The Discrete EVent System specification (DEVS) formalism

The Discrete EVent System specification (DEVS) formalism The Discrete EVent System specification (DEVS) formalism Hans Vangheluwe The DEVS formalism was conceived by Zeigler [Zei84a, Zei84b] to provide a rigourous common basis for discrete-event modelling and

More information

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML)

Lecture 05: High-Level Design with SysML. An Introduction to SysML. Where are we? What is a model? The Unified Modeling Language (UML) Where are we? Systeme hoher Sicherheit und Qualität Universität Bremen, WS 2017/2018 Lecture 05: High-Level Design with SysML Christoph Lüth, Dieter Hutter, Jan Peleska 01: Concepts of Quality 02: Legal

More information

Sequential programs. Uri Abraham. March 9, 2014

Sequential programs. Uri Abraham. March 9, 2014 Sequential programs Uri Abraham March 9, 2014 Abstract In this lecture we deal with executions by a single processor, and explain some basic notions which are important for concurrent systems as well.

More information

A Deterministic Logical Semantics for Esterel

A Deterministic Logical Semantics for Esterel SOS 2004 Preliminary Version A Deterministic Logical Semantics for Esterel Olivier Tardieu 1 NRA Sophia Antipolis, France Abstract Esterel is a synchronous design language for the specification of reactive

More information

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct.

Temporal Logic. Stavros Tripakis University of California, Berkeley. We have designed a system. We want to check that it is correct. EE 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Fall 2016 Temporal logic Stavros Tripakis University of California, Berkeley Stavros Tripakis (UC Berkeley) EE 244, Fall 2016

More information

A Theory for Composing Distributed Components, Based on Temporary Interference

A Theory for Composing Distributed Components, Based on Temporary Interference A Theory for Composing Distributed Components, Based on Temporary Interference I.S.W.B. Prasetya T.E.J. Vos S.D. Swierstra B. Widjaja Abstract Compositionality provides the foundation of software modularity,

More information

Consistent Fixed Points and Negative Gain

Consistent Fixed Points and Negative Gain 2009 International Conference on Parallel and Distributed Computing, Applications and Technologies Consistent Fixed Points and Negative Gain H. B. Acharya The University of Texas at Austin acharya @ cs.utexas.edu

More information

Designing and Evaluating Generic Ontologies

Designing and Evaluating Generic Ontologies Designing and Evaluating Generic Ontologies Michael Grüninger Department of Industrial Engineering University of Toronto gruninger@ie.utoronto.ca August 28, 2007 1 Introduction One of the many uses of

More information

Finite State Machines. CS 447 Wireless Embedded Systems

Finite State Machines. CS 447 Wireless Embedded Systems Finite State Machines CS 447 Wireless Embedded Systems Outline Discrete systems Finite State Machines Transitions Timing Update functions Determinacy and Receptiveness 1 Discrete Systems Operates in sequence

More information

Part I. Principles and Techniques

Part I. Principles and Techniques Introduction to Formal Methods Part I. Principles and Techniques Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr Introduction Text System and Software Verification : Model-Checking Techniques and Tools In this

More information

ESE601: Hybrid Systems. Introduction to verification

ESE601: Hybrid Systems. Introduction to verification ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?

More information

Bilateral Proofs of Safety and Progress Properties of Concurrent Programs (Working Draft)

Bilateral Proofs of Safety and Progress Properties of Concurrent Programs (Working Draft) Bilateral Proofs of Safety and Progress Properties of Concurrent Programs (Working Draft) Jayadev Misra December 18, 2015 Contents 1 Introduction 3 2 Program and Execution Model 4 2.1 Program Structure..........................

More information

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns

CIS 842: Specification and Verification of Reactive Systems. Lecture Specifications: Specification Patterns CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: Specification Patterns Copyright 2001-2002, Matt Dwyer, John Hatcliff, Robby. The syllabus and all lectures for this

More information

MOST today s embedded real-time systems, e.g. telephone,

MOST today s embedded real-time systems, e.g. telephone, INTL JOURNAL OF ELECTRONICS AND TELECOMMUNICATIONS, 2012, VOL. 58, NO. 4, PP. 411 418 Manuscript received October 31, 2012; revised Decemer, 2012. DOI: 10.2478/v10177-012-0056-9 The Problems of Transition

More information

Constraint Solving for Program Verification: Theory and Practice by Example

Constraint Solving for Program Verification: Theory and Practice by Example Constraint Solving for Program Verification: Theory and Practice by Example Andrey Rybalchenko Technische Universität München Abstract. Program verification relies on the construction of auxiliary assertions

More information

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati

NPTEL Phase-II Video course on. Design Verification and Test of. Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati NPTEL Phase-II Video course on Design Verification and Test of Digital VLSI Designs Dr. Santosh Biswas Dr. Jatindra Kumar Deka IIT Guwahati Module IV: Temporal Logic Lecture I: Introduction to formal methods

More information

Notes. Corneliu Popeea. May 3, 2013

Notes. Corneliu Popeea. May 3, 2013 Notes Corneliu Popeea May 3, 2013 1 Propositional logic Syntax We rely on a set of atomic propositions, AP, containing atoms like p, q. A propositional logic formula φ Formula is then defined by the following

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

The Underlying Semantics of Transition Systems

The Underlying Semantics of Transition Systems The Underlying Semantics of Transition Systems J. M. Crawford D. M. Goldschlag Technical Report 17 December 1987 Computational Logic Inc. 1717 W. 6th St. Suite 290 Austin, Texas 78703 (512) 322-9951 1

More information

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2

Embedded Systems 5. Synchronous Composition. Lee/Seshia Section 6.2 Embedded Systems 5-1 - Synchronous Composition Lee/Seshia Section 6.2 Important semantic model for concurrent composition Here: composition of actors Foundation of Statecharts, Simulink, synchronous programming

More information

Reconciling Situation Calculus and Fluent Calculus

Reconciling Situation Calculus and Fluent Calculus Reconciling Situation Calculus and Fluent Calculus Stephan Schiffel and Michael Thielscher Department of Computer Science Dresden University of Technology {stephan.schiffel,mit}@inf.tu-dresden.de Abstract

More information

An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints

An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints An Efficient Decision Procedure for Functional Decomposable Theories Based on Dual Constraints Khalil Djelloul Laboratoire d Informatique Fondamentale d Orléans. Bat. 3IA, rue Léonard de Vinci. 45067 Orléans,

More information

Synchronous Reactive Systems

Synchronous Reactive Systems Synchronous Reactive Systems Stephen Edwards sedwards@synopsys.com Synopsys, Inc. Outline Synchronous Reactive Systems Heterogeneity and Ptolemy Semantics of the SR Domain Scheduling the SR Domain 2 Reactive

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

The TLA + proof system

The TLA + proof system The TLA + proof system Stephan Merz Kaustuv Chaudhuri, Damien Doligez, Leslie Lamport INRIA Nancy & INRIA-MSR Joint Centre, France Amir Pnueli Memorial Symposium New York University, May 8, 2010 Stephan

More information

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc.

An Indian Journal FULL PAPER ABSTRACT KEYWORDS. Trade Science Inc. [Type text] [Type text] [Type text] ISSN : 0974-7435 Volume 10 Issue 11 BioTechnology 2014 An Indian Journal FULL PAPER BTAIJ, 10(11), 2014 [5576-5583] Research on the probability of extended UML state

More information

Model Checking: An Introduction

Model Checking: An Introduction Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.

More information

Proving Safety Properties of the Steam Boiler Controller. Abstract

Proving Safety Properties of the Steam Boiler Controller. Abstract Formal Methods for Industrial Applications: A Case Study Gunter Leeb leeb@auto.tuwien.ac.at Vienna University of Technology Department for Automation Treitlstr. 3, A-1040 Vienna, Austria Abstract Nancy

More information

Decomposing Specifications of Concurrent Systems

Decomposing Specifications of Concurrent Systems 327 Decomposing Specifications of Concurrent Systems Martín Abadi and Leslie Lamport Systems Research Center, Digital Equipment Corporation 130 Lytton Avenue, Palo Alto, CA 94301, U.S.A. We introduce a

More information

Proving Inter-Program Properties

Proving Inter-Program Properties Unité Mixte de Recherche 5104 CNRS - INPG - UJF Centre Equation 2, avenue de VIGNATE F-38610 GIERES tel : +33 456 52 03 40 fax : +33 456 52 03 50 http://www-verimag.imag.fr Proving Inter-Program Properties

More information

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications

Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Generating Linear Temporal Logic Formulas for Pattern-Based Specifications Salamah Salamah, Vladik Kreinovich, and Ann Q. Gates Dept. of Computer Science, University of Texas at El Paso El Paso, TX 79968,

More information

Information System Design IT60105

Information System Design IT60105 n IT60105 Lecture 13 Statechart Diagrams Lecture #13 What is a Statechart diagram? Basic components in a state-chart diagram and their notations Examples: Process Order in OLP system What is a Statechart

More information

Algebraic Trace Theory

Algebraic Trace Theory Algebraic Trace Theory EE249 Roberto Passerone Material from: Jerry R. Burch, Trace Theory for Automatic Verification of Real-Time Concurrent Systems, PhD thesis, CMU, August 1992 October 21, 2002 ee249

More information

DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES

DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES DISTINGUING NON-DETERMINISTIC TIMED FINITE STATE MACHINES Maxim Gromov 1, Khaled El-Fakih 2, Natalia Shabaldina 1, Nina Yevtushenko 1 1 Tomsk State University, 36 Lenin Str.. Tomsk, 634050, Russia gromov@sibmail.com,

More information

Ranking Verification Counterexamples: An Invariant guided approach

Ranking Verification Counterexamples: An Invariant guided approach Ranking Verification Counterexamples: An Invariant guided approach Ansuman Banerjee Indian Statistical Institute Joint work with Pallab Dasgupta, Srobona Mitra and Harish Kumar Complex Systems Everywhere

More information

Theoretical Foundations of the UML

Theoretical Foundations of the UML Theoretical Foundations of the UML Lecture 17+18: A Logic for MSCs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ws-1718/fuml/ 5.

More information

Program Analysis Part I : Sequential Programs

Program Analysis Part I : Sequential Programs Program Analysis Part I : Sequential Programs IN5170/IN9170 Models of concurrency Program Analysis, lecture 5 Fall 2018 26. 9. 2018 2 / 44 Program correctness Is my program correct? Central question for

More information

Program Composition in Isabelle/UNITY

Program Composition in Isabelle/UNITY Program Composition in Isabelle/UNITY Sidi O. Ehmety and Lawrence C. Paulson Cambridge University Computer Laboratory J J Thomson Avenue Cambridge CB3 0FD England Tel. (44) 1223 763584 Fax. (44) 1223 334678

More information

Semantics of S.S.M. (Safe State Machine)

Semantics of S.S.M. (Safe State Machine) Semantics of S.S.M. (Safe State Machine) Charles André I3S Laboratory UMR 6070 University of Nice-Sophia Antipolis / CNRS BP 121 F 06903 Sophia Antipolis cédex andre@unice.fr April 2003 1 2 Semantics of

More information

Static Program Analysis using Abstract Interpretation

Static Program Analysis using Abstract Interpretation Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible

More information

This is logically equivalent to the conjunction of the positive assertion Minimal Arithmetic and Representability

This is logically equivalent to the conjunction of the positive assertion Minimal Arithmetic and Representability 16.2. MINIMAL ARITHMETIC AND REPRESENTABILITY 207 If T is a consistent theory in the language of arithmetic, we say a set S is defined in T by D(x) if for all n, if n is in S, then D(n) is a theorem of

More information

Linking Duration Calculus and TLA

Linking Duration Calculus and TLA Linking Duration Calculus and TLA Yifeng Chen and Zhiming Liu Department of Computer Science, University of Leicester, Leicester LE1 7RH, UK Email: {Y.Chen, Z.Liu}@mcs.le.ac.uk Abstract. Different temporal

More information

A Novel Technique to Extract Statechart Representations of FSMs (Synopsis Report)

A Novel Technique to Extract Statechart Representations of FSMs (Synopsis Report) A Novel Technique to Extract Statechart Representations of FSMs (Synopsis Report) A report submitted in partial fulfillment of the requirements for the degree of Master of Technology In Computer Science

More information

arxiv: v1 [cs.dc] 3 Oct 2011

arxiv: v1 [cs.dc] 3 Oct 2011 A Taxonomy of aemons in Self-Stabilization Swan ubois Sébastien Tixeuil arxiv:1110.0334v1 cs.c] 3 Oct 2011 Abstract We survey existing scheduling hypotheses made in the literature in self-stabilization,

More information

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations

New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations New Complexity Results for Some Linear Counting Problems Using Minimal Solutions to Linear Diophantine Equations (Extended Abstract) Gaoyan Xie, Cheng Li and Zhe Dang School of Electrical Engineering and

More information

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: Automata, State machines, Circuits Stavros Tripakis University of California, Berkeley Stavros

More information

On the Design of Adaptive Supervisors for Discrete Event Systems

On the Design of Adaptive Supervisors for Discrete Event Systems On the Design of Adaptive Supervisors for Discrete Event Systems Vigyan CHANDRA Department of Technology, Eastern Kentucky University Richmond, KY 40475, USA and Siddhartha BHATTACHARYYA Division of Computer

More information

Towards a formal language for systemic requirements

Towards a formal language for systemic requirements Towards a formal language for systemic requirements LIX, Yann Hourdel École Polytechnique, 91128 Palaiseau Cedex, France, yann.hourdel@polytechnique.edu Abstract. This work is an attempt to contribute

More information

Models for Efficient Timed Verification

Models for Efficient Timed Verification Models for Efficient Timed Verification François Laroussinie LSV / ENS de Cachan CNRS UMR 8643 Monterey Workshop - Composition of embedded systems Model checking System Properties Formalizing step? ϕ Model

More information

Software Verification with Abstraction-Based Methods

Software Verification with Abstraction-Based Methods Software Verification with Abstraction-Based Methods Ákos Hajdu PhD student Department of Measurement and Information Systems, Budapest University of Technology and Economics MTA-BME Lendület Cyber-Physical

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Lecture 16: Abstract Interpretation VI (Counterexample-Guided Abstraction Refinement) Thomas Noll Lehrstuhl für Informatik 2 (Software Modeling and Verification) noll@cs.rwth-aachen.de

More information

Benefits of Interval Temporal Logic for Specification of Concurrent Systems

Benefits of Interval Temporal Logic for Specification of Concurrent Systems Benefits of Interval Temporal Logic for Specification of Concurrent Systems Ben Moszkowski Software Technology Research Laboratory De Montfort University Leicester Great Britain email: benm@dmu.ac.uk http://www.tech.dmu.ac.uk/~benm

More information

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Using Patterns and Composite Propositions to Automate the Generation of Complex LTL Specifications Salamah Salamah, Ann Q. Gates, Vladik Kreinovich, and Steve Roach Dept. of Computer Science, University

More information

An Operational Semantics for the Dataflow Algebra. A. J. Cowling

An Operational Semantics for the Dataflow Algebra. A. J. Cowling Verification and Testing Research Group, Department of Computer Science, University of Sheffield, Regent Court, 211, Portobello Street, Sheffield, S1 4DP, United Kingdom Email: A.Cowling @ dcs.shef.ac.uk

More information

Change, Change, Change: three approaches

Change, Change, Change: three approaches Change, Change, Change: three approaches Tom Costello Computer Science Department Stanford University Stanford, CA 94305 email: costelloqcs.stanford.edu Abstract We consider the frame problem, that is,

More information

SEMANTICS OF SYNCCHARTS

SEMANTICS OF SYNCCHARTS LABORATOIRE INFORMATIQUE, SIGNAUX ET SYSTÈMES DE SOPHIA ANTIPOLIS UMR 6070 SEMANTICS OF SYNCCHARTS Charles André Projet SPORTS Rapport de recherche ISRN I3S/RR 2003-24 FR Octobre2003 LABORATOIRE I3S: Les

More information

Safety-Critical Medical Device Development Using the UPP2SF Model

Safety-Critical Medical Device Development Using the UPP2SF Model University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 2014 Safety-Critical Medical Device Development Using the UPP2SF Model Miroslav Pajic

More information

Revising UNITY Programs: Possibilities and Limitations 1

Revising UNITY Programs: Possibilities and Limitations 1 Revising UNITY Programs: Possibilities and Limitations 1 Ali Ebnenasir, Sandeep S. Kulkarni, and Borzoo Bonakdarpour Software Engineering and Network Systems Laboratory Department of Computer Science and

More information

Axiomatic Semantics. Hoare s Correctness Triplets Dijkstra s Predicate Transformers

Axiomatic Semantics. Hoare s Correctness Triplets Dijkstra s Predicate Transformers Axiomatic Semantics Hoare s Correctness Triplets Dijkstra s Predicate Transformers Goal of a program = IO Relation Problem Specification Properties satisfied by the input and expected of the output (usually

More information

Just: a Tool for Computing Justifications w.r.t. ELH Ontologies

Just: a Tool for Computing Justifications w.r.t. ELH Ontologies Just: a Tool for Computing Justifications w.r.t. ELH Ontologies Michel Ludwig Theoretical Computer Science, TU Dresden, Germany michel@tcs.inf.tu-dresden.de Abstract. We introduce the tool Just for computing

More information

Logic. Propositional Logic: Syntax

Logic. Propositional Logic: Syntax Logic Propositional Logic: Syntax Logic is a tool for formalizing reasoning. There are lots of different logics: probabilistic logic: for reasoning about probability temporal logic: for reasoning about

More information

Chapter 11: Automated Proof Systems (1)

Chapter 11: Automated Proof Systems (1) Chapter 11: Automated Proof Systems (1) SYSTEM RS OVERVIEW Hilbert style systems are easy to define and admit a simple proof of the Completeness Theorem but they are difficult to use. Automated systems

More information

Temporal Logic of Actions

Temporal Logic of Actions Advanced Topics in Distributed Computing Dominik Grewe Saarland University March 20, 2008 Outline Basic Concepts Transition Systems Temporal Operators Fairness Introduction Definitions Example TLC - A

More information

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS

Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Georg Frey ANALYSIS OF PETRI NET BASED CONTROL ALGORITHMS Proceedings SDPS, Fifth World Conference on Integrated Design and Process Technologies, IEEE International Conference on Systems Integration, Dallas,

More information

State Transition Diagrams

State Transition Diagrams State Transition Diagrams Jules Desharnais, Marc Frappier, Ali Mili Département d informatique Université Laval Québec, QC G1K 7P4 Canada E-mail: Jules.Desharnais@ift.ulaval.ca Département d informatique

More information