the algebra of connectors — structuring interaction in...
TRANSCRIPT
![Page 1: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/1.jpg)
The Algebra of Connectors — Structuring
Interaction in BIP
Simon Bliudze, Joseph Sifakis
{bliudze, sifakis}@imag.fr
VERIMAG, Grenoble
1
![Page 2: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/2.jpg)
Presentation outline
• Overview of BIP
• Interactions and Connectors
• The Algebra of Connectors
• Applications
• Conclusion
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 2/30
![Page 3: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/3.jpg)
Motivation
• Develop a unified compositional framework for describing and analysing the
interaction between components
– interaction and system architecture — first class entities
– minimal set of constructs and principles
– tangible, well-founded, and organised concepts
(instead of using dispersed mechanisms such as semaphores, monitors, message
passing, remote call etc.)
– full separation of concerns: computation and coordination
• Encompass different kinds of heterogeneity
– strong and weak synchronisation,
– synchronous and asynchronous execution.
• Provide automated support for component integration and generation of glue
code.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 3/30
![Page 4: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/4.jpg)
Basic model of BIP
Priorities (conflict resolution)
Interactions (collaboration)
B E H A V I O U R
Layered component model
• Behaviour — labelled transition systems with communication ports
• Interaction — set of interactions (interaction = set of ports)
• Priorities — order on interactions
PM1
IM1 ||
PM2
IM2 =
PM1 ⊗ PM2 ⊗ PM12
IM1 ⊕ IM2 ⊕ IM12
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 4/30
![Page 5: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/5.jpg)
Rendezvous
Interactions: sr1r2r3
Priorities: ∅
s
s
r1
r1
r2
r2
r3
r3
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 5/30
![Page 6: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/6.jpg)
Broadcast
Interactions: s, sr1, sr2, sr3, sr1r2, sr1r3, sr2r3, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 6/30
![Page 7: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/7.jpg)
Atomic broadcast
Interactions: s, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 7/30
![Page 8: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/8.jpg)
Causality chain
Interactions: s, sr1, sr1r2, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 8/30
![Page 9: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/9.jpg)
Modulo-8 counter
Interactions: a, abc,abcde,abcdef
Priorities: x ≺ xy for xy interactions
a ab c cd e ef
a b c d e f
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 9/30
![Page 10: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/10.jpg)
Semantic model of BIP
A family of atomic components
{Bi}ni=1 with Bi = (Qi, 2
Pi ,→i)
A set of interactions γ ∈ 22P
−; πγ(B1, . . . , Bn) — product automaton
A strict partial order π on 2P.
P =Sn
i=1Pi
.
Interactions (n-ary strong synchronisation)
a ∈ γ ∧ ∀i ∈ I, qia∩Pi−→ i q′i
(q1, . . . , qn)a→γ (q′1, . . . , q
′n)
Priorities
qa→γ q′ ∧ 6 ∃ a′ : (a ≺ a′ ∧ q
a′
→γ)
qa→π q′
Other parallel composition operators (e.g. CCS, CSP) can be expressed in BIP.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 10/30
![Page 11: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/11.jpg)
Presentation outline
• Overview of BIP
• Interactions and Connectors
• The Algebra of Connectors
• Applications
• Conclusion
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 11/30
![Page 12: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/12.jpg)
The Algebra of Interactions AI(P )
Syntax: x ::= 0 | 1 | p | x · x | x + x | (x), with p ∈ P
Axioms:
+ union idempotent, associative, commutative, identity 0
· synchronisation idempotent, associative, commutative, identity 1, absorbing 0
distributes over union
Examples: s + s r1 + s r2 + s r1 r2 = s(1 + r1)(1 + r2) broadcast
s + s r1 + s r1 r2 = s(1 + r1(1 + r2)) causality chain
Semantics: defined by the function ‖ · ‖ : AI(P ) → 22P
‖0‖ = ∅,
‖1‖ = {∅},
‖p‖ =n
{p}o
, for any p ∈ P,
‖x1 + x2‖ = ‖x1‖ ∪ ‖x2‖, for any x1, x2 ∈ AI(P ),
‖x1 · x2‖ =n
a1 ∪ a2
˛
˛
˛ a1 ∈ ‖x1‖, a2 ∈ ‖x2‖o
, for any x1, x2 ∈ AI(P ) .
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 12/30
![Page 13: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/13.jpg)
Correspondence with boolean functions
AI(P ) B[P ]
0 false
1 p q p q p q p q p q p q
p + 1 q + 1 p q + 1 p + q p + p q q + p q q p p q ∨ p q p q ∨ p q p q
p + q + 1 p q + p + 1 p q + q + 1 p q + p + q p ∨ q p ∨ q p ∨ q p ∨ q
p q + p + q + 1 true
Boolean function representation depends on the set P :
AI(P ) : p q
p q , if P = {p, q}
p q r s , if P = {p, q, r, s}
Synchronisation in AI(P ) is represented by simple concatenation
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 13/30
![Page 14: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/14.jpg)
Interaction modelling: Basic connectors
• A connector is a set of ports which can be involved in an interaction.
• Port attributes (trigger ∆, synchron ©) determine the synchronisation
type.
• An interaction in a connector is a subset of ports such that either it
contains a trigger or it is maximal.
s r1 r2
tick1 tick2 tick3
s + sr1 + sr2 + sr1r2
tick1 tick2 tick3
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 14/30
![Page 15: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/15.jpg)
Interaction modelling: Flat connectors
Rendezvous
Interactions: sr1r2r3
Priorities: ∅
s
s
r1
r1
r2
r2
r3
r3
s r1 r2 r3
sr1r2r3
Broadcast
Interactions: s, sr1, sr2, sr3, sr1r2, sr1r3, sr2r3, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
s r1 r2 r3
s + sr1 + sr2 + · · · + sr1r2r3
.
s(1 + r1)(1 + r2)(1 + r3).
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 15/30
![Page 16: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/16.jpg)
Interaction modelling: Hierarchical connectors
Atomic boadcast
Interactions: s, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
s r1 r2 r3
r1r2r3
s + sr1r2r3
.
s(1 + r1r2r3).
Causality chain
Interactions: s, sr1, sr1r2, sr1r2r3
Priorities: x ≺ xy for xy interactions
s
s
r1
r1
r2
r2
r3
r3
r2 r3
r2 + r2r3
r1
r1 + r1r2 + r1r2r3
s
s + sr1 + sr1r2 + sr1r2r3
.
s“
1 + r1(1 + r2(1 + r3))”.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 16/30
![Page 17: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/17.jpg)
Presentation outline
• Overview of BIP
• Interactions and Connectors
• The Algebra of Connectors
• Applications
• Conclusion
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 17/30
![Page 18: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/18.jpg)
The Algebra of Connectors AC(P )
Syntax:
s ::= [0] | [1] | [p] | [x] (synchrons)
t ::= [0]′ | [1]′ | [p]′ | [x]′ (triggers)
x ::= s | t | x · x | x + x | (x)
Operators:
+ union idempotent, associative, commutative, identity [0]
· fusion idempotent, associative, commutative, identity [1]
distributes over union ([0] is not absorbing)
[·], [·]′ typing (often denoted [·]α for some trigger/synchron typing α)
Semantics: is given by a function | · | : AC(P ) → AI(P ).
|p′qr|
def= p(1 + q)(1 + r)
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 18/30
![Page 19: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/19.jpg)
Examples
Rendezvous
s r1 r2 r3
sr1r2r3 sr1r2r3
Broadcast
s r1 r2 r3
s + sr1 + sr2 + · · · + sr1r2r3 s′r1r2r3
Atomic boadcast
s r1 r2 r3
r1r2r3
s + sr1r2r3 s′[r1r2r3]
Causality chain
r2 r3
r2 + r2r3
r1
r1 + r1r2 + r1r2r3
s
s + sr1 + sr1r2 + sr1r2r3 s′h
r′1[r′2r3]
i
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 19/30
![Page 20: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/20.jpg)
Examples: Fusion vs. Typing
Consider two connectors: x = p′1 p2 and y = p′
3 p4.
Fusion “Typed fusion”
p1 p2 p3 p4 p1 p2 p3 p4
xy = p′1 p2 p′
3 p4 [x]′[y] =h
p′1 p2
i′ h
p′3 p4
i
xy ; p1 + p1 p2 + p1 p3 + p1 p4 + p1 p2 p3 + p1 p2 p4 + p1 p3 p4
+ p3 + p2 p3 + p3 p4 + p2 p3 p4 + p1 p2 p3 p4
[x]′[y] ; p1 + p1 p2 + p1 p3 + p1 p2 p3 + p1 p3 p4 + p1 p2 p3 p4
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 20/30
![Page 21: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/21.jpg)
The axioms of AC(P ): Typing
Axioms for typing (for arbitrary typing α, β):
1. [0]′ = [0],
2.h
[x]αiβ
= [x]β ,
3. [x + y]α = [y]α + [x]α,
4. [x]′ · [y]′ = [x]′ · [y] + [x] · [y]′.
p=
p
p + q
=
p
+
q
p q
=
p q
+
p q
Fusion of typed connectors is not associative, e.g.
[p q] r 6= p [q r]p q r
6=
p q r
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 21/30
![Page 22: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/22.jpg)
Equivalence of connectors
x ≃ ydef⇐⇒ |x| = |y|, i.e. they represent the same sets of interactions.
• The axiomatisation of AC(P ) is sematically sound, i.e. x = y ⇒ x ≃ y.
• Semantic equivalence is not a congruence (not preserved by fusion)
p + pq ≃ p′q, but pr + pqr 6≃ p′qr.
≃ p + pq + pr + pqr.
,
p[qr] ≃ [pq]r, but s′p[qr] 6≃ s′[pq]r .
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 22/30
![Page 23: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/23.jpg)
Congruence of connectors
∼= is the largest congruence contained in ≃
• A criterion to infer congruence from equivalence is available.
• Similarly typed semantically equivalent elements are congruent, i.e. for any
two connectors x, y ∈ AC(P ), and any typing α, we have
x ≃ y =⇒ [x]α ∼= [y]α .
• Zero is not absorbing: [x]′[0] ∼= [x]′p 0
∼=p
• Congruent normal form: the union of all triggered, maximal, and potential
interactions
p′q ∼= p′ + [pq]′ +0q ≃ p + pq
p′qr ∼= p′r + [pq]′r +0qr ≃ p + pq + pr + pqr
p′qr′ ∼= p′r′ + [pq]′r′ +0qr′ ≃ p + pq + pr + pqr + r + qr
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 23/30
![Page 24: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/24.jpg)
Presentation outline
• Overview of BIP
• Interactions and Connectors
• The Algebra of Connectors
• Applications
• Conclusion
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 24/30
![Page 25: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/25.jpg)
Incrementality & transformation of connectors
Incremental construction
s r1 r2 r3
≃
s r1
r2
r3≃
s r1 r2 r3
Transformation (separate one port in a connector)
s r1 rn
≃
sr1 rn
p qr
≃p
q r
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 25/30
![Page 26: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/26.jpg)
Connector synthesis: Modulo-8 counter
Multi-shot semantics: several connectors can be fired simultaneously
a
ab
c
cd
e
efa b c d e f
Interactions: a + abc + abcde + abcdef
One-shot semantics: one connector can be fired at a time
Connector synthesis:h
a+abi′h
c+ cdi′h
e+efi′
∩a′[bc]′[de]′f ′ ≃ a
′h
[bc]′h
[de]′fii
.
a
ab
c
cd
e
efa b c d e f
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 26/30
![Page 27: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/27.jpg)
Presentation outline
• Overview of BIP
• Interactions and Connectors
• The Algebra of Connectors
• Applications
• Conclusion
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 27/30
![Page 28: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/28.jpg)
The BIP framework: Implementation
BIP/Linux
Platform
BIP C++ Code
centralised or
distributed
execution,
guided or
exhaustive
simulation
BIP/Think
Platform
BIP C Code centralised
execution (on
bare machines)
code generation
BIP Model
BIP MetaModel
model
transformations
static composition
timed vs. untimed
structural
analysis
deadlock detection
invariant generation
compiler
BIP program
eclipse
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 28/30
![Page 29: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/29.jpg)
Conclusion
The algebra of connectors
• Allows compact and structured description and analysis of interactions, in
terms of two operators admitting a very intuitive interpretation: typing and
fusion.
• Not a process algebra: these do not study interactions as such, but only
as means to compose behaviour.
• Provides basis for the symbolic comparison, transformation, and synthesis of
connectors, which can be directly implemented.
• Boolean representation provides powerful techniques for manipulation,
implementation, and synthesis.
• Application in BIP to model interaction in non trivial case studies, e.g.
TinyOS-based wireless networks, autonomous robot software.
http://www-verimag.imag.fr/~async/BIP/bip.html
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 29/30
![Page 30: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/30.jpg)
Perspectives
• Causal semantics for AC(P )
• Temporised connectors
• Algebraic approach to constraints and priorities
• Application to other formalisms encompassing event-based interaction, in
particular coordination languages
• Efficient implementation in future versions of BIP.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” 30/30
![Page 31: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/31.jpg)
Annex: Correspondence with boolean functions
A mapping β : AI(P ) → B[P ]
β(0) = false ,
β(pi1 . . . pik) =
k̂
j=1
pij∧
^
i6∈{ij}
pi , for any pi1 , . . . pik∈ P ,
β(x + y) = β(x) ∨ β(y) , for any x, y ∈ AI(P ) ,
β(1) =^
p∈P
p ,
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” annex
![Page 32: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/32.jpg)
Annex: Semantics of AC(P )
The semantics of AC(P ) is given by the function | · | : AC(P ) → AI(P ), defined
by the rules
|[p]| = p , for p ∈ P ∪ {0, 1}
|x1 + x2| = |x1| + |x2| ,˛
˛
˛
nY
i=1
[xi]˛
˛
˛ =
nY
i=1
|xk| ,
˛
˛
˛
nY
i=1
[xi]′ ·
mY
j=1
[yj ]˛
˛
˛ =n
X
i=1
|xi| ·
0
@
Y
k 6=i
“
1 + |xk|”
·m
Y
j=1
“
1 + |yj |”
1
A ,
for x, x1, . . . , xn, y1, . . . , ym ∈ AC(P ).
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” annex
![Page 33: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/33.jpg)
Annex: Characterisation of ∼=
Th 1 For x, y ∈ AC(P ), we have
x ∼= y ⇐⇒
8
>
>
>
<
>
>
>
:
x ≃ y
x · 1′ ≃ y · 1′
#x > 0 ⇔ #y > 0 .
#x is the number of top-level triggers in x.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” annex
![Page 34: The Algebra of Connectors — Structuring Interaction in BIPliberti/cal07/presentations/bliudze-cal07.pdf · Interactions: s,sr1,sr2,sr3,sr1r2,sr1r3,sr2r3,sr1r2r3 Priorities: x ≺](https://reader034.vdocuments.us/reader034/viewer/2022042912/5f460483dc70d840cf5c6139/html5/thumbnails/34.jpg)
Annex: Full axiomatisation of ∼=
For x, y, z ∈ AC(P ) and arbitrary typing α, β:
Basic:
1. [0]′ = [0],
2.h
[x]αiβ
= [x]β ,
3. [x + y]α = [y]α + [x]α,
Additional:
1. [x]′ [0] = [x]′,
2.h
[x] [0]i
= [0],
3. [x]′ + [x] = [x]′,
4. [x]′ [y]′ = [x]′ [y] + [y]′,
5. [x]′ [y] [z] = [x]′h
[y]′ [z]′i
,
6. [x]′ [y] =h
[x]′ [y]i′
+ [0] [y],
7. [x] [y] =h
[x] [y]i
+ [0] [x] [y],
8.h
[x]′ [y]i
= [x] +h
[x] [y]i
,
9.hh
[x] [y]i
[z]i
=h
[x] [y] [z]i
.
CAL’07, 04/10/2007 S. Bliudze, J. Sifakis “The Algebra of Connectors — Structuring Interaction in BIP” annex