Component-based Construction of Heterogeneous Real-time Systems in - - PowerPoint PPT Presentation

component based construction of heterogeneous real time
SMART_READER_LITE
LIVE PREVIEW

Component-based Construction of Heterogeneous Real-time Systems in - - PowerPoint PPT Presentation

Component-based Construction of Heterogeneous Real-time Systems in BIP FOSE 2010 Zurich, November 22-23, 2010 Joseph Sifakis VERIMAG Laboratory in collaboration with A. Basu, S. Bensalem, M. Bozga, M. Jaber, J. Quilbeuf Systems


slide-1
SLIDE 1

Component-based Construction

  • f Heterogeneous Real-time

Systems in BIP

FOSE 2010

Zurich, November 22-23, 2010

Joseph Sifakis

VERIMAG Laboratory
 in collaboration with

  • A. Basu, S. Bensalem, M. Bozga, M. Jaber, J. Quilbeuf
slide-2
SLIDE 2

2

Systems Everywhere

Electronic components integrate software and hardware jointly and specifically designed to provide given functionalities, which are often critical.

slide-3
SLIDE 3

System Design – New Trends

3

 Mixed SW/HW system design is different from pure SW design  New trends break with traditional Computing Systems Engineering. It is hard to jointly meet technical requirements such as:

  • Reactivity: responding within known and guaranteed delay

Ex : flight controller

  • Autonomy: provide continuous service without human intervention

Ex : no manual start, optimal power management

  • Dependability: guaranteed minimal service in any case

Ex : attacks, hardware failures, software execution errors

  • Scalability: at runtime or evolutionary growth (linear performance

increase with resources) Ex : reconfiguration, scalable services Technological challenge : Capacity to build systems of guaranteed functionality and quality, at an acceptable cost. ...and also take into account economic requirements for optimal cost/quality

slide-4
SLIDE 4

System Design – State of the Art

  • Safety and/or security critical systems of low complexity

 Flight controller, smart card

  • Complex « best effort » systems

 Telecommunication systems, web-based applications

We need:

  • Affordable critical systems

Ex : transport, health, energy management

  • Successful integration of heterogeneous systems of systems

 Internet of Things  Automated Highways  New generation air traffic control  « Ambient Intelligence»

TOMORROW TODAY We master – at a high cost – two types of systems which are difficult to integrate:

slide-5
SLIDE 5

System Design – Still a long way to go

Traditional systems engineering disciplines are based on solid theory for building artefacts with predictable behaviour over their life-time. Computing systems engineering lacks similar constructivity results

  • only partial answers to particular

design problems

  • predictability is hard to guarantee

at design time

  • a posteriori validation remains

essential for ensuring correctness

slide-6
SLIDE 6

O V E R V I E W

6

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-7
SLIDE 7

System Design – Essential Requirements

7

Productivity  using high level domain-specific languages for ease of expression and natural expression of data parallelism and functional parallelism  allowing reuse of components and the development of component- based solutions  tools for programming, validation and code generation Correctness  This means that the designed system meets its requirements.  Ensuring correctness requires that the design flow relies on the use of models with well-defined semantics.  The models should consistently encompass system description at different levels of abstraction from application software to its implementation.  Properties met at some step of the design flow, should be preserved in all the subsequent steps

slide-8
SLIDE 8

System Design – Essential Properties

8

Parsimony  Design choices are only implied by requirements - system designers privilege specific programming models or implementation principles that a priori exclude efficient solutions.  Design choices such as

  • reducing parallelism (through mapping on the same processor)
  • reducing non determinism (through scheduling)
  • fixing parameters (precision, frequency, voltage)

are resolved so as to determine appropriate implementations Performance  guaranteeing extra-functional properties regarding optimal resource management.  resources such as memory, time and energy must be first class concepts encompassed by rigorous models.  possibility to analyze and evaluate efficiency in using resources as early as possible along the design flow.

slide-9
SLIDE 9

System Design – Rigorous Design Flow

9

A rigorous system design flow allows guaranteeing that the designed system meets some essential requirements. It is  model-based: the software and system descriptions used along the design flow should be based on a single semantic model. This is essential for the overall coherency and efficiency

  • Relate system descriptions and their properties for different

