Theoretical Foundations of the UML Lecture 7: Communicating Finite-State Machines Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ss-20/fuml/ May 11, 2020 Joost-Pieter Katoen Theoretical Foundations of the UML 1/21
Outline 1 Introduction 2 Communicating Finite-State Machines 3 Semantics of Communicating Finite-State Machines 4 Emptiness Problem for CFMs Joost-Pieter Katoen Theoretical Foundations of the UML 2/21
Overview 1 Introduction 2 Communicating Finite-State Machines 3 Semantics of Communicating Finite-State Machines 4 Emptiness Problem for CFMs Joost-Pieter Katoen Theoretical Foundations of the UML 3/21
Specification to implementation (c) Specification of complete system consider MSGS . s as • a . of L ( g) set possible of scenarios set Mscs MSG g ← = . , - - infinite finite countably ( for the CMSG e.g . kakis Hanna ) example " obtain " question system realisation Central a can we i - - - L (g) possible that all in exhibits scenarios like ? " " look how do realisation such system First question , : of by behavior the each model a process - ) " automaton blood automaton finite C communicate unbounded Fifo via can processes - channels Joost-Pieter Katoen Theoretical Foundations of the UML 4/21
Specification to implementation Consider an MSGs as complete system specifications they describe a full set of possible system scenarios L ( G ) set of all possible scenarios = Joost-Pieter Katoen Theoretical Foundations of the UML 4/21
Specification to implementation Consider an MSGs as complete system specifications they describe a full set of possible system scenarios Can we obtain “realisations“ that exhibit precisely these scenarios? - lectures central question the next 3-4 in Joost-Pieter Katoen Theoretical Foundations of the UML 4/21
Specification to implementation Consider an MSGs as complete system specifications they describe a full set of possible system scenarios Can we obtain “realisations“ that exhibit precisely these scenarios? " k Map MSGs, i.e., scenarios onto an executable model p→q model each process by a finite-state automaton that communicate via unbounded directed FIFO channels - - - finite-state communicating (c) 1-7 MSG ) ( machine CFM a ,b a → p→ Joost-Pieter Katoen Theoretical Foundations of the UML 4/21
Specification to implementation Consider an MSGs as complete system specifications they describe a full set of possible system scenarios Can we obtain “realisations“ that exhibit precisely these scenarios? Map MSGs, i.e., scenarios onto an executable model model each process by a finite-state automaton that communicate via unbounded directed FIFO channels & Brand ⇒ This yields Communicating Finite-state Machines Zafiropou lov Joost-Pieter Katoen Theoretical Foundations of the UML 4/21
Intuition " " realisation I process process p Example a - a ) ! Cpi e. AOD ?Cqp,a ) → → " " of automaton " " local automaton p local of I A ) ( n stele initial global = , A ) } I CMSC { ( States final a global = a -→ 9- p - CFM if ← behavior accepts possible - of the CFM channels : all → a ① empty are -31 p a O e a . in ② we are g- → p A ) G. state not used M o - - Joost-Pieter Katoen Theoretical Foundations of the UML 5/21
Eixample process I process p ③ ② I → tb ?a . A ) ( global state initial n = , ( 2,13 ) } { Arial states global = -07 p I p - ae LE . . - . b a . L 8. • - a c " accepted " by > is the example CFM MSC Yannakakis ( ) example
The need for synchronisation messages want to realise Suppose we :-p I # µ I p find states c ) ) { ( 2. B) ( 3. I I D apgcessqcE7ieh@oToatoE.o A Process p Cfm : Otto y o A C 7 B 3 2 Joost-Pieter Katoen Theoretical Foundations of the UML 6/21
⇐ 9- I p p n left ← → b b " " left to informs whether Process go q process p " right " or , ( 0,0 ) ) { ( 0,0 ) Fe for Automaton process p : owe ⇐ do ⇐ For I process L the like deadlock in A cannot example previous Occur
Overview 1 Introduction 2 Communicating Finite-State Machines 3 Semantics of Communicating Finite-State Machines 4 Emptiness Problem for CFMs Joost-Pieter Katoen Theoretical Foundations of the UML 7/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C ( a. b. a Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C Definition (communication actions, channels) Act ! p := { !( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of send actions by process p Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C Definition (communication actions, channels) Act ! p := { !( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of send actions by process p Act ? p := { ?( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of receive actions by process p Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C Definition (communication actions, channels) Act ! p := { !( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of send actions by process p Act ? p := { ?( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of receive actions by process p Act p := Act ! p ∪ Act ? p Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C Definition (communication actions, channels) Act ! p := { !( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of send actions by process p Act ? p := { ?( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of receive actions by process p Act p := Act ! p ∪ Act ? p Act := � p ∈ P Act p Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Preliminaries Definition Let be a finite set of at least two (sequential) processes P be a finite set of message contents C Definition (communication actions, channels) Act ! p := { !( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of send actions by process p Act ? p := { ?( p, q, a ) | q ∈ P \ { p } , a ∈ C} the set of receive actions by process p Act p := Act ! p ∪ Act ? I ) ( P . p ordered Act := � p ∈ P Act p - , p ) ( a Ch := { ( p, q ) | p, q ∈ P , p � = q } “channels“ Joost-Pieter Katoen Theoretical Foundations of the UML 8/21
Communicating finite-state machines Definition A communicating finite-state machine (CFM) over P and C is a Sef of structure Anil global → steles A = ((( S p , ∆ p )) p ∈ P , D , s init , F ) " ( - ↳ where " " local initial global automaton state £719 synchronisation messages right ) ( e.g left , . Joost-Pieter Katoen Theoretical Foundations of the UML 9/21
Communicating finite-state machines Definition A communicating finite-state machine (CFM) over P and C is a structure A = ((( S p , ∆ p )) p ∈ P , D , s init , F ) e- g . where left , right - D is a nonempty finite set of synchronization messages (or data) → p s ′ instead of ( s, σ , m, s ′ ) ∈ ∆ p σ ,m We often write s − Joost-Pieter Katoen Theoretical Foundations of the UML 9/21
Communicating finite-state machines Definition A communicating finite-state machine (CFM) over P and C is a structure A = ((( S p , ∆ p )) p ∈ P , D , s init , F ) where D is a nonempty finite set of synchronization messages (or data) for each p ∈ P : S p is a non-empty finite set of local states (the S p are disjoint) ∆ p ⊆ S p × Act p × D × S p is a set of local transitions - ' ) a ) ( ' d Dp . Cp s e Og s . e. , , , E Aatp - → p s ′ instead of ( s, σ , m, s ′ ) ∈ ∆ p σ ,m We often write s − - Joost-Pieter Katoen Theoretical Foundations of the UML 9/21
Communicating finite-state machines Definition A communicating finite-state machine (CFM) over P and C is a structure A = ((( S p , ∆ p )) p ∈ P , D , s init , F ) where D is a nonempty finite set of synchronization messages (or data) for each p ∈ P : S p is a non-empty finite set of local states (the S p are disjoint) ∆ p ⊆ S p × Act p × D × S p is a set of local transitions s init ∈ S A is the global initial state P , I r , where S A := � p ∈ P S p is the set of global states of A ( p r ) I , , → p s ′ instead of ( s, σ , m, s ′ ) ∈ ∆ p σ ,m We often write s − Joost-Pieter Katoen Theoretical Foundations of the UML 9/21
Recommend
More recommend