theoretical foundations of the uml
play

Theoretical Foundations of the UML Lecture 5+6: Compositional - PowerPoint PPT Presentation

Theoretical Foundations of the UML Lecture 5+6: Compositional Message Sequence Graphs Joost-Pieter Katoen Lehrstuhl fr Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ss-20/fuml/ May 4, 2020 Joost-Pieter


  1. Theoretical Foundations of the UML Lecture 5+6: Compositional Message Sequence Graphs Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group moves.rwth-aachen.de/teaching/ss-20/fuml/ May 4, 2020 Joost-Pieter Katoen Theoretical Foundations of the UML 1/29

  2. Outline motivation - A non-decomposable MSC 1 ! r 9- p - - Hot - - Compositional Message Sequence Charts 2 E e - - - Compositional Message Sequence Graphs 3 Safe Compositional Message Sequence Graphs 4 Undecidable Existence of Safe Paths 5 } two decision problem , decidable Universality of Safe Paths 6 Joost-Pieter Katoen Theoretical Foundations of the UML 2/29

  3. Overview A non-decomposable MSC 1 Compositional Message Sequence Charts 2 Compositional Message Sequence Graphs 3 Safe Compositional Message Sequence Graphs 4 Existence of Safe Paths 5 Universality of Safe Paths 6 Joost-Pieter Katoen Theoretical Foundations of the UML 3/29

  4. An MSC that cannot be decomposed [Yannakakis 1999] . c- → Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  5. An MSC that cannot be decomposed [Yannakakis 1999] This MSC cannot be decomposed as M 1 • M 2 • . . . • M n for n > 1 e , ez :L " : ? • e. fee : M Mz I = Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  6. An MSC that cannot be decomposed [Yannakakis 1999] This MSC cannot be decomposed as M 1 • M 2 • . . . • M n for n > 1 • This can be seen as follows: • e 1 and e 2 = m ( e 1 ) must both belong to M 1 Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  7. An MSC that cannot be decomposed [Yannakakis 1999] This MSC cannot be decomposed as M 1 • M 2 • . . . • M n for n > 1 • : This can be seen as follows: O e 1 and e 2 = m ( e 1 ) must both belong to M 1 e 3 � e 2 and e 1 � e 4 thus e 3 , e 4 / 2 M j , for j < 1 and j > 1 = ) e 3 , e 4 must belong to M 1 Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  8. An MSC that cannot be decomposed [Yannakakis 1999] This MSC cannot be decomposed as M 1 • M 2 • . . . • M n for n > 1 • O This can be seen as follows: O • • e 1 and e 2 = m ( e 1 ) must both belong to M 1 • O Or • e 3 � e 2 and e 1 � e 4 thus : G e 3 , e 4 / 2 M j , for j < 1 and j > 1 = ) e 3 , e 4 must belong to M 1 by similar reasoning: e 5 , e 6 2 M 1 etc. Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  9. An MSC that cannot be decomposed [Yannakakis 1999] This MSC cannot be decomposed as DIT MSG M 1 • M 2 • . . . • M n for n > 1 • This can be seen as follows: • e 1 and e 2 = m ( e 1 ) must both belong to M 1 - e 3 � e 2 and e 1 � e 4 thus e 3 , e 4 / 2 M j , for j < 1 and j > 1 = ) e 3 , e 4 must belong to M 1 by similar reasoning: e 5 , e 6 2 M 1 etc. Problem: Compulsory matching between send and receive events in the same MSG vertex (i.e., send e and receive m ( e ) must belong to the same MSC). Joost-Pieter Katoen Theoretical Foundations of the UML 4/29

  10. Overview matching compulsory - and A non-decomposable MSC between send 1 within receive events Compositional Message Sequence Charts 2 the MSC is same relaxed Compositional Message Sequence Graphs 3 - Safe Compositional Message Sequence Graphs 4 Existence of Safe Paths 5 Universality of Safe Paths 6 Joost-Pieter Katoen Theoretical Foundations of the UML 5/29

  11. Compositional MSCs [Gunter, Muscholl, Peled 2001] Solution: drop restriction that e and m ( e ) belong to the same MSC n - (= allow for incomplete message transfer) ( a- p " { - - ÷ → Msc one e . Joost-Pieter Katoen Theoretical Foundations of the UML 6/29

  12. Compositional MSCs [Gunter, Muscholl, Peled 2001] Solution: drop restriction that e and m ( e ) belong to the same MSC (= allow for incomplete message transfer) Definition (Compositional MSC) M = ( P , E, C , l, m, � ) is a compositional MSC (CMSC, for short) where P , E, C and l are defined as before, and es ! \ ⇐ labeling at arm ) message ! G. e e → , content ? ftp.m ) Joost-Pieter Katoen Theoretical Foundations of the UML 6/29

  13. Compositional MSCs [Gunter, Muscholl, Peled 2001] Solution: drop restriction that e and m ( e ) belong to the same MSC (= allow for incomplete message transfer) Definition (Compositional MSC) - ( M = ( P , E, C , l, m, � ) is a compositional MSC (CMSC, for short) where P , E, C and l are defined as before, and m : E ! ! E ? is a partial, injective function such that (as before): - ? - - - ( m ( e ) = e 0 ^ l ( e ) = !( p, q, a ) l ( e 0 ) = ?( q, p, a ) implies - - - - - - - - bijection in Mses it is a , Anatto total it in Msas is a EE injective , ez ! e , rule , ) -4 mlez ) He ⇒ e. , Joost-Pieter Katoen Theoretical Foundations of the UML 6/29

  14. Compositional MSCs [Gunter, Muscholl, Peled 2001] Solution: drop restriction that e and m ( e ) belong to the same MSC (= allow for incomplete message transfer) Definition (Compositional MSC) M = ( P , E, C , l, m, � ) is a compositional MSC (CMSC, for short) where P , E, C and l are defined as before, and m : E ! ! E ? is a partial, injective function such that (as before): m ( e ) = e 0 ^ l ( e ) = !( p, q, a ) l ( e 0 ) = ?( q, p, a ) implies C- I �S � ⇤ * - � = p 2 P < p { ( e, m ( e )) | e 2 dom ( m ) } [ | {z } - - domain of m vertical | {z } ordering “ m ( e ) is defined” - horizontal ordering Joost-Pieter Katoen Theoretical Foundations of the UML 6/29

  15. Compositional MSCs [Gunter, Muscholl, Peled 2001] Solution: drop restriction that e and m ( e ) belong to the same MSC (= allow for incomplete message transfer) Definition (Compositional MSC) M = ( P , E, C , l, m, � ) is a compositional MSC (CMSC, for short) where P , E, C and l are defined as before, and m : E ! ! E ? is a partial, injective function such that (as before): m ( e ) = e 0 ^ l ( e ) = !( p, q, a ) l ( e 0 ) = ?( q, p, a ) implies �S � ⇤ � = p 2 P < p { ( e, m ( e )) | e 2 dom ( m ) } [ | {z } domain of m | {z } “ m ( e ) is defined” Note: An MSC is a CMSC where m is total and bijective. Joost-Pieter Katoen Theoretical Foundations of the UML 6/29

  16. CMSC example m ( e 2 ) = e 3 ÷ e 1 / 2 dom ( m ) e 4 / 2 rng ( m ) . . . Joost-Pieter Katoen Theoretical Foundations of the UML 7/29

  17. Concatenation of CMSCs (1) the of set cozy ; bond # Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } - be CMSCs with E 1 \ E 2 = ∅ " " ' Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

  18. Concatenation of CMSCs (1) Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } be CMSCs with E 1 \ E 2 = ∅ The concatenation of CMSCs M 1 and M 2 is the CMSC - M 1 • M 2 = ( P 1 [ P 2 , E, C 1 [ C 2 , l, m, � ) with: - - Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

  19. Concatenation of CMSCs (1) Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } be CMSCs with E 1 \ E 2 = ∅ The concatenation of CMSCs M 1 and M 2 is the CMSC M 1 • M 2 = ( P 1 [ P 2 , E, C 1 [ C 2 , l, m, � ) with: E = E 1 [ E 2 for } the as all same of l ( e ) = l 1 ( e ) if e 2 E 1 , l 2 ( e ) otherwise MSCS concatenation . - - - Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

  20. Concatenation of CMSCs (1) Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } be CMSCs with E 1 \ E 2 = ∅ The concatenation of CMSCs M 1 and M 2 is the CMSC M 1 • M 2 = ( P 1 [ P 2 , E, C 1 [ C 2 , l, m, � ) with: E = E 1 [ E 2 l ( e ) = l 1 ( e ) if e 2 E 1 , l 2 ( e ) otherwise m ( e ) = E ! ! E ? satisfies: m extends m 1 and m 2 , i.e., e 2 dom ( m i ) implies m ( e ) = m i ( e ) 1 for for ohioh defined E events is is my . , event the remains the matching same Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

  21. Concatenation of CMSCs (1) Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } be CMSCs with E 1 \ E 2 = ∅ The concatenation of CMSCs M 1 and M 2 is the CMSC :* I M 1 • M 2 = ( P 1 [ P 2 , E, C 1 [ C 2 , l, m, � ) with: i E = E 1 [ E 2 I . l ( e ) = l 1 ( e ) if e 2 E 1 , l 2 ( e ) otherwise m ( e ) = E ! ! E ? satisfies: I ng m extends m 1 and m 2 , i.e., e 2 dom ( m i ) implies m ( e ) = m i ( e ) 1 m matches unmatched send events in M 1 with unmatched 2 receive events in M 2 according to order on process (matching from top to bottom) Me Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

  22. Concatenation of CMSCs (1) Let M i = ( P i , E i , C i , l i , m i , � i ) 2 CM i 2 { 1 , 2 } be CMSCs with E 1 \ E 2 = ∅ The concatenation of CMSCs M 1 and M 2 is the CMSC M 1 • M 2 = ( P 1 [ P 2 , E, C 1 [ C 2 , l, m, � ) with: E = E 1 [ E 2 l ( e ) = l 1 ( e ) if e 2 E 1 , l 2 ( e ) otherwise m ( e ) = E ! ! E ? satisfies: m extends m 1 and m 2 , i.e., e 2 dom ( m i ) implies m ( e ) = m i ( e ) 1 m matches unmatched send events in M 1 with unmatched 2 receive events in M 2 according to order on process (matching from top to bottom) the k -th unmatched send in M 1 is matched with the k -th unmatched receive in M 2 (of the same “type”) I " - ¥ It content • message same / • → to receiver gender corresponds p Joost-Pieter Katoen Theoretical Foundations of the UML 8/29

Recommend


More recommend