Modeling Component- -based based Modeling Component Systems in - - PowerPoint PPT Presentation

modeling component based based modeling component systems
SMART_READER_LITE
LIVE PREVIEW

Modeling Component- -based based Modeling Component Systems in - - PowerPoint PPT Presentation

Modeling Component- -based based Modeling Component Systems in BIP Systems in BIP ETR 2007 ETR 2007 Nantes, Sept. 2007 Nantes, Sept. 2007 Joseph Sifakis VERIMAG sifakis@imag.fr In collaboration with G. Goessler (INRIA), A. Basu, M.


slide-1
SLIDE 1

1

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Modeling Component Modeling Component-

  • based

based Systems in BIP Systems in BIP

ETR 2007 ETR 2007

Nantes, Sept. 2007 Nantes, Sept. 2007

Joseph Sifakis VERIMAG

sifakis@imag.fr

In collaboration with G. Goessler (INRIA),

  • A. Basu, M. Bozga, H. Nguyen (Verimag)
slide-2
SLIDE 2

2

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Component Component-

  • based construction

based construction – – Objectives Objectives Develop a rigorous and general basis for real-time system design and implementation

  • Concept of component and associated composition operators for

incremental description and correctness by construction

  • Concept for real-time architecture encompassing heterogeneity,

paradigms and styles of computation e.g.

  • Synchronous vs. asynchronous execution
  • Event driven vs. time driven computation
  • Distributed vs. centralized execution
  • Automated support for component integration and generation of glue

code meeting given requirements

slide-3
SLIDE 3

3

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Approches involving components Approches involving components

  • Theory such as process algebras and automata
  • SW Component frameworks, such as

Coordination languages extensions of programming languages : Linda, Javaspaces, TSpaces, Concurrent Fortran, NesC, BPEL Middleware e.g. Corba, Javabeans, .NET Software development environments: PCTE, SWbus, Softbench, Eclipse

  • System modeling languages: SystemC, Statecharts, UML, Simulink/Stateflow,

Metropolis, Ptolemy

  • Architecture Description Languages focusing on non-functional aspects e.g. AADL

Lack of

  • frameworks treating interactions and system architecture as first class entities that

can be composed and analyzed (usually, interaction by method call)

  • rigorous models for behavior and in particular aspects related to time and

resources.

slide-4
SLIDE 4

4

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Sources of Sources of heterogeneity heterogeneity [Henzinger&Sifakis FM06]

[Henzinger&Sifakis FM06]

Heterogeneity of interaction

  • Atomic or non atomic
  • Rendezvous or Broadcast
  • Binary or n-ary

Heterogeneity of execution

  • Synchronous execution
  • Asynchronous execution
  • Combinations of them

Heterogeneity of abstraction e.g. granularity of execution

slide-5
SLIDE 5

5

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Sources of Sources of Heterogeneity

Heterogeneity -

  • Example

Example Synchronous Computation Asynchronous Computation A R nonA R A B nonA B Lotos CSP Java UML SDL UML Matlab/Simulink VHDL, Statecharts, Synchronous languages

A: Atomic interaction R: Rendezvous B: Broadcast

slide-6
SLIDE 6

6

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-7
SLIDE 7

7

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Component Component-

  • based Construction: The Problem

based Construction: The Problem

Pb: Build a component C satisfying a given property P, from

  • C0 a set of atomic components
  • GL ={gl1, …, gli, …} a set of glue operators on components

c1 c’1

gl1

c2 c’2

gl12

sat P

gl2

Glue operators

  • model mechanisms used for communication and control such as protocols,

schedulers, buses

  • restrict the behavior of their arguments, that is the projection of the

behavior of gl(C1 ,C2 ,.,Cn) on actions of C1 is contained in the behavior of C1

slide-8
SLIDE 8

8

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

B1

gl

B2 Bn

Component Component-

  • based Construction

based Construction: : Formal Formal Framework Framework Operational Semantics: the meaning of a compound component is an atomic component Operational Semantics

B

Algebraic framework:

  • Components are terms of an algebra of terms (C, ≅ ) generated from

C0 by using operators from GL

  • ≅ is a congruence compatible with operational semantics
slide-9
SLIDE 9

