Software Design, Modelling and Analysis in UML
|
|
- Logan Joseph
- 5 years ago
- Views:
Transcription
1 Software Design, Modelling and Analysis in UML Lecture 14: Core State Machines IV main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
2 Contents & Goals Last Lecture: System configuration Transformer Action language: skip, update, send This Lecture: Educational Objectives: Capabilities for following tasks/questions. What does this State Machine mean? What happens if I inject this event? Can you please model the following behaviour. What is: Signal, Event, Ether, Transformer, Step, RTC Sprelim Content: Transformers for Action Language Run-to-completion Step Putting It All Together 2/38
3 Transformer Cont d 3/ main
4 Sactlang Transformer: Create abstract syntax create(c, expr, v) concrete syntax intuitive semantics Create an object of class C and assign it to attribute v of the object denoted by expression expr. well-typedness expr : τ D, v atr(d), atr(c) = { v 1 : τ 1,expr 0 i 1 i n} semantics observables (error) conditions IÂexpr Ã(σ, β) not defined. We use an and assign -action for simplicity it doesn t add or remove expressive power, but moving creation to the expression language raises all kinds of other problems such as order of evaluation (and thus creation). Also for simplicity: no parameters to construction ( parameters of constructor). Adding them is straightforward (but somewhat tedious). 4/38
5 Create Transformer Example SM C : /...;n := new C;... s 1 s 2 create(c, expr, v) t create(c,expr,v) (σ, ε) =... σ: d : D n = :σ Sactlang ε: :ε 5/38
6 How To Choose New Identities? Re-use: choose any identity that is not alive now, i.e. not in dom(σ). Doesn t depend on history. May undangle dangling references may happen on some platforms. Fresh: choose any identity that has not been alive ever, i.e. not in dom(σ) and any predecessor in current run. Depends on history. Dangling references remain dangling could mask dirty effects of platform Sactlang 6/38
7 Sactlang Transformer: Create abstract syntax create(c, expr, v) concrete syntax intuitive semantics Create an object of class C and assign it to attribute v of the object denoted by expression expr. well-typedness expr : τ D, v atr(d), atr(c) = { v 1 : τ 1,expr 0 i 1 i n} semantics ((σ, ε), (σ, ε )) t iff σ = σ[u 0 σ(u 0 )[v u]] {u {v i d i 1 i n}}, ε = [u](ε); u (C) fresh, i.e. u dom(σ); u 0 = IÂexpr Ã(σ, β); d i = IÂexpr 0 i Ã(σ, β) if expr0 i and arbitrary value from (τ i ) otherwise; β = {this u x }. observables (error) conditions Obs create [u x ] = {(u x,, (, ), u)} IÂexpr Ã(σ) not defined. 7/38
8 Transformer: Destroy abstract syntax destroy(expr) intuitive semantics Destroy the object denoted by expression expr. well-typedness semantics observables (error) conditions expr : τ C, C... Obs destroy [u x ] = {(u x,, (+, ), u)} IÂexpr Ã(σ, β) not defined. concrete syntax Sactlang 8/38
9 Destroy Transformer Example SM C : /...;delete n;... s 1 s 2 destroy(expr) t destroy(expr) [u x ](σ, ε) =... σ: c : C n : C :σ Sactlang ε: :ε 9/38
10 What to Do With the Remaining Objects? Assume object u 0 is destroyed... object u 1 may still refer to it via association r: allow dangling references? or remove u 0 from σ(u 1 )(r)? object u 0 may have been the last one linking to object u 2 : leave u 2 alone? or remove u 2 also? Plus: (temporal extensions of) OCL may have dangling references Sactlang Our choice: Dangling references and no garbage collection! This is in line with expect the worst, because there are target platforms which don t provide garbage collection and models shall (in general) be correct without assumptions on target platform. But: the more dirty effects we see in the model, the more expensive it often is to analyse. Valid proposal for simple analysis: monotone frame semantics, no destruction at all. 10/38
11 Transformer: Destroy Sactlang abstract syntax destroy(expr) intuitive semantics Destroy the object denoted by expression expr. well-typedness semantics observables (error) conditions expr : τ C, C t[u x ](σ, ε) = (σ, ε) where σ = σ dom(σ)\{u} with u = IÂexpr Ã(σ, β). Obs destroy [u x ] = {(u x,, (+, ), u)} IÂexpr Ã(σ, β) not defined. concrete syntax 11/38
12 Sequential Composition of Transformers Sequential composition t 1 t 2 of transformers t 1 and t 2 is canonically defined as with observation (t 2 t 1 )[u x ](σ, ε) = t 2 [u x ](t 1 [u x ](σ, ε)) Obs (t2 t 1 )[u x ](σ, ε) = Obs t1 [u x ](σ, ε) Obs t2 [u x ](t 1 (σ, ε)). Clear: not defined if one the two intermediate micro steps is not defined Sactlang 12/38
13 Transformers And Denotational Semantics Observation: our transformers are in principle the denotational semantics of the actions/action sequences. The trivial case, to be precise. Note: with the previous examples, we can capture empty statements, skips, assignments, conditionals (by normalisation and auxiliary variables), create/destroy, but not possibly diverging loops Sactlang Our (Simple) Approach: if the action language is, e.g. Java, then (syntactically) forbid loops and calls of recursive functions. Other Approach: use full blown denotational semantics. No show-stopper, because loops in the action annotation can be converted into transition cycles in the state machine. 13/38
14 Step and Run-to-completion Step 14/ main
15 Transition Relation, Computation Sstmrtc Definition. Let A be a set of actions and S a (not necessarily finite) set of of states. We call a (labelled) transition relation. S A S Let S 0 S be a set of initial states. A sequence a s 0 a 0 1 a s1 2 s2... with s i S, a i A is called computation of the labelled transition system (S,, S 0 ) if and only if initiation: s 0 S 0 consecution: (s i, a i, s i+1 ) for i N 0. Note: for simplicity, we only consider infinite runs. 15/38
16 Active vs. Passive Classes/Objects Note: From now on, assume that all classes are active for simplicity. We ll later briefly discuss the Rhapsody framework which proposes a way how to integrate non-active objects. Note: The following RTC algorithm follows [Harel and Gery, 1997] (i.e. the one realised by the Rhapsody code generation) where the standard is ambiguous or leaves choices Sstmrtc 16/38
17 From Core State Machines to LTS Definition. Let Ë 0 = (Ì 0, 0, V 0,atr 0, ) be a signature with signals (all classes active), 0 a structure of Ë 0, and (Eth,ready,,, [ ]) an ether over Ë 0 and 0. Assume there is one core state machine M C per class C. We say, the state machines induce the following labelled transition relation on states S := (Σ ( 2: {#} Eth) with actions A := 2 ( ) ( ( ) { })Evs(, ) ( )) Ë (σ, ε) (cons,snd) (σ, ε ) u if and only if (i) an event with destination u is discarded, (ii) an event is dispatched to u, i.e. stable object processes an event, or (iii) run-to-completion processing by u commences, i.e. object u is not stable and continues to process an event, (iv) the environment interacts with object u, Sstmrtc s (cons, ) # if and only if (v) s = # and cons =, or an error condition occurs during consumption of cons. 17/38
18 (i) Discarding An Event if (σ, ε) (cons,snd) u (σ, ε ) an E-event (instance of signal E) is ready in ε for object u of a class, i.e. if Sstmrtc and u dom(σ) (C) u E ( ) : u E ready(ε,u) u is stable and in state machine state s, i.e. σ(u)(stable) = 1 and σ(u)(st) = s, but there is no corresponding transition enabled (all transitions incident with current state of u either have other triggers or the guard is not satisfied) (s, F,expr,act, s ) (SM C ) : F E IÂexpr Ã(σ) = 0 the system configuration doesn t change, i.e. σ = σ the event u E is removed from the ether, i.e. consumption of u E is observed, i.e. ε = ε u E, cons = {(u,(e,σ(u E )))},Snd =. 18/38
19 Example: Discard [x > 0]/x := x 1; n! J signal,env H SM C : G[x > 0]/x := y s 1 s 2 signal G, J H/z := y/x n 0,1 C x, z : Int y : Int env σ: c : C x = 1, z = 0, y = 2 st = s 1 stable = 1 ε: J for c, G for c Sstmrtc u dom(σ) (C) u E ( ) : u E ready(ε, u) (s, F,expr,act, s ) (SM C ) : F E IÂexpr Ã(σ) = 0 σ(u)(stable) = 1, σ(u)(st) = s, σ = σ, ε = ε u E cons = {(u, (E, σ(u E )))}, Snd = 19/38
20 (ii) Dispatch and (σ, ε) (cons,snd) u (σ, ε ) if u dom(σ) (C) u E ( ) : u E ready(ε, u) u is stable and in state machine state s, i.e. σ(u)(stable) = 1 and σ(u)(st) = s, a transition is enabled, i.e. (s, F,expr,act, s ) (SM C ) : F = E IÂexpr Ã( σ) = 1 where σ = σ[u.params E u E ]. (σ, ε ) results from applying t act to (σ,ε) and removing u E from the ether, i.e. (σ,ε ) = t act ( σ, ε u E ), Sstmrtc σ = (σ [u.st s, u.stable b, u.params E ]) ( )\{u E } where b depends: If u becomes stable in s, then b = 1. It does become stable if and only if there is no transition without trigger enabled for u in (σ,ε ). Otherwise b = 0. Consumption of u E and the side effects of the action are observed, i.e. cons = {(u,(e, σ(u E )))},Snd = Obs tact ( σ, ε u E ). 20/38
21 Example: Dispatch [x > 0]/x := x 1; n! J signal,env H SM C : G[x > 0]/x := y s 1 s 2 signal G, J H/z := y/x n 0,1 C x, z : Int y : Int env σ: c : C x = 1, z = 0, y = 2 st = s 1 stable = 1 ε: G for c Sstmrtc u dom(σ) (C) u E ( ) : u E ready(ε, u) (s, F,expr,act, s ) (SM C ) : F = E IÂexpr Ã( σ) = 1 σ = σ[u.params E u E ]. σ(u)(stable) = 1, σ(u)(st) = s, (σ, ε ) = t act ( σ, ε u E ) σ = (σ [u.st s, u.stable b, u.params E ]) ( )\{u E } cons = {(u, (E, σ(u E )))}, Snd = Obs tact ( σ, ε u E ) 21/38
22 (iii) Commence Run-to-Completion if (σ, ε) (cons,snd) u there is an unstable object u of a class, i.e. (σ, ε ) Sstmrtc and u dom(σ) (C) σ(u)(stable) = 0 there is a transition without trigger enabled from the current state s = σ(u)(st), i.e. (s,,expr,act,s ) (SM C ) : IÂexpr Ã(σ) = 1 (σ, ε ) results from applying t act to (σ, ε), i.e. (σ,ε ) t act [u](σ,ε), σ = σ [u.st s,u.stable b] where b depends as before. Only the side effects of the action are observed, i.e. cons =,Snd = Obs tact (σ, ε). 22/38
23 Example: Commence [x > 0]/x := x 1; n! J signal,env H SM C : G[x > 0]/x := y s 1 s 2 signal G, J H/z := y/x n 0,1 C x, z : Int y : Int env σ: c : C x = 2, z = 0, y = 2 st = s 2 stable = 0 ε: Sstmrtc u dom(σ) (C) : σ(u)(stable) = 0 (s,,expr,act, s ) (SM C ) : IÂexpr Ã(σ) = 1 σ(u)(stable) = 1, σ(u)(st) = s, (σ, ε ) = t act (σ, ε), σ = σ [u.st s, u.stable b] cons =, Snd = Obs tact (σ, ε) 23/38
24 (iv) Environment Interaction Assume that a set env is designated as environment events and a set of attributes v env V is designated as input attributes. Then if (σ, ε) (cons,snd) env (σ, ε ) an environment event E env is spontaneously sent to an alive object u (σ), i.e. σ = σ {u E {v i d i 1 i n}, ε = ε u E Sstmrtc or where u E / dom(σ) and atr(e) = {v 1,...,v n }. Sending of the event is observed, i.e. cons =, Snd = {(env, E( d))}. Values of input attributes change freely in alive objects, i.e. v V u dom(σ) : σ (u)(v) σ(u)(v) = v V env. and no objects appear or disappear, i.e. dom(σ ) = dom(σ). ε = ε. 24/38
25 Example: Environment [x > 0]/x := x 1; n! J signal,env H SM C : G[x > 0]/x := y s 1 s 2 signal G, J H/z := y/x n 0,1 C x, z : Int y : Int env σ: c : C x = 0, z = 0, y = 2 st = s 2 stable = 1 ε: Sstmrtc σ = σ {u E {v i d i 1 i n} ε = ε u E where u E / dom(σ) and atr(e) = {v 1,...,v n }. u dom(σ) cons =, Snd = {(env, E( d))}. 25/38
26 (v) Error Conditions if, in (ii) or (iii), and IÂexpr à is not defined for σ, or t act is not defined for (σ,ε), s (cons,snd) u consumption is observed according to (ii) or (iii), but Snd =. # Examples: E[x/0]/act s 2 s 1 s 3 E[true]/act Sstmrtc E[expr]/x := x/0 s 1 s 2 26/38
27 Example: Error Condition [x > 0]/x := x 1; n! J signal,env H SM C : G[x > 0]/x := y s 1 s 2 signal G, J H/z := y/x n 0,1 C x, z : Int y : Int env σ: c : C x = 0, z = 0, y = 27 st = s 2 stable = 1 ε: H for c Sstmrtc IÂexpr à not defined for σ, or t act is not defined for (σ, ε) consumption according to (ii) or (iii) Snd = 27/38
28 Notions of Steps: The Step Sstmstep Note: we call one evolution (σ, ε) (cons,snd) u Thus in our setting, a step directly corresponds to (σ, ε ) a step. one object (namely u) takes a single transition between regular states. (We have to extend the concept of single transition for hierarchical state machines.) That is: We re going for an interleaving semantics without true parallelism. Remark: With only methods (later), the notion of step is not so clear. For example, consider c 1 calls f() at c 2, which calls g() at c 1 which in turn calls h() for c 2. Is the completion of h() a step? Or the completion of f()? Or doesn t it play a role? It does play a role, because constraints/invariants are typically (= by convention) assumed to be evaluated at step boundaries, and sometimes the convention is meant to admit (temporary) violation in between steps. 28/38
29 Notions of Steps: The Run-to-Completion Step What is a run-to-completion step...? Intuition: a maximal sequence of steps, where the first step is a dispatch step and all later steps are commence steps. Note: one step corresponds to one transition in the state machine. A run-to-completion step is in general not syntacically definable one transition may be taken multiple times during an RTC-step. Example: E[x > 0]/ s 1 s 2 /x := x Sstmstep σ: ε: : C x = 2 E for u 29/38
30 Notions of Steps: The Run-to-Completion Step Cont d Proposal: Let (σ 0, ε 0 ) (cons 0,Snd 0 ) u 0... (cons n 1,Snd n 1) u n 1 (σ n, ε n ), n > 0, be a finite (!), non-empty, maximal, consecutive sequence such that object u is alive in σ 0, u 0 = u and (cons 0,Snd 0 ) indicates dispatching to u, i.e. cons = {(u, v d)}, there are no receptions by u in between, i.e. cons i {u} Evs(, ) =,i > 1, u n 1 = u and u is stable only in σ 0 and σ n, i.e. σ 0 (u)(stable) = σ n (u)(stable) = 1 and σ i (u)(stable) = 0 for 0 < i < n, Sstmstep Let 0 = k 1 < k 2 < < k N = n be the maximal sequence of indices such that u ki = u for 1 i N. Then we call the sequence (σ 0 (u) =) σ k1 (u), σ k2 (u)...,σ kn (u) (= σ n 1 (u)) a (!) run-to-completion computation of u (from (local) configuration σ 0 (u)). 30/38
31 Divergence We say, object u can diverge on reception cons from (local) configuration σ 0 (u) if and only if there is an infinite, consecutive sequence (σ 0, ε 0 ) (cons 0,Snd 0 ) (σ 1, ε 1 ) (cons 1,Snd 1 )... such that u doesn t become stable again. Note: disappearance of object not considered in the definitions. By the current definitions, it s neither divergence nor an RTC-step Sstmstep 31/38
32 Run-to-Completion Step: Discussion Sstmstep What people may dislike on our definition of RTC-step is that it takes a global and non-compositional view. That is: In the projection onto a single object we still see the effect of interaction with other objects. Adding classes (or even objects) may change the divergence behaviour of existing ones. Compositional would be: the behaviour of a set of objects is determined by the behaviour of each object in isolation. Our semantics and notion of RTC-step doesn t have this (often desired) property. Can we give (syntactical) criteria such that any global run-to-completion step is an interleaving of local ones? Maybe: Strict interfaces. (A): Refer to private features only via self. (Proof left as exercise...) (Recall that other objects of the same class can modify private attributes.) (B): Let objects only communicate by events, i.e. don t let them modify each other s local state via links at all. 32/38
33 Putting It All Together 33/ main
34 The Missing Piece: Initial States Recall: a labelled transition system is (S,, S 0 ). We have S: system configurations (σ, ε) : labelled transition relation (σ, ε) (cons,snd) u Wanted: initial states S 0. (σ, ε ). Proposal: Require a (finite) set of object diagrams OD as part of a UML model And set S 0 = {(σ, ε) σ G 1 (OD), OD Ç, ε empty}. (, ËÅ,Ç ) Stogether Other Approach: (used by Rhapsody tool) multiplicity of classes. We can read that as an abbreviation for an object diagram. 34/38
35 Semantics of UML Model So Far The semantics of the UML model where M = (, ËÅ,Ç ) some classes in are stereotyped as signal (standard), some signals and attributes are stereotyped as external (non-standard), there is a 1-to-1 relation between classes and state machines, Ç is a set of object diagrams over, is the transition system (S,, S 0 ) constructed on the previous slide Stogether The computations of M are the computations of (S,, S 0 ). 35/38
36 OCL Constraints and Behaviour Let M ( =, ËÅ,Ç ) be a UML model. We call M consistent iff, for each OCL constraint expr Inv( ), σ = expr for each reasonable point (σ, ε) of computations of M. (Cf. exercises and tutorial for discussion of reasonable point.) Note: we could define Inv(ËÅ) similar to Inv( ) Stogether Pragmatics: In UML-as-blueprint mode, if ËÅ doesn t exist yet, then M = (,, Ç ) is typically asking the developer to provide ËÅ such that M = (, ËÅ,Ç ) is consistent. If the developer makes a mistake, then M is inconsistent. Not common: if ËÅ is given, then constraints are also considered when choosing transitions in the RTC-algorithm. In other words: even in presence of mistakes, the ËÅ never move to inconsistent configurations. 36/38
37 References 37/ main
38 References main [Crane and Dingel, 2007] Crane, M. L. and Dingel, J. (2007). UML vs. classical vs. rhapsody statecharts: not all models are created equal. Software and Systems Modeling, 6(4): [Damm et al., 2003] Damm, W., Josko, B., Votintseva, A., and Pnueli, A. (2003). A formal semantics for a UML kernel language 1.2. IST/33522/WP 1.1/D1.1.2-Part1, Version 1.2. [Fecher and Schönborn, 2007] Fecher, H. and Schönborn, J. (2007). UML 2.0 state machines: Complete formal semantics via core state machines. In Brim, L., Haverkort, B. R., Leucker, M., and van de Pol, J., editors, FMICS/PDMC, volume 4346 of LNCS, pages Springer. [Harel and Gery, 1997] Harel, D. and Gery, E. (1997). Executable object modeling with statecharts. IEEE Computer, 30(7): [Harel and Kugler, 2004] Harel, D. and Kugler, H. (2004). The rhapsody semantics of statecharts. In Ehrig, H., Damm, W., Große-Rhode, M., Reif, W., Schnieder, E., and Westkämper, E., editors, Integration of Software Specification Techniques for Applications in Engineering, number 3147 in LNCS, pages Springer-Verlag. [OMG, 2007] OMG (2007). Unified modeling language: Superstructure, version Technical Report formal/ /38
Lecture 12: Core State Machines II
Software Design, Modelling and Analysis in UML Lecture 12: Core State Machines II 2015-12-15 12 2015-12-15 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationLecture 04: OCL Semantics
Software Design, Modelling and Analysis in UML Lecture 04: OCL Semantics 2014-10-30 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal 04 2014-10-30 main Albert-Ludwigs-Universität Freiburg, Germany Contents
More informationLecture 2: Semantical Model
Software Design, Modelling and Analysis in UML Lecture 2: Semantical Model 2016-10-20 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 2 2016-10-20 main ->enable_water();
More informationLecture 11: Timed Automata
Real-Time Systems Lecture 11: Timed Automata 2014-07-01 11 2014-07-01 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC (un)decidability This Lecture:
More informationReal-Time Systems. Lecture 10: Timed Automata Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany main
Real-Time Systems Lecture 10: Timed Automata 2013-06-04 10 2013-06-04 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: PLC, PLC automata This Lecture:
More informationA Sample State Machine
A Sample State Machine Environment Signatures An environment signature is a triple of sets of guards, actions, and messages. H = (G H, A H, M H ) Guards: formulas in some logical language, e.g. OCL. Actions
More informationLecture 4: OCL Semantics
Software Design, Modelling and Analysis in UML Lecture 4: OCL Semantics 2016-11-03 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 4 2016-11-03 main Content
More informationLecture 05: Duration Calculus III
Real-Time Systems Lecture 05: Duration Calculus III 2014-05-20 Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: DC Syntax and Semantics: Formulae This Lecture:
More informationHow do PLC look like? What s special about PLC? What is a PLC? /50 2/50 5/50 6/50 3/ Splc main
http://wikimedia.org (public domain) How do PLC look like? Albert-Ludwigs-Universität Freiburg, Germany Dr. Bernd Westphal 2013-05-29 Lecture 09: PLC Automata Real-ime Systems 4/50 http://wikimedia.org
More informationReal-Time Systems. Lecture 15: The Universality Problem for TBA Dr. Bernd Westphal. Albert-Ludwigs-Universität Freiburg, Germany
Real-Time Systems Lecture 15: The Universality Problem for TBA 2013-06-26 15 2013-06-26 main Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: Extended Timed
More informationStatic Program Analysis
Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem
More informationResearch Report 326 ISBN ISSN
University of Oslo Department of Informatics How to transform UML neg into a useful construct Ragnhild Kobro Runde, Øystein Haugen, Ketil Stølen Research Report 326 ISBN 82-7368-280-3 ISSN 0806-3036 November
More informationFundamentals of Software Engineering
Fundamentals of Software Engineering First-Order Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner Hähnle (Chalmers
More informationMathematical Foundations of Programming. Nicolai Kraus. Draft of February 15, 2018
Very short lecture notes: Mathematical Foundations of Programming University of Nottingham, Computer Science, module code G54FOP, Spring 2018 Nicolai Kraus Draft of February 15, 2018 What is this? This
More informationEDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach
EDA045F: Program Analysis LECTURE 10: TYPES 1 Christoph Reichenbach In the last lecture... Performance Counters Challenges in Dynamic Performance Analysis Taint Analysis Binary Instrumentation 2 / 44 Types
More informationA call-by-name lambda-calculus machine
A call-by-name lambda-calculus machine Jean-Louis Krivine University Paris VII, C.N.R.S. 2 place Jussieu 75251 Paris cedex 05 (krivine@pps.jussieu.fr) Introduction We present, in this paper, a particularly
More informationSemantics of UML state machines
1 Otto-von-Guericke Universität Magdeburg, Germany May 27, 2015 A Sample State Machine stm ATM Behaviour Idle usercom.card(c) / cardid = c CardEntered usercom.pin(p) / pin = p PINEntered [trialsnum >=
More informationLecture 03: Duration Calculus I
Real-Time Systems Lecture 03: Duration Calculus I 2014-05-08 Dr. Bernd Westphal 03 2014-05-08 main Albert-Ludwigs-Universität Freiburg, Germany Contents & Goals Last Lecture: Model of timed behaviour:
More informationFundamentals of Software Engineering
Fundamentals of Software Engineering First-Order Logic Ina Schaefer Institute for Software Systems Engineering TU Braunschweig, Germany Slides by Wolfgang Ahrendt, Richard Bubel, Reiner Hähnle (Chalmers
More informationDecentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication
Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationTheoretical 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 informationFormal Conformance Testing 2006
Formal Conformance Testing 2006 Lecture 1 14th Sep 2006 Welcome! This is T-79.5304: Formal Conformance Testing Lectures from 10 to 12 am, no regular tutorials Cancellations and other notes at the web page
More informationIntroduction to Turing Machines. Reading: Chapters 8 & 9
Introduction to Turing Machines Reading: Chapters 8 & 9 1 Turing Machines (TM) Generalize the class of CFLs: Recursively Enumerable Languages Recursive Languages Context-Free Languages Regular Languages
More informationTimed Automata. Chapter Clocks and clock constraints Clock variables and clock constraints
Chapter 10 Timed Automata In the previous chapter, we have discussed a temporal logic where time was a discrete entities. A time unit was one application of the transition relation of an LTS. We could
More informationFormal Methods for Java
Formal Methods for Java Lecture 20: Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg January 15, 2013 Jochen Hoenicke (Software Engineering) Formal Methods for Java
More informationT 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 informationThe 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 informationLecture: Workload Models (Advanced Topic)
Lecture: Workload Models (Advanced Topic) Real-Time Systems, HT11 Martin Stigge 28. September 2011 Martin Stigge Workload Models 28. September 2011 1 System
More informationCSE 505, Fall 2009, Midterm Examination 5 November Please do not turn the page until everyone is ready.
CSE 505, Fall 2009, Midterm Examination 5 November 2009 Please do not turn the page until everyone is ready Rules: The exam is closed-book, closed-note, except for one side of one 85x11in piece of paper
More informationDiscrete 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 informationOnline Learning, Mistake Bounds, Perceptron Algorithm
Online Learning, Mistake Bounds, Perceptron Algorithm 1 Online Learning So far the focus of the course has been on batch learning, where algorithms are presented with a sample of training data, from which
More informationFoundations of System Development
Foundations of System Development Martin Wirsing in cooperation with Axel Rauschmayer WS 05/06 Ausblick: Systematische Entwicklung Mobiler Systeme 2 Goals Modelling and Developing Systems Using UML and
More informationInteractive Verification of Concurrent Systems using Symbolic Execution
Interactive Verification of Concurrent Systems using Symbolic Execution Michael Balser, Simon Bäumler, Wolfgang Reif, and Gerhard Schellhorn University of Augsburg, Germany Abstract This paper presents
More informationCS522 - Programming Language Semantics
1 CS522 - Programming Language Semantics Simply Typed Lambda Calculus Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 We now discuss a non-trivial extension of
More informationTheoretical 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 informationLogic Model Checking
Logic Model Checking Lecture Notes 10:18 Caltech 101b.2 January-March 2004 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. the assignment
More informationAlan Bundy. Automated Reasoning LTL Model Checking
Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have
More informationCS411 Notes 3 Induction and Recursion
CS411 Notes 3 Induction and Recursion A. Demers 5 Feb 2001 These notes present inductive techniques for defining sets and subsets, for defining functions over sets, and for proving that a property holds
More informationSoftware Engineering using Formal Methods
Software Engineering using Formal Methods First-Order Logic Wolfgang Ahrendt 26th September 2013 SEFM: First-Order Logic 130926 1 / 53 Install the KeY-Tool... KeY used in Friday s exercise Requires: Java
More informationLimitations of OCAML records
Limitations of OCAML records The record types must be declared before they are used; a label e can belong to only one record type (otherwise fun x x.e) would have several incompatible types; we cannot
More informationReasoning About Imperative Programs. COS 441 Slides 10b
Reasoning About Imperative Programs COS 441 Slides 10b Last time Hoare Logic: { P } C { Q } Agenda If P is true in the initial state s. And C in state s evaluates to s. Then Q must be true in s. Program
More informationLTL Model Checking. Wishnu Prasetya.
LTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Overview This pack : Abstract model of programs Temporal properties Verification (via model checking) algorithm Concurrency
More informationLinking 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 informationLecture 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 informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationRelevant sections from AMATH 351 Course Notes (Wainwright): 1.3 Relevant sections from AMATH 351 Course Notes (Poulin and Ingalls): 1.1.
Lecture 8 Qualitative Behaviour of Solutions to ODEs Relevant sections from AMATH 351 Course Notes (Wainwright): 1.3 Relevant sections from AMATH 351 Course Notes (Poulin and Ingalls): 1.1.1 The last few
More informationDenoting computation
A jog from Scott Domains to Hypercoherence Spaces 13/12/2006 Outline Motivation 1 Motivation 2 What Does Denotational Semantic Mean? Trivial examples Basic things to know 3 Scott domains di-domains 4 Event
More informationApplied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw
Applied Logic Lecture 1 - Propositional logic Marcin Szczuka Institute of Informatics, The University of Warsaw Monographic lecture, Spring semester 2017/2018 Marcin Szczuka (MIMUW) Applied Logic 2018
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 28, 2003 These supplementary notes review the notion of an inductive definition and give
More informationCMSC 451: Lecture 7 Greedy Algorithms for Scheduling Tuesday, Sep 19, 2017
CMSC CMSC : Lecture Greedy Algorithms for Scheduling Tuesday, Sep 9, 0 Reading: Sects.. and. of KT. (Not covered in DPV.) Interval Scheduling: We continue our discussion of greedy algorithms with a number
More informationCS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers. 1 Complete partial orders (CPOs) 2 Least fixed points of functions
CS 6110 Lecture 21 The Fixed-Point Theorem 8 March 2013 Lecturer: Andrew Myers We saw that the semantics of the while command are a fixed point. We also saw that intuitively, the semantics are the limit
More informationProgramming Language Concepts, CS2104 Lecture 3
Programming Language Concepts, CS2104 Lecture 3 Statements, Kernel Language, Abstract Machine 31 Aug 2007 CS2104, Lecture 3 1 Reminder of last lecture Programming language definition: syntax, semantics
More informationReal-Time and Embedded Systems (M) Lecture 5
Priority-driven Scheduling of Periodic Tasks (1) Real-Time and Embedded Systems (M) Lecture 5 Lecture Outline Assumptions Fixed-priority algorithms Rate monotonic Deadline monotonic Dynamic-priority algorithms
More informationDesign 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 informationClassical Program Logics: Hoare Logic, Weakest Liberal Preconditions
Chapter 1 Classical Program Logics: Hoare Logic, Weakest Liberal Preconditions 1.1 The IMP Language IMP is a programming language with an extensible syntax that was developed in the late 1960s. We will
More informationTimo Latvala. February 4, 2004
Reactive Systems: Temporal Logic LT L Timo Latvala February 4, 2004 Reactive Systems: Temporal Logic LT L 8-1 Temporal Logics Temporal logics are currently the most widely used specification formalism
More informationSafety and Liveness Properties
Safety and Liveness Properties Lecture #6 of Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling and Verification E-mail: katoen@cs.rwth-aachen.de November 5, 2008 c JPK Overview Lecture
More informationTrace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University
Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global
More informationINTEGRATED SPECIFICATION, VALIDATION AND VERIFI- CATION WITH HYBRIDUML AND OCL APPLIED TO THE BART CASE STUDY
INTEGRATED SPECIFICATION, VALIDATION AND VERIFI- CATION WITH HYBRIDUML AND OCL APPLIED TO THE BART CASE STUDY Stefan Bisanz, Paul Ziemann, Arne Lindow University of Bremen, FB3 (Department of Mathematics
More informationLecture Notes on Software Model Checking
15-414: Bug Catching: Automated Program Verification Lecture Notes on Software Model Checking Matt Fredrikson André Platzer Carnegie Mellon University Lecture 19 1 Introduction So far we ve focused on
More informationG54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV
G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV Henrik Nilsson University of Nottingham, UK G54FOP: Lecture 17 & 18 p.1/33 These Two Lectures Revisit attempt to define denotational
More informationA Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32
A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A
More informationCS21 Decidability and Tractability
CS21 Decidability and Tractability Lecture 3 January 9, 2017 January 9, 2017 CS21 Lecture 3 1 Outline NFA, FA equivalence Regular Expressions FA and Regular Expressions January 9, 2017 CS21 Lecture 3 2
More informationLecture Notes on Inductive Definitions
Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 September 2, 2004 These supplementary notes review the notion of an inductive definition and
More informationIt is a growing concern for companies, administrations,
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (preprint) 1 Monitoring Data Usage in Distributed Systems David Basin, Matúš Harvan, Felix Klaedtke, and Eugen Zălinescu Abstract IT systems manage increasing
More informationNondeterministic finite automata
Lecture 3 Nondeterministic finite automata This lecture is focused on the nondeterministic finite automata (NFA) model and its relationship to the DFA model. Nondeterminism is an important concept in the
More informationOn Fixed Point Equations over Commutative Semirings
On Fixed Point Equations over Commutative Semirings Javier Esparza, Stefan Kiefer, and Michael Luttenberger Universität Stuttgart Institute for Formal Methods in Computer Science Stuttgart, Germany {esparza,kiefersn,luttenml}@informatik.uni-stuttgart.de
More informationCSE 505, Fall 2005, Midterm Examination 8 November Please do not turn the page until everyone is ready.
CSE 505, Fall 2005, Midterm Examination 8 November 2005 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.
More informationNonmonotonic Reasoning in Description Logic by Tableaux Algorithm with Blocking
Nonmonotonic Reasoning in Description Logic by Tableaux Algorithm with Blocking Jaromír Malenko and Petr Štěpánek Charles University, Malostranske namesti 25, 11800 Prague, Czech Republic, Jaromir.Malenko@mff.cuni.cz,
More informationTree Automata and Rewriting
and Rewriting Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.jussieu.fr July 23, 2010 What are? Definition Tree Automaton A tree automaton
More information2 Computable and Computably Enumerable Sets
Notes For CMSC 650- COMPUTABILITY by A.Amir and W.I. Gasarch 1 Introduction We take our model of computation to be Java Programs. Traditionally one defines Turing Machines and we will use that terminology,
More informationCanonical Calculi: Invertibility, Axiom expansion and (Non)-determinism
Canonical Calculi: Invertibility, Axiom expansion and (Non)-determinism A. Avron 1, A. Ciabattoni 2, and A. Zamansky 1 1 Tel-Aviv University 2 Vienna University of Technology Abstract. We apply the semantic
More informationFurther discussion of Turing machines
Further discussion of Turing machines In this lecture we will discuss various aspects of decidable and Turing-recognizable languages that were not mentioned in previous lectures. In particular, we will
More informationBringing class diagrams to life
Bringing class diagrams to life Luis S. Barbosa & Sun Meng DI-CCTC, Minho University, Braga & CWI, Amsterdam UML & FM Workshop 2009 Rio de Janeiro 8 December, 2009 Formal Methods proofs problems structures
More informationMulticore Semantics and Programming
Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and
More informationMOST OF the published research on control of discreteevent
IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 1, JANUARY 1998 3 Discrete-Event Control of Nondeterministic Systems Michael Heymann and Feng Lin, Member, IEEE Abstract Nondeterminism in discrete-event
More informationJan A. Bergstra and Alban Ponse. Informatics Institute, section Theory of Computer Science University of Amsterdam
Datatype defining rewrite systems for the ring of integers, and for natural and integer arithmetic in unary view arxiv:1608.06212v1 [cs.lo] 22 Aug 2016 Jan A. Bergstra and Alban Ponse Informatics Institute,
More informationFormal Methods for Java
Formal Methods for Java Lecture 12: Soundness of Sequent Calculus Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg June 12, 2017 Jochen Hoenicke (Software Engineering) Formal Methods
More informationCombining Propositional Dynamic Logic with Formal Concept Analysis
Proc. CS&P '06 Combining Propositional Dynamic Logic with Formal Concept Analysis (extended abstract) N.V. Shilov, N.O. Garanina, and I.S. Anureev A.P. Ershov Institute of Informatics Systems, Lavren ev
More informationConvergence in shape of Steiner symmetrized line segments. Arthur Korneychuk
Convergence in shape of Steiner symmetrized line segments by Arthur Korneychuk A thesis submitted in conformity with the requirements for the degree of Master of Science Graduate Department of Mathematics
More informationLecture 10: Live Sequence Charts Cont d
Softwaretechnik / Software-Engineering Lecture 10: Live Sequence Charts Cont d 2015-06-15 10 2015-06-15 main Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany
More informationSupplementary Notes on Inductive Definitions
Supplementary Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 29, 2002 These supplementary notes review the notion of an inductive definition
More informationTree sets. Reinhard Diestel
1 Tree sets Reinhard Diestel Abstract We study an abstract notion of tree structure which generalizes treedecompositions of graphs and matroids. Unlike tree-decompositions, which are too closely linked
More informationTheory of Computation
Thomas Zeugmann Hokkaido University Laboratory for Algorithmics http://www-alg.ist.hokudai.ac.jp/ thomas/toc/ Lecture 12: Turing Machines Turing Machines I After having dealt with partial recursive functions,
More informationTemporal 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 informationFirst Order Logic: Syntax and Semantics
irst Order Logic: Syntax and Semantics COMP30412 Sean Bechhofer sean.bechhofer@manchester.ac.uk Logic Recap You should already know the basics of irst Order Logic (OL) It s a prerequisite of this course!
More informationOn Real-time Monitoring with Imprecise Timestamps
On Real-time Monitoring with Imprecise Timestamps David Basin 1, Felix Klaedtke 2, Srdjan Marinovic 1, and Eugen Zălinescu 1 1 Institute of Information Security, ETH Zurich, Switzerland 2 NEC Europe Ltd.,
More informationA logical framework to deal with variability
A logical framework to deal with variability (research in progress) M.H. ter Beek joint work with P. Asirelli, A. Fantechi and S. Gnesi ISTI CNR Università di Firenze XXL project meeting Pisa, 21 June
More informationAxioms of Kleene Algebra
Introduction to Kleene Algebra Lecture 2 CS786 Spring 2004 January 28, 2004 Axioms of Kleene Algebra In this lecture we give the formal definition of a Kleene algebra and derive some basic consequences.
More informationLecture 9: Live Sequence Charts
Softwaretechnik / Software-Engineering Lecture 9: Live Sequence Charts 2017-06-19 Prof. Dr. Andreas Podelski, Dr. Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany 9 2017-06-19 main Topic Area
More informationPrinciples of Program Analysis: A Sampler of Approaches
Principles of Program Analysis: A Sampler of Approaches Transparencies based on Chapter 1 of the book: Flemming Nielson, Hanne Riis Nielson and Chris Hankin: Principles of Program Analysis Springer Verlag
More informationEmbedded systems specification and design
Embedded systems specification and design David Kendall David Kendall Embedded systems specification and design 1 / 21 Introduction Finite state machines (FSM) FSMs and Labelled Transition Systems FSMs
More informationCS422 - Programming Language Design
1 CS422 - Programming Language Design Denotational Semantics Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 Denotational semantics, also known as fix-point semantics,
More informationEcon Slides from Lecture 1
Econ 205 Sobel Econ 205 - Slides from Lecture 1 Joel Sobel August 23, 2010 Warning I can t start without assuming that something is common knowledge. You can find basic definitions of Sets and Set Operations
More informationTESTING is one of the most important parts of the
IEEE TRANSACTIONS 1 Generating Complete Controllable Test Suites for Distributed Testing Robert M. Hierons, Senior Member, IEEE Abstract A test suite is m-complete for finite state machine (FSM) M if it
More informationSoftware Engineering
Software Engineering Lecture 07: Design by Contract Peter Thiemann University of Freiburg, Germany 02.06.2014 Table of Contents Design by Contract Contracts for Procedural Programs Contracts for Object-Oriented
More informationNested Epistemic Logic Programs
Nested Epistemic Logic Programs Kewen Wang 1 and Yan Zhang 2 1 Griffith University, Australia k.wang@griffith.edu.au 2 University of Western Sydney yan@cit.uws.edu.au Abstract. Nested logic programs and
More informationLecture Notes on Data Abstraction
Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming
More informationMarketing Impact on Diffusion in Social Networks
Marketing Impact on Diffusion in Social Networks Pavel Naumov Vassar College, Poughkeepsie, New York, USA Jia Tao The College of New Jersey, Ewing, New Jersey, USA Abstract The article proposes a way to
More information