abstraction levels and purposes (validation, performance evaluation, code generation)  component-based: it provides primitives for building composite components as the composition of simpler heterogeneous components.  correct-by-construction: it rely on tractable theory for guaranteeing at design time essential properties so as to avoid as much as possible monolithic a posteriori validation

slide-10
SLIDE 10

O V E R V I E W

10

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-11
SLIDE 11

11

Model-based – Marry Physicality and Computation

Computing: algorithms protocols architectures Environment constraints: Performance (deadlines, jitter, throughput) Processor constraints: CPU speed memory power failure rates temperature EMBEDDED SYSTEM

slide-12
SLIDE 12

12

Model-based – Marry Physicality and Computation

Embedded SW Design cannot ignore HW design

Computing: algorithms protocols architectures Environment constraints: Performance (deadlines, jitter, throughput) Processor constraints: CPU speed memory power failure rates temperature EMBEDDED SYSTEM

slide-13
SLIDE 13

13

Model-based – Marry Physicality and Computation

Embedded SW Design cannot ignore control design

Computing: algorithms protocols architectures Environment constraints: Performance (deadlines, jitter, throughput) Processor constraints: CPU speed memory power failure rates temperature EMBEDDED SYSTEM

slide-14
SLIDE 14

14

Model-based – Marry Physicality and Computation

Embedded SW Design coherently integrates all these

We need to revisit and revise computing to integrate methods from EE and Control

Computing: algorithms protocols architectures Environment constraints: Performance (deadlines, jitter, throughput) Processor constraints: CPU speed memory power failure rates temperature EMBEDDED SYSTEM

slide-15
SLIDE 15

Model-based – Marry Physicality and Computation

15 15

Physical Systems Engineering Analytic Models

Component: transfer function Composition: parallel Connection: data flow

Computing Systems Engineering Computational Models

Component: subroutine Composition: sequential Connection: control flow

slide-16
SLIDE 16

Model-based – Marry Physicality and Computation

16

Matlab/Simulink Model

slide-17
SLIDE 17

Model-based – Marry Physicality and Computation

UML Model

(Rational Rose)

slide-18
SLIDE 18

O V E R V I E W

18

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-19
SLIDE 19

Component-based – Heterogeneity

System designers deal with a large variety of components, each having different characteristics, from a large variety of viewpoints, each highlighting different dimensions of a system  SW Component frameworks:

  • Coordination languages extensions of programming languages e.g.

BPEL, Javaspaces, TSpaces, Concurrent Fortran, NesC

  • Middleware e.g. Corba, Javabeans, .NET
  • Software development environments: PCTE, SWbus, Softbench, Eclipse

 System modeling languages: Statecharts, SysML, Matlab/Simulink, AADL, Ptolemy  Hardware description languages: Verilog, VHDL, SystemC Build complex systems by composing components (simpler systems). This confers numerous advantages such as productivity and correctness

slide-20
SLIDE 20

Component-based– Heterogeneity

Develop a framework for model-based and component-based design  expressive enough to directly encompass heterogeneity of

  • Execution: synchronous and asynchronous components
  • Interaction: function call, broadcast, rendezvous, monitors
  • Abstraction levels: hardware, execution platform, application

software  using a minimal set of constructs and principles  treating interaction and system architecture as first class entities that can be composed and analyzed - independently of the behavior of individual components  providing automated support for efficient implementation on given platforms

slide-21
SLIDE 21

Thread-based programming

Component-based– Heterogeneity

Actor-based programming Software Engineering Systems Engineering

slide-22
SLIDE 22

Component-based – The Problem

Build a component C satisfying a given property P, from

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

c1 c’1

gl1 gl1

c2 c’2

gl12 gl12

sat P

gl2 gl2

  • Move from frameworks based on single composition operators to

frameworks based on families of composition operators


  • Glue operators allow modeling coordination mechanisms such as

such as protocols, schedulers, buses

slide-23
SLIDE 23

Component-based – Glue Operators

B1

gl gl

B2 Bn

Use operational semantics to define the meaning of a composite component – glue operators are “behavior transformers” Operational Semantics

B

Glue Operators

  • build interactions of composite components from the actions of

the atomic components e.g. parallel composition operators

  • can be specified by using a family of derivation rules (the

Universal Glue)

slide-24
SLIDE 24

O V E R V I E W

24

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-25
SLIDE 25

Correct-by-construction – Cope with Complexity