9

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

c1 c’1 c2 c’2

gl

c2 c’2

gl2

c1 c’1

gl1

  • 2. Flattening

Component Component-

  • based Construction

based Construction: : Constructivity Constructivity – – Incremental Incremental description description gl1

  • 1. Decomposition

gl C1 C2 Cn

≅ ≅

Flattening can be achieved by introducing an idempotent operation ⊕ such that (GL, ⊕) is a commutative monoid and gl(gl’(C1 ,C2 ,.., Cn)) ≅ gl⊕gl’(C1 ,C2 ,.., Cn ) gl2 C2 Cn C1

slide-10
SLIDE 10

10

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Component Component-

  • based Construction

based Construction: : Constructivity Constructivity – – Compositionality Compositionality Build correct systems from correct components: rules for proving global properties from properties of individual components We need compositionality results about preservation of progress properties such as deadlock-freedom and liveness and extra-functional properties

☺ ☺

gl

ci

sat Pi implies ∀gl ∃gl

~

sat gl(P1, ..,Pn)

gl

c1 cn

~

slide-11
SLIDE 11

11

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Component Component-

  • based Construction

based Construction: : Constructivity Constructivity –

– Composability

Composability Make the new without breaking the old: Rules guaranteeing non interference of solutions

gl

☺ ☺

gl

  • Property stability phenomena are poorly understood.

We need composability results e.g. feature interaction in middleware, composability of scheduling algorithms, theory for reconfigurable systems

sat P

gl

c1 cn and sat P’

gl’

c1 cn implies sat P∧P’

gl ⊕ gl’

c1 cn

slide-12
SLIDE 12

12

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-13
SLIDE 13

13

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

||

B E H A V I O R

BIP: Basic Concepts BIP: Basic Concepts

Interactions (Structured Connectors) Priorities (Memoryless Controller) PR2 IN2 Layered component model PR1 IN1 Composition (incremental description) IN1 ⊗ IN2 ⊗ IN12 PR1 ⊕ PR2 ⊕ PR12

slide-14
SLIDE 14

14

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts

s Sender r1 Receiver1

Interactions: sr1r2r3 Priorities: ∅

Rendezvous

s r1 r2 Receiver2 r2 r3 Receiver3 r3

slide-15
SLIDE 15

15

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts Interactions: s, sr1, sr2, sr3, sr1r2, sr2r3, sr1r3, sr1r2r3 Priorities: x 〈 xy for x,y=interactions

Broadcast

s Sender r1 Receiver1 s r1 r2 Receiver2 r2 r3 Receiver3 r3

slide-16
SLIDE 16

16

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts Interactions: s, sr1r2r3 Priorities: x 〈 xy for x,y=interactions

Atomic Broadcast

s Sender r1 Receiver1 s r1 r2 Receiver2 r2 r3 Receiver3 r3

slide-17
SLIDE 17

17

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts Interactions: s, sr1, sr1r2, sr1r2r3 Priorities: x 〈 xy for x,y=interactions

Causal Chain

s Sender r1 Receiver1 s r1 r2 Receiver2 r2 r3 Receiver3 r3

slide-18
SLIDE 18

18

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts -

  • Semantics

Semantics for Interactions for Interactions Given

  • a set of atomic components {Bi}i=1..n

where Bi =(Qi, Pi, →i)

  • a set of interactions γ∈2P where P=∪i=1..n Pi

Define γ(B1,., Bn)= (Q, P, →γ) where Q=×i=1..n Qi by the rule a= {pi}i∈I ∈γ ∧ ∀i∈I (pi ∈ Pi ∧ qi - pi →I q’i ) (q1 ,., qn) - a →γ(q’1 ,., q’n) where q’I =qI if i∉I

slide-19
SLIDE 19

19

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts -

  • Behavior

Behavior Modeling Modeling

put

An atomic component has

  • A set of ports P
  • A set of control locations S
  • A set of variables V
  • A set of transitions of the form

p is a port gp is a guard, boolean expression on V fp is a function on V (block of code)

s1 s2 get, 0<x y:=f(x) get put

p g p fp

s1 s2 x y

slide-20
SLIDE 20

20

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

