System Validation: Describing (Multi-)actions Mohammad Mousavi and Jeroen Keiren General Overview System Models System Requirements Behavior (Processes) Semantic Domain 2/1 From Processes to Their Algebra Motivation I Graphical representation is monstrously big 3/1 From Processes to Their Algebra Motivation I Graphical representation is monstrously big I Manipulating and analyzing the graphical representation is virtually impossible 3/1 From Processes to Their Algebra Motivation I Graphical representation is monstrously big I Manipulating and analyzing the graphical representation is virtually impossible Solution Use a compact textual presentation and algebraic rules for manipulating them 3/1 Actions I I Atomic building blocks of processes May represent: I I I I I internal activities sending messages receiving messages the result of a synchronization May take parameters, typically denoted by a(d) of any Abstract Data Type 4/1 Actions Examples I act rcv coin: Euro; rcv coin(one euro) 5/1 Actions Examples I act rcv coin: Euro; rcv coin(one euro) I act snd number,rcv number: snd number (1 ) Nat; 5/1 Actions Examples I act rcv coin: Euro; rcv coin(one euro) I act snd number,rcv number: snd number (1 ) I act ack number: Bool # Nat; ack number (true, 42 ) Nat; 5/1 Actions Examples I act rcv coin: Euro; rcv coin(one euro) I act snd number,rcv number: snd number (1 ) I act ack number: Bool # Nat; ack number (true, 42 ) Nat; Note Actions are not functions or procedures, in the programming languages’ sense 5/1 Multi-Actions I A number of actions happening at the same time receive(d) | send(d) 6/1 Multi-Actions I I A number of actions happening at the same time receive(d) | send(d) Types of multi-actions: 6/1 Multi-Actions I I A number of actions happening at the same time receive(d) | send(d) Types of multi-actions: I τ internal (invisible) action 6/1 Multi-Actions I I A number of actions happening at the same time receive(d) | send(d) Types of multi-actions: I I τ internal (invisible) action a unparameterised action 6/1 Multi-Actions I I A number of actions happening at the same time receive(d) | send(d) Types of multi-actions: I I I τ internal (invisible) action a unparameterised action ~ action with parameters a(d) 6/1 Multi-Actions I I A number of actions happening at the same time receive(d) | send(d) Types of multi-actions: I I I I τ internal (invisible) action a unparameterised action ~ action with parameters a(d) α | β composite multi-action consisting of α and β 6/1 Basic Axioms for Multi-Actions Axioms for multi-actions used in reasoning about processes MA1 MA2 MA3 α|β = β |α (α | β) | γ = α |(β | γ) α|τ = α Example receive(d) | send(d) = send(d) | receive(d) | τ by MA1 and MA3 7/1 Reasoning about multi-actions Modelling of communication requires reasoning rules for multi-actions. 8/1 Reasoning about multi-actions Modelling of communication requires reasoning rules for multi-actions. Example If send | receive communicate to comm we need rules to do transformation 8/1 Reasoning about multi-actions Modelling of communication requires reasoning rules for multi-actions. Example If send | receive communicate to comm we need rules to do transformation Auxiliary operators: I Removal of multi-actions α \ β 8/1 Reasoning about multi-actions Modelling of communication requires reasoning rules for multi-actions. Example If send | receive communicate to comm we need rules to do transformation Auxiliary operators: I Removal of multi-actions α \ β I Inclusion between multi-action α v β 8/1 Reasoning about multi-actions Modelling of communication requires reasoning rules for multi-actions. Example If send | receive communicate to comm we need rules to do transformation Auxiliary operators: I Removal of multi-actions α \ β I Inclusion between multi-action α v β I Stripping data off α 8/1 Axioms for Removal of Multi-Actions α \ β MD1 MD2 MD3 MD4 MD5 τ \α=τ α\τ =α α \ (β | γ) = (α \ β) \ γ (a(d) | α) \ a(d) = α (a(d) | α) \ b(e) = a(d) |(α \ b(e)) if a 6≡ b or d 6≈ e Example I (send(d)|error |receive(d))\(send(d)|receive(d)) = error I a\a=τ 9/1 Axioms for Inclusion of Multi-Actions α v β MS1 MS2 MS3 MS4 τ v α = true a v τ = false a(d) | α v a(d) | β = α v β a(d) | α v b(e) | β = a(d) |(α \ b(e)) v β if a 6≡ b or d 6≈ e Example I a(1) v a(1)|b(2) = true I a(1) v b(2) = false 10 / 1 Multi-Actions Axioms for Stripping Data Off Multi-Actions α MAN1 MAN2 MAN3 τ =τ a(d) = a α|β = α|β Example ack number (true, 42 ) | error MAN3 = ack number (true, 42 ) | error MAN2 = ack number | error 11 / 1 Example Show using the axioms that (b | a(d)) \ a(d) = b (b | a(d)) \ a(d) 12 / 1 Example Show using the axioms that (b | a(d)) \ a(d) = b (b | a(d)) \ a(d) MA1 α|β = β |α 12 / 1 Example Show using the axioms that (b | a(d)) \ a(d) = b MA1 (b | a(d)) \ a(d) = (a(d) | b) \ a(d) MA1 α|β = β |α 12 / 1 Example Show using the axioms that (b | a(d)) \ a(d) = b MA1 (b | a(d)) \ a(d) = (a(d) | b) \ a(d) MD4 (a(d) | α) \ a(d) = α 12 / 1 Example Show using the axioms that (b | a(d)) \ a(d) = b MA1 (b | a(d)) \ a(d) = (a(d) | b) \ a(d) MD4 = b MD4 (a(d) | α) \ a(d) = α 12 / 1 General Overview System Models System Requirements Behavior (Processes) Semantic Domain 13 / 1 Thank you very much. 14 / 1
© Copyright 2026 Paperzz