the algebra of connectors — structuring interaction in...

34
The Algebra of Connectors — Structuring Interaction in BIP Simon Bliudze, Joseph Sifakis {bliudze, sifakis}@imag.fr VERIMAG, Grenoble 1

Upload: others

Post on 14-Jul-2020

5 views

Category:

Documents


0 download

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

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 ≺

Annex: Correspondence with boolean functions

A mapping β : AI(P ) → B[P ]

β(0) = false ,

β(pi1 . . . pik) =

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 ≺

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 ≺

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 ≺

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