BIP: Basic Concepts BIP: Basic Concepts -

  • Behavior

Behavior Modeling Modeling

s1 s2

p: a port through which interaction is sought gp: a pre-condition for interaction through p fp : a computation (local state transformation) Semantics: interaction followed by computation

  • A transition is enabled if gp is true and some interaction

involving p is possible

  • The execution of the enabled transition involves the

execution of an interaction involving p followed by the execution of fp p gp fp

slide-21
SLIDE 21

21

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-22
SLIDE 22

22

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: : Connectors Connectors

Interactions: tick1tick2tick3, out1, out1in2, out1in3, out1in2in3

  • A connector is a set of ports which can be involved in an interaction
  • Port attributes (trigger

, synchron ) are used to model rendezvous and broadcast.

  • An interaction of a connector is a set of ports such that: either it contains

some trigger or it is maximal.

tick1 tick2 tick3

  • ut1

in2 in3

slide-23
SLIDE 23

23

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: : Connectors Connectors

cl1cl2 cl2 cl1

  • utin

in

  • ut
  • utin1

in1 in1in2 in2

  • utin2
  • ut

in1outin2 cl1 cl2

  • ut

in

  • ut

in1 in2

slide-24
SLIDE 24

24

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: : Hierarchical Hierarchical Connectors Connectors

a b c Atomic Broadcast: a(1+ bcd) =a + abcd a b c d Causal chain: a(1+b(1+c(1+d))) =a+ab+abc+abcd d a b c Rendezvous: abc a b c Broadcast: a(1+b)(1+c)=a+ab+ac+abc

slide-25
SLIDE 25

25

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: The : The Algebra Algebra of

  • f Connectors

Connectors

Syntax: For P be a set of ports, such that 0,1∉P, AC(P) is defined by

s ::= [0] | [1] | [p] |[x] (synchrons) t ::= [0]’ | [1]’ | [p]’ | [x]’ (triggers) x ::= s | t | x.x | x + x where

[ ], [ ]’ are unary typing operators . is the fusion operator which is associative, commutative, [1] is an identity element and [0] is an absorbing element + is the union operator.

slide-26
SLIDE 26

26

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: : Hierarchical Hierarchical Connectors Connectors

a b c d Causal chain: a’[b’[c’d]]=a(1+b(1+c(1+d))) a b c Atomic Broadcast: a’[bcd] =a(1+ bcd) d a b c Rendezvous: abc a b c Broadcast: a’bc= a(1+b)(1+c)

slide-27
SLIDE 27

27

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: : The

The Algebra Algebra of

  • f Connectors

Connectors -

  • Fusion vs.

Fusion vs. Typing Typing a b

For two connectors γ1=a’.b and γ2=c’.d

a b c d

[γ1]’.[γ21]=[a’b]’.[c’d]

a b a b c d

γ1.γ2=a’bc’d= a’bcd + abc’d

slide-28
SLIDE 28

28

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: :

The The Algebra Algebra of

  • f Connectors

Connectors -

  • Equivalence

Equivalence vs.Congruence vs.Congruence

Definition: γ1 ≈ γ2 if γ1 and γ2 represent the same set of interactions Remark: ≈ is not a congruence as it is not preserved by fusion, for example a’b ≈ a+ab and a’bc ≈ ac+abc Semantics in terms of causality trees preserving the causality relation induced by triggers

a b c a b c

slide-29
SLIDE 29

29

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: Composition : Composition -

  • Data Transfer

Data Transfer CN: BUS={send,rec1,rec2} send: true →skip send.rec1: x<y →x:=y-x, y:=y+x send.rec2: x<z →x:=z-x, z:=z+x send.rec1.rec2: x<z+y →x:=y+z-x, y:=y+x, z:=z+x

send x rec1 y rec2 z

Maximal progress: execute a maximal enabled interaction

slide-30
SLIDE 30

30

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: Composition : Composition -

  • Semantics

Semantics p1 gp1 fp1 α gα fα

=

gα = gp1 ∧ gp2 ∧ … ∧ gpn ∧ Gα fα = Fα; fp1 ,fp2 ,…,fpn

CN: BUS={p1, p2 ,... pn ,…, ps }

……………

α= p1p2 ,.. ,pn : Gα →Fα ……………………

p2 gp2 fp2 pn gpn fpn PRODUCT

slide-31
SLIDE 31

31

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Producer

PrReq PrRel

Interaction Interaction Modeling Modeling: Producer : Producer-

  • Consumer

Consumer

CnReq CnRel

Consumer

CnReq CnRel Cn_item

item

Idle Active Idle Active PrReq PrRel Pr_item

item

Resource

CnRel Idle Cn Active Pr Active CnReq PrRel PrReq

PrRel PrReq CnRel CnReq buffer Item:=first(buffer) put(item,buffer)

slide-32
SLIDE 32

32

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Interaction Interaction Modeling Modeling: Checking for Deadlock : Checking for Deadlock-

  • freedom

freedom For K1,K2,K3 deadlock-free components

p1

k1

p2

k2

p1

k1

p2

k2

q1 q2 p1

k1

p2

k2 k3

r1 q2 q3 r3 en(p1) ∧ ¬ en(p2) ∧ ¬ en(q1) ∧ en(q2) en(p1) ∧ ¬ en(p2) ∧ en(q2) ∧ ¬ en(q3) ∧ en(r3) ∧ ¬ en(r1)

slide-33
SLIDE 33

33

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-34
SLIDE 34

34

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities Priorities Priorities are a powerful tool for restricting non-determinism

  • they allow straightforward modeling of urgency and

scheduling policies for real-time systems

  • run to completion and synchronous execution can be

modeled by assigning priorities to threads

  • they can advantageously replace (static) restriction of

process algebras

slide-35
SLIDE 35

35

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: Priorities as Controllers

A controller restricts the non determinism of system S to enforce a property P

Controller for P Interactions

state interaction

system S

Results [Goessler&Sifakis, FMCO2003] [Goessler&Sifakis, FMCO2003] :

  • Restrictions induced by controllers enforcing deadlock-free state

invariants can be described by dynamic priorities

  • Conversely, for any restriction induced by dynamic priorities there

exists a controller enforcing a deadlock-free control invariant

slide-36
SLIDE 36

36

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

g1 g2 Priorities: Definition Priorities: Definition Priority rule Restricted guard g1’ true → p1 〈 p2 g1’ = g1 ∧ ¬ g2 C → p1 〈 p2 g1’ = g1 ∧ ¬(C ∧ g2 ) p1 p2 Priority rules

slide-37
SLIDE 37

37

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: Definition Priorities: Definition A priority order is a strict partial order 〈 ⊆ Inter x Inter A set of priority rules, PR = { Ci →〈i }i where {Ci }i is a set of disjoint state predicates g’k = gk ∧ ∧ C → 〈 ∈PR (C ⇒ ∧pk 〈pi ¬ gi )

PR: { Ci → 〈i }i pk gk

B

pk g’k

B’

Operational Semantics

slide-38
SLIDE 38

38

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: FIFO policy Priorities: FIFO policy PR : t1≤ t2 → b1〈b2 t2<t1 → b2〈b1 idle1 ready1 exec1 idle2 ready2 exec2 f1 b1 a1 b2 a2 f2

#

start t1 start t2

slide-39
SLIDE 39

39

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

idle1 ready1 exec1 idle2 ready2 exec2 f1 b1 a1 b2 a2 f2

#

Priorities: EDF policy Priorities: EDF policy

PR: D1-t1≤ D2- t2 → b2〈 b1 D2-t2< D1-t1 → b1〈 b2 start t1 start t2 t1 ≤D1 t2 ≤D2

slide-40
SLIDE 40

40

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: Composition Priorities: Composition

PR1 PR2

PR2 PR1 a c b a 〈1 b c b b〈2 c c b〈2 c a 〈1 b a c a c

slide-41
SLIDE 41

41

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priority modeling Priority modeling– – Composition (2) Composition (2) PR1⊕ PR2 is the least priority containing PR1∪PR2 Results :

  • The operation ⊕ is partial, associative and commutative
  • PR1(PR2(B)) ≠PR2(PR1(B))
  • PR1⊕ PR2(B) refines PR1∪PR2(B) refines PR1(PR2(B))
  • Priorities preserve deadlock-freedom

