relating bip and reo
play

Relating BIP and Reo K. Dokter 1 S.-S.T.Q. Jongmans 1 F. Arbab 1 S. - PowerPoint PPT Presentation

Relating BIP and Reo K. Dokter 1 S.-S.T.Q. Jongmans 1 F. Arbab 1 S. Bliudze 2 1 Centrum Wiskunde & Informatica, Amsterdam, Netherlands 2 Ecole Polytechnique F ed erale de Lausanne, Lausanne, Switzerland ICE 2015 Simple


  1. Relating BIP and Reo K. Dokter 1 S.-S.T.Q. Jongmans 1 F. Arbab 1 S. Bliudze 2 1 Centrum Wiskunde & Informatica, Amsterdam, Netherlands 2 ´ Ecole Polytechnique F´ ed´ erale de Lausanne, Lausanne, Switzerland ICE 2015

  2. Simple producer-consumer example public static void Producer1(Port b) { b.put("Hello "); } public static void Producer2(Port c) { c.put("ICE!"); } public static void Consumer(Port a) { String s1 = a.get(); String s2 = a.get(); System.out.println(s1 + s2); }

  3. Simple producer-consumer example Coordination model a b c C P1 P2

  4. Simple producer-consumer example in Reo and BIP Reo connector • a b c C P1 P2 Interaction model a a’ b’ c’ b c C B P1 P2

  5. Simple producer-consumer example in Reo and BIP Reo connector • a b c C P1 P2 BIP architecture a a’ b’ c’ b c C B P1 P2

  6. Simple producer-consumer example in Reo and BIP Reo connector A { a , b , c } { a } a b c C P1 P2 BIP architecture A γ = {{ a , a ′ } , { b , b ′ , c , c ′ }} a a’ b’ c’ b c { a ′ } C P1 P2 { a ′ , b ′ , c ′ }

  7. Formal models of Reo and BIP Definition A port automaton is a tuple A = ( Q , N , → , q 0 ), where 1 Q is a set of states; 2 N is a finite set of ports; 3 → ⊆ Q × 2 N × Q is a transition relation; 4 q 0 ∈ Q is the initial state. Definition A BIP architecture is a tuple A = ( { B 1 , . . . , B n } , P , γ ), where 1 B = { B 1 , . . . , B n } is a set of coordinating components; 2 P is a set of ports; 3 γ ⊆ 2 P is the interaction model. such that P B i ∩ P B j = ∅ , for all 1 ≤ i < j ≤ n .

  8. Interpretation of Reo and BIP Let Reo be the class of all port automata; and BIP be the class of all BIP architectures; and LTS be the class of all labeled transition systems with labels in 2 P , for some finite set of ports P . We need to find the interpretations f and g in Reo BIP g f LTS

  9. Interpretation of Reo connectors Reo connector { a , b , c } { a } a b c C P1 P2 The Reo connector restricts possible synchronizations of ports in its domain (independent of the components connected to them). f : Reo → LTS f ( A ) = A

  10. Interpretation of BIP architectures Definition (Architecture application) If A = ( B , P , γ ) is a BIP architecture and C a set of components, such that S = ( B ∪ C , P ∪ P C , γ ) is a BIP architecture without dangling ports, then the application A ( C ) of A to C is the labeled transition system over 2 P ∪ P C that describes the behaviour of whole system S . g : BIP → LTS g ( A ) = ∃ P C : A ( { D A } ) where D A is a dummy component for A : a single state transition systems with a transition for every non-empty subset of dangling ports of A ; and ∃ P C hides ports from coordinating components.

  11. Our task Let Reo be the class of all port automata; let BIP be the class of all BIP architectures; and let LTS be the class of all labeled transition systems with labels in 2 P , for some finite set of ports P . bip Reo BIP reo g f LTS

  12. Translating Reo to BIP BIP architecture A Reo connector A { a , b , c } γ = {{ a , a ′ } , { b , b ′ , c , c ′ }} { a } a a’ b’ c’ b c a b c { a ′ } C P1 P2 C P1 P2 { a ′ , b ′ , c ′ } Let A be a port automaton over ports N . Let A be A with p replaced by p ′ , for all ports p of A . Let γ be the closure under set union of {∅} ∪ {{ p , p ′ } | p ∈ N} . Then, bip ( A ) = ( {A} , N ∪ N ′ , γ ), with N ′ = { p ′ | p ∈ N} .

  13. Translating BIP to Reo BIP architecture A γ = {{ a , a ′ } , { b , b ′ , c , c ′ }} { a , a ′ } { b , b ′ , c , c ′ } a a’ b’ c’ b c a a’ b’ c’ b c { a ′ } { a ′ } C P1 P2 C P1 P2 { a ′ , b ′ , c ′ } { a ′ , b ′ , c ′ } Let A = ( B , P , γ ) be a BIP architecture. Transform the interaction model into a port automaton A γ . Compose A γ with the coordinating components B i ∈ B , using composition ( ⋊ ⋉ ) of port automata. Hide all ports of the coordinating components B i ∈ B . Let reo ( A ) be the resulting port automaton.

  14. Main result bip Reo BIP reo g f LTS Theorem We have g ( bip ( A )) ∼ f ( reo ( A )) ∼ = f ( A ) = g ( A ) , and for all port automata A with q ∅ → q ′ iff q ′ = q and all BIP − ∅ → i q ′ i implies q ′ − i = q i , for all coordinating architectures A with q i components B i of A.

  15. Application to model checking bip Reo BIP reo g f LTS Corollary bip and reo preserve all properties closed under bisimulation, i.e., f ( A ) ∈ P ⇔ g ( bip ( A )) ∈ P g ( A ) ∈ P ⇔ f ( reo ( A )) ∈ P , and for all P ⊆ LTS closed under bisimulation, and all port automata A with q ∅ → q ′ iff q ′ = q and all BIP architectures A with q i ∅ → i q ′ − − i implies q ′ i = q i , for all coordinating components B i of A.

  16. Data sensitive models Reo introduces data by adding guards g to the label of a transition q N → q ′ . These guards relate the data observed at − the ports in N . BIP introduces data by extending each interaction { a 1 , . . . , a n } ∈ γ with a guard expression, that checks whether the data presented at the a i is eligible for synchronization; an upward data transfer function, that calculates a vector x from the data obtained from the ports a i ; a downward data transfer function, that outputs data at the a i , based upon the value of x . Labels of coordinating components (which are just interactions) are also enriched with data.

  17. Compositionality Theorem We have ⋉ A 2 )) ∼ g ( bip ( A 1 ⋊ = g ( reo ( A 1 ) ⋊ ⋉ reo ( A 2 )) and f ( reo ( A 1 ⊕ A 2 )) ∼ = f ( reo ( A 1 ) ⋊ ⋉ reo ( A 2 )) for all BIP architectures A i = ( C i , P i , γ i ) , with 1 q ∅ → q ′ ⇒ q ′ = q, for all coordinating components B ∈ C i ; − 2 P C 1 ∩ P 2 = P C 2 ∩ P 1 = ∅ ; and 3 ∅ ∈ γ 1 ∩ γ 2 . and for all port automata A i = ( Q i , N i , → i , q 0 , i ) , with ∅ → i q ′ i ⇔ q ′ − q i i = q i , for all i = 1 , 2 ;

  18. What can we learn? Commonalities: exogeneous coordination; multi-party synchronization. Differences: stateless vs. stateful coordination; composition of port automata versus architecture application and composition of BIP architectures; independent progress of silent transitions.

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