Heterogeneous Systems and Multi-Paradigm...
Transcript of Heterogeneous Systems and Multi-Paradigm...
![Page 1: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/1.jpg)
ModHel'X
Heterogeneous Systems and Multi-Paradigm Modeling
E3S Supelec Systems Science
Cécile Hardebolle, Frédéric Boulanger, Christophe Jacquet
![Page 2: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/2.jpg)
Who are we?
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 2
} Supélec = leading engineering school (“Grande Ecole”) in information sciences and energy
} Degree courses: 460 students graduating each year (engineering diploma) } Continuing education } Research & development: Supélec Systems Science (E3S)
(automatic control, signal processing, radio communications, electromagnetism, power systems, computer science)
} Department of Computer Science = research & education department
} Personalization: adaptive hypermedia, guided web queries (4 + 4 PhD students) } Optimization of high-performance networks (2 + 2 PhD students) } Modeling techniques for heterogeneous systems (6 + 4 PhD students)
Recruiting now!
![Page 3: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/3.jpg)
Questions
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 3
① What is heterogeneity?
![Page 4: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/4.jpg)
Heterogeneity at the system level
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 4
Control systems
Mechanics, aerodynamics
Sensors/actuators
Software platforms
Hardware platforms
Networks
Electronics
Energy
Physical world
![Page 5: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/5.jpg)
} Combination of components of different natures (signal processing, electronics, control...) } Composition of models
} Several abstraction levels } Refinement of models
} Orthogonal points of view } Models of functional and
extra-functional properties/behavior
} Different activities and goals during a project } Models for different kind of analysis
spécification
conception
implémentation
vérification & tests
validation spécification
conception
implémentation
vérification & tests
validation
≠ « domains »
Heterogeneity at the model level
1-mai-12 5
specification
design
implementation
verification & tests
validation
≠ activities
Heterogeneous Systems and Multi-Paradigm Modeling
specification
design
implementation
verification & tests
validation
≠ abstraction levels
≠ views
![Page 6: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/6.jpg)
Heterogeneity in ModHel'X
1-mai-12 6
} Focus on the heterogeneity of the components of a system: } Heterogeneous components ➡ heterogeneous design paradigms } Interaction among components + environment ➡ model composition
} The problem we try to address =
} Experimental platform = ModHel'X
Heterogeneous Systems and Multi-Paradigm Modeling
How to compose models that are written using different modeling languages in order to be able to reason globally
on a system under design?
![Page 7: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/7.jpg)
The power window example
1-mai-12 7
Controller
AUTO
Switch
Window
Bus
Discrete Events (DE) model
Timed FSM (TFSM) model
Synchronous Dataflow
(SDF) model
Heterogeneous Systems and Multi-Paradigm Modeling
Or Continuous Time (CT) model
![Page 8: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/8.jpg)
Questions
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 8
① What is heterogeneity? ② How to represent a modeling paradigm in a form
that is “composable”?
![Page 9: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/9.jpg)
Model of Computation
1-mai-12
} Represents the semantics of a modeling language } Provides the rules for interpreting a model
u
v A B
u
v
A B
9
CSP FSM
Heterogeneous Systems and Multi-Paradigm Modeling
?
u
v
A B
![Page 10: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/10.jpg)
Model = structure + MoC
1-mai-12 10
} The structure of a model is a set of interconnected blocks (black boxes)
} A MoC is used to provide an interpretation (semantics) of that structure
Heterogeneous Systems and Multi-Paradigm Modeling
DE
AUTO
WCmd
Controller Switch Window
WEnd ctrlWCmd
ctrlWEnd
UCmd ctrlUCmd
![Page 11: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/11.jpg)
MoCs currently available in ModHel'X
1-mai-12
} Discrete Events (DE) } Exchange of events⟨value, date⟩ } ≈ Network messages
} Synchronous Data Flow (SDF) } Flows of sampled data } Multi sample rate } ≈ Simulink block diagrams
} Timed Finite State Machines (TFSM) [+ FSM + *Charts] } Timed transitions: “after(T)” } ≈ very simplified UML's Stateflow
} Petrinets
11 Heterogeneous Systems and Multi-Paradigm Modeling
![Page 12: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/12.jpg)
The power window example (again)
1-mai-12 12
Controller
AUTO
Switch
Window
Bus
Discrete Events (DE) model
Timed FSM (TFSM) model
Synchronous Dataflow
(SDF) model
Composition? Composition?
Heterogeneous Systems and Multi-Paradigm Modeling
Or Continuous Time (CT) model
![Page 13: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/13.jpg)
Questions
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 13
① What is heterogeneity? ② How to represent a modeling paradigm in a form
that is “composable”? ③ How to compose models that use different
modeling paradigms?
![Page 14: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/14.jpg)
Composition of heterogeneous models
1-mai-12 14 Heterogeneous Systems and Multi-Paradigm Modeling
DE
AUTO
WCmd
Controller Switch Window
WEnd ctrlWCmd
ctrlWEnd
UCmd ctrlUCmd
Extract of the model of the window: up mode with up endstop detection
SDF
> height
EndStop
∑
Position
× torque
Torque
Composition?
![Page 15: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/15.jpg)
} “Interface blocks” are used to embed a model into a block ➡ Support for heterogeneity through hierarchy
Composition of heterogeneous models
1-mai-12 15 Heterogeneous Systems and Multi-Paradigm Modeling
WCmd
Window (InterfaceBlock)
SDF
> height
EndStop
∑
Position
× torque
Torque
AUTO
Controller Switch
ctrlWEnd
UCmd ctrlUCmd
DE
WEnd ctrlWCmd
Adaptation
Extract of the model of the window: up mode with up endstop detection
![Page 16: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/16.jpg)
inputs
What is adaptation?
1-mai-12 16
} Adaptation of data } Forms } Values
} Adaptation of control flow } “Moments” at which
“things” happen
} Adaptation of time notions } Time scales } Time forms (seconds,
revolutions, centimeters…)
Heterogeneous Systems and Multi-Paradigm Modeling
DE Control
SDF Control
WCmd
Window (InterfaceBlock)
WEnd
T T T
valueX
dateX
T
DE Events
SDF data flows
valueY
dateY
outputs
![Page 17: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/17.jpg)
Outline
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 17
① What is heterogeneity? ② How to represent a modeling paradigm in a form
that is “composable”? ③ How to compose models that use different
modeling paradigms? ④ What is the benefit of modeling the adaptation explicitly
and apart from the models?
![Page 18: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/18.jpg)
The window model in PtolemyII
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 18
DE
WCmd
Window (InterfaceBlock)
WEnd
SDF
> height
EndStop
∑
Position
× torque
Torque
Model of the window in “open loop”: up mode with
up endstop detection
![Page 19: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/19.jpg)
The window model in PtolemyII
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 19
} Default adaptation: } The SDF model reacts only when events are processed in DE } DE events are produced in the DE model each time the SDF model reacts
} Changing the adaptation means modifying one of the two models
Events in DE Flows in SDF SDF model not regularly sampled…
Redundant events in DE…
![Page 20: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/20.jpg)
Adapted model in PtolemyII
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 20
Events in DE Flows in SDF
Works but the original model has been modified…
![Page 21: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/21.jpg)
Questions
1-mai-12 Heterogeneous Systems and Multi-Paradigm Modeling 21
① What is heterogeneity? ② How to represent a modeling paradigm in a form
that is “composable”? ③ How to compose models that use different
modeling paradigms? ④ What is the benefit of modeling the adaptation explicitly
and apart from the models?
![Page 22: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/22.jpg)
Key points
1-mai-12
} Our approach: } Models of Computation (MoCs) for representing the semantics
of design paradigms } Semantic adaptation for composing heterogeneous models
using hierarchy
} Goals of ModHel'X: } Extensible set of MoCs } Explicit, customizable and modular semantic adaptation between
hierarchical models
22 Heterogeneous Systems and Multi-Paradigm Modeling
![Page 23: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/23.jpg)
Current research directions
1-mai-12 23
} Modeling MoCs } Imperative form ➡ execution } Declarative form ➡ verification & validation } Variants of a MoC? Reusability of (parts of) a model of a MoC?
} Modeling Semantic Adaptation } Clock calculus to describe adaptation of time and control
(extension of CCSL) } Language to describe adaptation of data } Patterns of adaptation
} Multi-view modeling
} Beyond heterogeneous model simulation: test, code generation, model checking…
Heterogeneous Systems and Multi-Paradigm Modeling
![Page 24: Heterogeneous Systems and Multi-Paradigm Modelingmsdl.cs.mcgill.ca/.../CAMPaM/2012/50_schedule.dtml/... · MoCs currently available in ModHel'X 1-mai-12 ! Discrete Events (DE) ! Exchange](https://reader036.fdocuments.us/reader036/viewer/2022071418/6115ee6212d2261baf2e238a/html5/thumbnails/24.jpg)