c1 c’1 c2 c’2

gl gl

c2 c’2

gl2 gl2

c1 c’1

gl1 gl1

  • 2. Composition

gl1 gl1

  • 1. Decomposition

gl gl C1 C2 Cn

≅ ≅

gl2 gl2 C2 Cn C1 Plasticity: Glue is a first class concept independent from behavior

slide-26
SLIDE 26

Correct-by-construction – Cope with Complexity

Compositionality: Build correct systems from correct components: rules for proving global properties from properties of individual components

We need compositionality results for the preservation of progress properties such as deadlock-freedom and liveness as well as extra-functional properties

 

gl

ci

sat Pi implies ∀gl ∃gl

~

sat gl(P1, ..,Pn)

gl gl

c1 cn

~

slide-27
SLIDE 27

Correct-by-construction – Cope with Complexity

Composability: Essential properties of components are preserved when they are integrated

gl

 

gl

Property stability phenomena are poorly understood. We need composability results e.g. non interaction of features in middleware, composability of scheduling algorithms, of Web services, of aspects

X

sat P

gl gl

c1 cn and sat Pʼ

gl gl’

c1 cn implies sat P&Pʼ

gl
 gl
⊕ gl gl’

c1 cn

slide-28
SLIDE 28

O V E R V I E W

28

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-29
SLIDE 29

BIP – Basic Concepts

B E H A V I O R

Interactions
(collaboration)
 Priorities

(conflict
resolution)


Layered component model Composition operation parameterized by glue IN12, PR12 IN12

 PR12

 PR1

 IN1

 PR2

 IN2

 IN1
⊗
IN2
⊗
IN12

 PR1
⊕
PR2
⊕
PR12



S2S S2S S2S
slide-30
SLIDE 30

BIP – Connectors s + sr2 + sr3 +sr2r3

  • A connector is a set of ports that can be involved in an interaction

tick1 tick2 tick3 s r2 r3

tick1tick2tick3

  • 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. Express interactions by combining two protocols: rendezvous and broadcast

slide-31
SLIDE 31

BIP – Hierarchical Connectors

Atomic Broadcast: a+abc Causality chain: a+ab+abc+abcd

b c

bc

c d

c(1+d) a(1+bc)

a

y= b(1+y)

b

x= a(1+x)

a

slide-32
SLIDE 32

BIP – The Language in a Nutshell

p1 q1 p1 q1 p2 r3 p2 q2 p3 r3 p3 q2 q3 q3 p4 r4 x1 x2 x3 x4 y1 y2 z3 z4 y2:=f2(x2) [g3(x3)] x1++ p4 r4 y1:=x1/2 p12 p123 r3 q123 p1234 r34 u v z3 ↑u:=max(x1,x2) ↓x1,x2:=u ↑v:=max(u,x3) ↓u,x3:=v [y1<y2] p123 < r3r4 [z4>0]

Behavior Interac.ons Priori.es

v p123

slide-33
SLIDE 33

BIP – Execution Engine

Interaction
Meta-model
 Dynamic
priorities
 Meta-model


BIP
Execution

 BIP
Execution

 Engine Engine


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


Platform

slide-34
SLIDE 34

BIP – Execution Engine

Interaction
model
 Priorities


BIP
 BIP
 Execution

 Execution

 Engine Engine


Platform

slide-35
SLIDE 35

BIP – Compositional Verification

Verify global deadlock-freedom of a system by separate analysis of the components and of the architecture.

K1 K2

p1 p2

K1 K2

q1 q2 p1 p2 Potential deadlock D = en(p1) ∧ ¬ en(p2) ∧ en(q2) ∧ ¬ en(q1)

K3 K2 K1

p1 p2 q3 r3 r1 q2 Potential deadlock D = en(p1) ∧ ¬ en(p2) ∧ en(q2) ∧ ¬ en(q3) ∧ en(r3) ∧ ¬ en(r1)

slide-36
SLIDE 36

Method: Eliminate potential deadlocks D by computing compositionally global invariants χ such that

χ∧D=false BIP – Compositional Verification: D-Finder B1 |= □ φ1 B2 |= □ φ2 ψ∈ II(γ(B1, B2 ),φ1,φ2) φ1 ∧ φ2 ∧ ψ⇒ χ γ(B1, B2 ) |= □χ

