Presentation is loading. Please wait.

Presentation is loading. Please wait.

Validating Reconfigurations of Reo Circuits

Similar presentations


Presentation on theme: "Validating Reconfigurations of Reo Circuits"— Presentation transcript:

1 Validating Reconfigurations of Reo Circuits
Maurice H. ter Beek1, Fabio Gadducci2 and Francesco Santini3 1ISTI-CNR, Pisa, Italy 2Dipartimenti di Informatica, Università di Pisa, Italy 3EPI Contraintes, INRIA, Rocquencourt, France 2

2 Intro and Motivations Dynamic reconfigurations of Reo circuits
Reo circuits formally model the coordination among components Graph transformation techniques formally model reconfigurations Reconfiguration is triggered by events In our scenario, when system buffers become congested Applied to a critical scenario in Finance (Credit Suisse) The e-banking infrastructure can start loosing orders (i.e. money) Different infrastructures can be considered to save money A first simulation was presented at ESM’12 (Risk Analysis) This research was presented at ISARCS’13 (Architecting Critical Systems)

3 Simulation Beside a formal definition of coordination (Reo) and graph rewriting (DPO), we performed a simulation, to check how reconfiguring works in practice Modelica (for complex physical systems) and Dymola tool

4 Outline Introduction Reo Graph Transformation
Modelica Simulation Language Simulation Conclusion Future Work

5 In a Nutshell Reo Modelica Graph Rewriting Simulation

6 Reo [Arbab’04] A graphical language: it implements the composition of channels into circuits A circuit describes exogenous coordination Components (software) are not aware of how interaction works Circuits made of nodes and (open-ended set of) channels Nodes are where different channels are synchronized Components write/take data to/from circuits’ boundary nodes Every circuit defines an interface through its boundary nodes Semantics (also) based on constraint automata [Baier et al.’06]

7 Reo channels

8 Example with Writer/Reader
B = qo q1 {A} fifo = data {B} data = fifo s

9 Examples 1) a XOR 2) 2 lossy-fifo

10 Algebraic Graph Transformation
Rewrite (parts of) circuits by manipulating graphical structures Already proposed for Reo in [Krause’11] and [Krause et al.’13] Set of rewrite rules that state the objects to be modified L  R (pattern graph  replacement graph), K invariant/gluing graph Search occurrence of pattern graph L in G, then replace it to obtain H DPO approach: a rule is a pair of morphisms l: L  K, r: K  R in the graphs category denoting how graph L is rewritten into graph R while intermediate graphs store connection between items of LHS and RHS

11 Case1

12 Case 2

13 Rewriting Rule 1 K L R

14 Rewriting Rule 2

15 Rewriting Rule 3

16 Modelica Modelica is an object-oriented, declarative, modeling language for component-oriented modeling of complex systems, e.g. systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents

17 Modelica (2) An object oriented, modeling language
Modelica classes are not compiled in the usual sense, but they are translated into objects which are then exercised by a simulation engine The primary content of classes are equations: x + y = 3 – z They express equalities (not assignments) The simulation engine discovers the order of execution and which components in the equation are inputs and which are outputs Algorithmic parts can be present as well Open (OpenModelica) and commercial front-ends Dymola: Dynasim AB (now part of Dassault Systèmes)

18 Case 1 (Modelica)

19 Case 2 (Modelica)

20 Aggregating Values

21 Rewriting (Modelica) fifoCongestion > α 1) open 2) case1or2

22 (switch from case1 to case2)
Simulation fifoCapacity = 100 When (fifoCongestion ≥ 10%) then (switch from case1 to case2) 10K orders, 1h

23 Conclusion and Future Work
Formal design of coordination among components Easy to verify (e.g. model check) behaviour of coordination Formal design of event-triggered rewriting of coordination Simulation through an equation-based simulation language Application to a critical e-banking system To stress the infrastructure and have feedback on e.g. risk analysis Test other coordination schemes A link to Control Theory and Hybrid Simulation

24 Thank you for your time! Contact/questions:
25


Download ppt "Validating Reconfigurations of Reo Circuits"

Similar presentations


Ads by Google