PR1 PR2 PR1⊕ PR2 We take:

=

Δ

slide-42
SLIDE 42

42

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: Mutual Exclusion + FIFO policy Priorities: Mutual Exclusion + FIFO policy true → b1〈 f2 true → b2〈 f1 t1≤ t2 → b1〈 b2 t2< t1 → b2〈 b1 idle1 ready1 exec1 idle2 ready2 exec2 f1 b1 a1 b2 a2 f2

start t1 start t2

slide-43
SLIDE 43

43

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Priorities: Mutual Exclusion Priorities: Mutual Exclusion -

  • Example

Example s1 b1 w2 a1 f1 a2 f2 PR : b1 〈 f2 b2 〈 { f1, b1’} (mutex on R) b2’ w1 b1’ b2 R RR’ RR’ R’ Risk of deadlock: PR⊕PR’ is not defined PR’: b2’ 〈f1 b1’ 〈 { f2, b2 } (mutex on R’) s2

slide-44
SLIDE 44

44

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-45
SLIDE 45

45

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The BIP Framework: Model Construction Space

Model Construction Space -

  • Related Approaches

Related Approaches

Metropolis Platform Channels Director PTOLEMY Behavior Semantic Domain MoC

(Model of Computation)

Media Quantity Manager Behavior Platform ASML .net Composition Operators

Vanderbilt’s Approach

Operational Semantics

Semantic Unit Meta-model Behavior Semantic Unit Meta-model

Operational Semantics Operational Semantics

slide-46
SLIDE 46

46

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: Model Construction Space The BIP Framework: Model Construction Space

A system is defined as a point of the 3- dimensional space Separation of concerns: any combination of coordinates defines a system Behavior BH IN Interaction PR Priority Architecture System

slide-47
SLIDE 47

47

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Model of Computation

The BIP Framework: Model Construction Space The BIP Framework: Model Construction Space

The model construction space for PTOLEMY Behavior Interaction (channels)

slide-48
SLIDE 48

48

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The BIP Framework: Model Construction Space

Model Construction Space – – Property Preservation Property Preservation +refinement BH IN +interaction System PR +restriction Architecture D e a d l

  • c

k

  • f

r e e

I n v a r i a n t

slide-49
SLIDE 49

49

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The BIP Framework: Model Construction Space

Model Construction Space– – Classes of Components Classes of Components Characterize relations between classes by elementary model transformations:

  • Untimed-timed
  • Synchronous – asynchronous
  • Event triggered – data triggered

BHs INa asynchronous PRa PRs synchronous BHa INs

slide-50
SLIDE 50

50

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: Implementation The BIP Framework: Implementation BIP Program compiler BIP Model code generation BIP/Linux Platform BIP C++ Code

centralized/distributed execution, guided/exhaustive simulation

structural analysis

deadlock detection invariant generation

model transformations

static composition timed vs untimed

BIP/Think Platform BIP C Code

centralized execution (on bare machines)

BIP MetaModel FXML JAHUEL JAHUEL

slide-51
SLIDE 51

51

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The BIP Framework: Implementation

Implementation -

  • generation of C++ code

generation of C++ code Interaction Meta-model Dynamic priorities Meta-model

Execution Engine

BIP model C→a〈b Component Meta-model PLATFORM

slide-52
SLIDE 52

52

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: Implementation - The Execution Platform

Interaction model Priorities

Execution Engine

Platform

slide-53
SLIDE 53

53

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: Implementation – The BIP Execution Engine

BIP Execution Engine

init loop

Launch atom’s threads

stable

Wait all atoms

ready

Compute legal interactions

filter

Filter w.r.t. priorities

choose

Choose among maximal

execute

Execute chosen interaction transfer Notify involved atoms

slide-54
SLIDE 54

54

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The Language – Atomic

tomic Components Components component C port complete: p1, … ; incomplete: p2, … data {# int x, float y, bool z, …. #} init {# z=false; #} behavior state s1

  • n p1 provided g1 do f1 to s1’

……………… ……

  • n pn provided gn do fn to sn’

state s2

  • n …..

…. state sn

  • n ....

end end

slide-55
SLIDE 55

55

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

component CallingUnit(int px, int py) complete port request // request port port release // release port port tick // time synchronization port data int x // x coordinate of the calling unit data int y // y coordinate of the calling unit data int t // local clock behavior initial do x = px; {# y = py; #} t = 4 to EMPTY state EMPTY // empty state

  • n request provided t >= 4 to OCCUPIED
  • n tick do t := t + 1 to EMPTY

state OCCUPIED // occupied state

  • n release do t := 0 to EMPTY
  • n tick to OCCUPIED

end end

The BIP Framework: The Language – Atomic

tomic Components Components request release tick

OCCUPIED EMPTY

[t >= 4] request tick t=t+1 tick t=t+1 release t=0 x=px y=py t=4

slide-56
SLIDE 56

56

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The Language – Connectors

  • nnectors and

and Priorities Priorities

connector BUS= {p, p’, … , } complete() behavior

  • n α1 provided gα1 do fα1
  • n α2 provided gα2 do fα2

end priority PR if C1 (α1 < α2), (α3 < α4) , … if C2 (α < …), (α <…) , … … if Cn (α <…), (α <…) , …

slide-57
SLIDE 57

57

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

connector Bus = A.s, B1.r, B2.r behavior

  • n A.s provided true do A.x = A.x + 1
  • n A.s, B1.r provided A.x < B1.y do B1.y = A.x
  • n A.s, B2.r provided A.x > B2.y do B2.y = A.x
  • n A.s, B1.r, B2.r provided true do A.x = (B1.y + B2.y) / 2

end

The BIP Framework: The Language – Connectors

  • nnectors and

and Priorities Priorities priority mutex if (C1.t > C2.t) C1.begin < C2.begin if (C1.t <= C2.t) C2.begin < C1.begin end

B2 B1 A

r s r x y y

slide-58
SLIDE 58

58

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The Language – Compound Components

Compound Components

component name contains c_name1 i_name1(par_list) …… contains c_namen i_namen(par_list) connector name1 …… connector namem priority name1 …… priority namek end

slide-59
SLIDE 59

59

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

The BIP Framework: The Language – Compound Components

Compound Components

component Utopar contains CallingUnit c11(1,1) contains CallingUnit c12(1,2) contains CallingUnit c21(2,1) contains CallingUnit c22(2,2) contains CentralStation s connector request = c11.request, c12.request, c21.request, c22.request, s.request … connector release11 = c11.release, s.release … connector tick = c11.tick, c12.tick, c21.tick, c22.tick, s.tick … end

c11 s c12 c21 c22 request tick release11

slide-60
SLIDE 60

60

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-61
SLIDE 61

61

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed Timed Components Components – – Timed Timed vs. Untimed

  • vs. Untimed

p timeout tick x++ tick

tick tick tick tick

PR: red_guards →tick 〈 all_other_ports

x:=0 x=10 x<10

slide-62
SLIDE 62

62

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed components Timed components -

  • Problem 1

Problem 1

T1 T2 T3

CPU1 CPU2 CPU3

Bursty Event-Stream: Period = 10 Jitter = 50

  • Min. Interarrival Dist. = 1

WCED = 8 WCED = 4 WCED = 1

slide-63
SLIDE 63

63

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed components Timed components: Problem 1 : Problem 1-

  • Task

Task

Task

READY EXEC

start, (count>0) count--, delay:=0 get count++ get count++ tick tick delay++

get finish tick

finish, [delay<= WCET ]

slide-64
SLIDE 64

64

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed components Timed components: Problem 1 : Problem 1 -

  • BIP code snippet for Task

BIP code snippet for Task

component Task (int wcet) port get, start, tick, finish data {# int count, delay; #} … init {# count = 0; WCET = wcet; … #} behavior state READY

  • n get do {# count++; #} to READY
  • n start provided {# count > 0 #} do {# count--; delay = 0; #} to EXEC
  • n tick to READY

state EXEC

  • n get do {# count++; #} to EXEC
  • n finish when ({# delay <= WCET #}, delayable) to READY
  • n tick do {# delay++; #} to EXEC

end … end

slide-65
SLIDE 65

65

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed Timed components components: : Problem 1

Problem 1-

  • Bursty

Bursty Event Stream Generator Event Stream Generator

period, [ x = T ]ε x := 0 k := k+1 go [k ≥ 0 ∧ x + k T ≤ J ∧ y ≥ d]δ y := 0, k :=k-1 x := 0 y := 0 k := 0

x y i i+1 i+k … ai ai-1

READY

tick go

tick, x++ y++

Bursty Event-Stream for Period = T Jitter = J

  • Min. Interarrival Dist. = d
slide-66
SLIDE 66

66

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed components Timed components: Problem 1 : Problem 1 – – Architecture Architecture

get finish tick get finish tick get finish tick

Event Generator

go tick

PR: tick 〈 { EvntT1, T1T2, T2T3 , T3.Finish }

T1 T2 T3 tick EvntT1 T1T2 T2T3

slide-67
SLIDE 67

67

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed Timed components components: Problem 1 : Problem 1-

  • BIP code snippet for Architecture

BIP code snippet for Architecture

component System contains Launcher eventGenerator(10, 5, 1) contains Task T1(8), T2(4), T3(1) connector Tick = eventGenerator.tick, T1.tick, T2.tick, T3.tick behavior end connector EvntT1 = eventGenerator.go, T1.get behavior end … priority // start < get ( no event losses ) getStart1 T1.Start : T1.start < EvntT1 : T1.get … priority // finish < get ( no event losses ) getFin1 T1T2 : T1.finish < EvntT1 : T1.get … priority // tick < get_i ( => tick < finishi_i-1 ) getTick2 if (T1.delay == T1.WCET) Tick : T2.tick < T1T2 : T2.get …

slide-68
SLIDE 68

68

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Timed components Timed components: : Billiards Billiards -

  • the Model

the Model

BALL_2 CN: tick PR: tick 〈 {shock,flip} CN: shock gshock : y1=y2 ∧ x1= x2 fshock : vx1,vx2,vy1,vy2:= -vx2,-vx1,-vy2,-vy1 BALL_1

slide-69
SLIDE 69

69

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

f_in f_out grabPicture() f_in f_out

  • utputPicture()

GrabPicture OutputPicture f_out f_out f_out f_in f_in f_in Encode

Transform a monolithic program into a componentized one

+ + reconfigurability, schedulability

– – overheads (memory, execution time)

Video encoder characteristics:

  • 12000 lines of C code
  • Encodes one frame at a time:

– grabPicture() : gets a frame – outputPicture() : produces an encoded frame

MPEG4 Video Encoder MPEG4 Video Encoder

slide-70
SLIDE 70

70

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Reconstruction Intraprediction IQuant IDCT MotionEstimation DCT Quant Coding GrabMacroBlock

  • ut

in

  • ut

in

  • ut

in

  • ut

in

  • ut

in

  • ut

f_in

  • ut

in

  • ut

in in1 in2 f_in f_out f_out

: buffered connections

GrabMacroBlock: splits a frame in (W*H)/256 macro blocks, outputs one at a time Reconstruction: regenerates the encoded frame from the encoded macro blocks.

MPEG4 Video Encoder: Architecture MPEG4 Video Encoder: Architecture

slide-71
SLIDE 71

71

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

in

  • ut

fn() in c<MAX c:=c+1 f_out c=MAX c:=0

Reconstruction Generic Functional component

f_in

  • ut

GrabMacroBlock

c<MAX grabMacroBlock(), c:=c+1

in f_out

  • ut
  • ut

f_in in

reconstruction() exit c=MAX c:=0

MAX=(W*H)/256 W=width of frame H=height of frame

MPEG4 Video Encoder: Atomic Components MPEG4 Video Encoder: Atomic Components

slide-72
SLIDE 72

72

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

  • BIP code describes a control skeleton for the encoder

– Consists of 20 atomic components and 34 connectors – ~ 500 lines of BIP code – Functional components call routines from the encoder library

  • The generated C+ + code from BIP is ~ 2,000 lines
  • The size of the BIP binary is 288 Kb compared to 172

Kb of monolithic binary.

MPEG4 Video Encoder: Features MPEG4 Video Encoder: Features

slide-73
SLIDE 73

73

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

MPEG4 Video Encoder: BIP Componentization Overhead MPEG4 Video Encoder: BIP Componentization Overhead

Overhead in execution time wrt monolithic code:

  • ~ 66% due to communication (can be reduced by

composing components at compile time)

–function calls by atomic components to the execution engine for synchronization.

  • ~ 34% due to resolution of non determinism (can be

reduced by narrowing the search space at compile time)

– time spent by engine to evaluate feasible interactions

Problem: Reduce execution time overhead for componentized code

slide-74
SLIDE 74

74

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Overview Overview

  • About component-based construction
  • Basic Concepts
  • Interaction modeling
  • Priority modeling
  • Implementation
  • Modeling systems in BIP
  • Discussion
slide-75
SLIDE 75

75

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Discussion: The BIP Framework Discussion: The BIP Framework -

  • Summary

Summary

Framework for component-based modeling encompassing heterogeneity and relying on a minimal set of constructs and principles Clear separation between behavior and architecture Architecture = interaction + priority Correctness-by-construction techniques for deadlock- freedom and liveness, based on suficient conditions on architecture Other applications at Verimag IF toolset allows layered description of timed systems Methodology and tool support for generating scheduled code for real-time applications (work by S. Yovine et al.)

slide-76
SLIDE 76

76

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Discussion: Discussion: The BIP Framework

The BIP Framework – – Towards Towards a a Taxonomy Taxonomy of Systems

  • f Systems

A component is defined as a point in the space: Behavior × Interaction × Priority Classes of components can be obtained by application of simple transformations

  • Behavior: Coupling/Decoupling interaction and

computation

  • Interaction models : synchronous execution
  • Priorities : adding/removing priority rules

Basis for property preservation results and correctness by construction

slide-77
SLIDE 77

77

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Discussion: The BIP Framework – Expressiveness

IM

Problem: For given B, IM and PR which coordination problems can be solved?

B

C⇒ a 〈 b

PR

Study new notions of expressiveness where architecture is a first class

  • entity. Existing notions consider glue operators as behavior transformers

through operational semantics.

slide-78
SLIDE 78

78

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Discussion: Discussion: The BIP Framework

The BIP Framework – – Unification Unification How?

NesC NesC TinyOS TinyOS BIP engine BIP engine

AC AC TC TC EC EC

NesC2BIP NesC2BIP

slide-79
SLIDE 79

79

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

Discussion: Discussion: The BIP Framework

The BIP Framework -

  • Distribution

Distribution K2

γ2 γ1

K1 K3 Engine K2

γ2 γ1

K1 K3

Centralized Semantics: Transitions are atomic - Global state Basic communication primitive: n-ary interaction Distributed Semantics: Transitions are non atomic - Partial state Basic primitive: send/receive

slide-80
SLIDE 80

80

  • J. Sifakis Modeling Component
  • J. Sifakis Modeling Component-
  • based Systems in BIP

ETR 2007 Nantes Sept. 2007 based Systems in BIP ETR 2007 Nantes Sept. 2007

References References

Papers available at: http://www-verimag.imag.fr/~sifakis/

  • “The Algebra of Connectors – Structuring Interaction in BIP” EmSoft07
  • "Modeling Heterogeneous Real-time Systems in BIP“ SEFM06, IEEE.
  • "The Embedded Systems Design Challenge", Invited Paper, FM06.
  • “A Framework for Component-based Construction", SEFM05 Keynote

talk, September 7-9, 2005, Koblenz, pp 293-300.

  • “Composition for Component-Based Modeling”, Science of Computer

Programming, vol. 55, pp. 161-183 (March 2005)

  • “Scheduler modeling based on the controller synthesis paradigm’’

Journal of Real-time Systems, Vol. 23, pp.55-84, 2002

  • “Component-based construction of deadlock-free systems’’,

FSTTCS03, LNCS 2194.

  • “Priority Systems’’ Proceedings of FMCO’03, LNCS 3188
  • “TAXYS: a tool for the development and verification real-time

embedded systems” CAV'01. Paris, France, 2001.

BIP web page: BIP web page: http://www http://www-

  • verimag.imag.fr/%7Easync/index.php?view=components

verimag.imag.fr/%7Easync/index.php?view=components