φ1 φ2 ψ

reachable states

slide-37
SLIDE 37

BIP – Compositional Verification: D-Finder

slide-38
SLIDE 38

O V E R V I E W

38

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-39
SLIDE 39

SW Componentization

Planner

Functional Level ::= Module+ Module ::= Service+ . Poster Service ::= Service Controller . Service Task Service Controller ::= Event Triggered Controller | Cyclic Controller Cyclic Controller ::= Event Triggered Controller . Cyclic Trigger Service Task ::= Timed Task | Untimed Task

slide-40
SLIDE 40

Ready Idle Exec Abort trigger request interrupt abort abort finish trigger interrupt abort request finish

Idle: the Service is idle Ready: checks the possibility for starting a new Task of the Service Exec: execution of the Task of the Service Abort: Service is aborted

SW Componentization Event Triggered Controller

slide-41
SLIDE 41

Cyclic Controller ::= Event Triggered Controller . Cyclic Trigger

Exec tick count<p / count++ count == p / count = 0 trigger trigger tick

Cyclic Trigger

trigger interrupt abort request finish

Event Triggered Controller

tick interrupt abort finish request

The Cyclic Trigger starts the Event Triggered Controller every period p

SW Componentization

slide-42
SLIDE 42

Triggered by request status == 1 : Task successfully executed status == 0 : Task aborted

interrupt request abort finish Exec Abort Idle request interrupt abort finish read write read write state state state state status status := 1

SW Componentization Untimed Task

slide-43
SLIDE 43

interrupt request abort finish Exec Abort Idle request abort finish /status:=1 read write tick read tick tick write count < t2 / count++ t1 ≤ count ≤ t2 state state state state status /count:=0 interrupt

Timed Task

  • Obtained from Untimed Task
  • Execution time in [t1,t2]

SW Componentization

slide-44
SLIDE 44

Untimed Event Triggered Service ::= Event Triggered Controller. Untimed Task

trigger intrpt req abort finish intrpt req abort finish

Event Triggred Controller Untimed Task

read state state status write

Untimed Event Triggered Service

trigger intrpt req abort finish intrpt req abort finish

Event Triggred Controller Timed Task

read state state status write tick

Timed Event Triggered Service

intrpt req abort finish intrpt req abort finish

Cyclic Controller Timed Task

read state state status write tick tick tick

Cyclic Service

Timed Event Triggered Service ::= Event Triggered Controller. Timed Task Cyclic Service ::= Cyclic Controller . Timed Task

SW Componentization

slide-45
SLIDE 45

Module Pom reads and integrates data to provide an estimate

  • f the position of the robot

Pom ::= SetModel. AddME. SetRefME. Run. SetPos. Poster

trigger trigger trigger read tick trigger

Module Pom

write

  • ffer

data Poster trigger Run trigger SetRefME trigger AddME trigger SetModel tick write SetPos

  • ffer

state state state read request request request

SW Componentization

slide-46
SLIDE 46

SW Componentization – Results

Modules Components Locations Interactions States LOC Min.

LaserRF 43 213 202 220x329x34 4353 1:22 Aspect 29 160 117 217x323 3029 0:39 NDD 27 152 117 222x314x5 4013 8:16 RFLEX 56 308 227 234x335x1045 8244 9:39 Antenna 20 97 73 212x39x13 1645 0:14 Battery 30 176 138 222x317x5 3898 0:26 Heating 26 149 116 217x314x145 2453 0:17 PTU 37 174 151 219x322x35 8669 0:59 Hueblob 28 187 156 212x310x35 3170 5:42 VIAM 41 227 231 210x36x665 5099 4:14 DTM 34 198 201 228x320x95 4160 13:42 Stereo 33 196 199 227x320x95 3591 13:20 P3D 50 254 219 213x35x54x629 6322 3:51 LaserRF+Aspect+NDD 97 523 438 258x366x85 11395 40:57 NDD+RFLEX 82 459 344 256x349x52x209 12257 73:43

46

slide-47
SLIDE 47

O V E R V I E W

47

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-48
SLIDE 48

Expressiveness for Component-based Systems

gl3 gl3

c1 c2 c3 c4

gl1 gl1 gl2 gl2

c1 c3 c2 c4

gl1 gl1

gl1 gl1

gl1 gl1

Given two glues G1 , G2 G2 is strongly more expressive than G1 if for any component built by using G1 and C0 there exists an equivalent component built by using G2 and C0

  • Different from the usual notion of expressiveness!
  • Based on strict separation between glue and behavior
slide-49
SLIDE 49

Expressiveness for Component-based Systems

gl3 gl3

c3 c1 c2

gl1 gl1

c1 c3 c c2

gl1 gl1

gl1 gl1

gl1 gl1

Given two glues G1 , G2 G2 is weakly more expressive than G1 if for any component built by using G1 and C0 there exists an equivalent component built by using G2 and C0∪ C

where C is a finite set of coordination behaviors.

slide-50
SLIDE 50

Expressiveness for Component-based Systems

BIP IM CCS SCCS CSP

<S <S <S <S

W > W > W > W >

[Bliudze&Sifakis, Concur 08]

≅S

Universal Glue

slide-51
SLIDE 51

O V E R V I E W

51

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-52
SLIDE 52

Distributed Implementation – From BIP to S/R-BIP

BIP is based on:  Global state semantics, defined by operational semantics rules, implemented by the BIP Engine  Atomic multiparty interactions, e.g. by rendezvous or broadcast Translate BIP models into observationally equivalent S/R-BIP models  Point to point communication by asynchronous message passing  Replace the BIP Engine by a set of Engines executing subsets of interactions  Collection of independent components intrinsically concurrent - No global state

  • Atomicity of transitions is broken by separating interaction from

internal computation  Translation is correct-by-construction

slide-53
SLIDE 53

Distributed Implementation – Atomic Components

 Before reaching a ready state, the set of the enabled ports is sent to the Engine  From a ready state, await notification from the Engine indicating the selected port a ga a b

Global state model

fa fb

S2S S2S S2S

b gb a ga a

  • {a,b}

b

  • {a,b}

Partial state model

fa fb b gb

slide-54
SLIDE 54

Distributed Implementation – Multiple Engines

SemanDcs ViolaDon

Dispatch interacDons across mul.ple engines !

Engine Engine

BIP Model

α1 α2 α3 α1 α2 α3

slide-55
SLIDE 55

Distributed Implementation – 3-Layer Architecture

S2S S2S S2S

C1 C6 C3 C5 C2 C4

α1 α2 α3 α4

C1

Protocol

  • ffer port

C2

Protocol

C3

Protocol

C4

Protocol

C5

Protocol

C6

Protocol

InteracDon Protocol

  • ffer

port

α1 α2

InteracDon Protocol

  • ffer

port

α3 α4

Conflict ResoluDon Protocol

reserve

  • k

CR Protocol Model

fail

Conflict ResoluDon Protocol

reserve

  • k fail
S2S S2S S2S α1
  • ffer port offer port offer port offer port offer port

[α1α2][α3α4]

reserve

  • k fail

reserve

  • k fail
slide-56
SLIDE 56

Distributed Implementation – Centralized CRP

p1

C1’ C3’ C2’ C4’

  • 1
  • 2
  • 3
  • 41

p2 p3 p5 p6 p4

InteracDon Protocol

α1 α2

InteracDon Protocol

α3 α4

  • 42

C5’

  • 51

p7 p8

  • 52

C6’

  • 6

p5 p6

Centralized Conflict ResoluDon Protocol

reserve2

  • k2

fail2 reserve3 ok3 fail3 reserve4 ok4 fail4 C1 C6 C3 C5 C2 C4

α1 α2 α3 α4

slide-57
SLIDE 57

Distributed Implementation – Token Ring CRP InteracDon Protocol

α1 α2

InteracDon Protocol

α3 α4

reserve2

  • k2

fail2 reserve3 ok3 fail3 reserve4 ok4 fail4 C1 C6 C3 C5 C2 C4

α1 α2 α3 α4

Token Ring CRP

Token Ring CRP

RT ST

Token Ring CRP

RT ST RT ST

p1

C1’ C3’ C2’ C4’

  • 1
  • 2
  • 3
  • 41

p2 p3 p5 p6 p4

  • 42

C5’

  • 51

p7 p8

  • 52

C6’

  • 6

p5 p6

slide-58
SLIDE 58

Distributed Implementation – Dining Philosophers CRP InteracDon Protocol

α1 α2

InteracDon Protocol

α3 α4

reserve2

  • k2

fail2 reserve3 ok3 fail3 reserve4 ok4 fail4 C1 C6 C3 C5 C2 C4

α1 α2 α3 α4

Dining Philosophers CRP Dining Philosophers CRP Dining Philosophers CRP

SF1 RF1 SR1 RR1 SF2 RF2 SR2 RR2 p1

C1’ C3’ C2’ C4’

  • 1
  • 2
  • 3
  • 41

p2 p3 p5 p6 p4

  • 42

C5’

  • 51

p7 p8

  • 52

C6’

  • 6

p5 p6

slide-59
SLIDE 59

Distributed Implementation – Detailed Design Flow

C 1 C 6 C 3 C 5 C 2 C 4

α1 α2 α3 α4

Conflict Resolution Protocol Partitioning of Interactions

p1 dp1 C1’ C3’ C2’ C4’ dp2 dp3 dp4 dp5 dp6
  • 1
  • 2
  • 3
  • 41
p2 p3 p5 p6 p4

Interactio n Protocol

α1 α2 Interaction Protocol α3 α4
  • 42
C5’ dp7 dp8
  • 51
p7 p8
  • 52
C6’ dp9 dp10
  • 6 p5 p6
Dining Philo. Conflict Resolution Protocol Dining Philo. Conflict Resolution Protocol reserve2 ok2 fail2 Dining Philo. Conflict Resolution Protocol SF1 RF1 SR1 RR1 SF2 RF2 SR2 RR2 reserve3
  • k3
fail3 reserve4
  • k4 fail4
S2S S2S S2S p1 dp1 C1’ C2’ C4’ dp2 dp5 dp6
  • 1
  • 2
  • 41
p2 p5 p6 Intera ction Proto col

α1 α2

Interaction Protocol

α3 α4

  • 42
C5’ dp7 dp8 o51 p7 p8
  • 52
C6’ dp9 dp10 o6 p5 p6 re se rv e2
  • k
2 fai l2 C3’ Dining Philo. Conflict Resolution Protocol

Partitioning of Components

S2S S2 S S2 S

Component 1 129.2.2.1 Core1 Component 2 129.2.2.1 Core3 Component 3 129.2.2.1 Core2

Core1 Core2 Core3 Core4 CHIP Core1 Core2 Core3 Core4 CHIP

Sockets/C+ + Code MPI/C++ Code Code Generator

S2S S2 S S2 S
slide-60
SLIDE 60

Distributed Implementation – Code Generation

slide-61
SLIDE 61

O V E R V I E W

61

 Rigorous System Design

  • Model-based Design
  • Component-based Design
  • Correct-by-construction Design

 The BIP Component Framework

  • The BIP Language
  • SW Componentization
  • Expressiveness
  • Distributed Implementation

 Discussion

slide-62
SLIDE 62

Discussion

Component framework encompassing heterogeneous composition  Clear separation between behavior and architecture (Interaction + Priority) involving a minimal set of constructs and principles  Expressiveness: BIP is as expressive as the universal glue Rigorous design flow  Correct-by-construction source-to-source transformations  Verification techniques based on compositionality, composability and incrementality  Global analysis techniques jointly taking into account : 1) interaction partitioning; 2) component partitioning; 3)HW resources Applications:  software componentization  programming multicore systems  complex systems modeling e.g.IMA

slide-63
SLIDE 63

Thank You

slide-64
SLIDE 64

Component-based – Glue Operators

{qi - ai →i q’i }i∈I { ¬ qk - ak →k }k∈K

(q1 ,. ., qn) - a → (q’1 ,. . , q’n) A glue operator is a set of derivation rules of the form

  • I,K ⊆ {1, …n}, I ≠ ∅, K∩I=∅
  • a= ∪i ∈I aI is an interaction
  • q’i = qi for i ∉I

A glue is a set of glue operators Notice that, non deterministic choice and sequential composition are not glue operators

slide-65
SLIDE 65

Rigorous System Design Flow in BIP

Platform Code Generation Implementation Transformation System model in S/R-BIP Protocols

≈ ≈ ≈

System model in BIP HW Infrastructure Mapping Transformation Translation Application SW Application SW model in BIP

S2S

S2S S2S S2S

S2S

S2S S2S S2S

S2S

S2S S2S S2S

S2S

S2S S2S S2S