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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend