Model Driven Engineering joel.champeau@ensta-bretagne
Transcript of Model Driven Engineering joel.champeau@ensta-bretagne
![Page 1: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/1.jpg)
Model Driven Engineering [email protected]
![Page 2: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/2.jpg)
3
Abstraction and modelling
Abstraction definition [Delaunay-EncUniv] :
• Simplification: simplifying the reality considered too complex
(apprehending in a unitary way and leading to a law)
• Generalization: generalize to conceptualize
• By selection: operation preparatory to classification
• Schematics: for modelling and its formalization for analysis
System and Software Modelling
• Our Models are really a system abstraction generally based on
Generalization, Selection and Schematics
• Many definitions of Model in the literature MDE […….]
A Model: Set of abstractions semantically defined and relative to a selected
intention
![Page 3: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/3.jpg)
4
Abstraction and modelling
Used of Models
• Many needs to satisfy:
• Static and dynamic description
• Present and understand
• Specification, Design…,
• AnalysiS
• Many Intentions associated to the models
• Many concerns to take into account for each intention
Generalisation, a Model for:
• Descriptive et Prescriptive [Sei03]
• Explanatory & Constructive [At11,Ku16]
A model for its ontological or prescriptive virtues
![Page 4: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/4.jpg)
5
Model definition and metamodel
Providing an abstract definition of modeling languages Reflexive approach applying to the modeling language definition
A model as a model definition = a Metamodel is a model of the model
language features (concepts, concept properties, relationships) Easy to understand Tool implementation independent
a Metamodel is a model of the model language features
Including concepts, concept properties, relationships and constraints
![Page 5: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/5.jpg)
6
Model Phenomenon Meta-Model
Represents Conform to
Metamodel definition
Model and meta-model : sea maps.
![Page 6: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/6.jpg)
7
Model Phenomenon Meta-Model
Represents Conform To
Metamodel definition -
Model and meta-model :
Model represents the real world with a particular intention.
Meta-model gives the definition of the modelling language. It’s a model too.
![Page 7: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/7.jpg)
8 DTN - IDM
process transmitter(1);
var t clock;
var b boolean;
var c boolean;
var m data;
state start #start ;
task b := false;
nextstate idle;
endstate;
state idle;
input put(m);
output sdt(m, b) via {tr}0;
set t := 0;
nextstate busy;
endstate;
state busy;
input ack(c);
Conform to
Metamodel definition
Meta-Model :
a model described with a diagram of classes.
Examples : definition of the modelling language IF for verification. (ENSTA Bretagne)
![Page 8: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/8.jpg)
9
Meta-Model
Conform to
Radar R
Air card
Engagement
(X , Y)
Missile Y Target X
Meta-model definition
Meta-Model :
Meta-Model : Abstract model of a domain model
Example : DSL for anti-air defence systems.
![Page 9: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/9.jpg)
10
metamodel definition
Definition
Metamodel = class model of concepts Semantics of the language domain = Concept identification Structural definition. Concept properties:
Attributes to qualify the concepts Operation to specifiy the concept behavior
Relationships between concepts Role identification (role naming) Composition or simple association Cardinality Generalization
Constraints on the previous structure description Used of OCL, for example
![Page 10: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/10.jpg)
11
4 level paradigm
meta-model
model
"the real world"
meta-meta
model
Meta meta-model
meta-models (UML Example)
Models (UML model elements)
Materialization of the models
(code generated from UML
models) M0
M1
M2
M3
![Page 11: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/11.jpg)
12 DTN - IDM
Meta-model description
MM description with a dedicated metamodel (meta-metamodel).
Example of Ecore model. Meta meta-model oin EClipse framework (EMF Eclipse Modeling Framework). Ecore becomes a standard....
![Page 12: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/12.jpg)
13 DTN - IDM
Meta-model description
MM description with a dedicated metamodel (meta-metamodel).
Example of Ecore.
![Page 13: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/13.jpg)
14
Meta-model description
MM description with a dedicated metamodel (meta-metamodel).
Example of Ecore.
![Page 14: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/14.jpg)
15
process transmitter(1);
var t clock;
var b boolean;
var c boolean;
var m data;
state start #start ;
task b := false;
nextstate idle;
endstate;
state idle;
input put(m);
output sdt(m, b) via {tr}0;
set t := 0;
nextstate busy;
endstate;
state busy;
input ack(c);
Conform to
Metamodel definition
Meta-Model :
a model described with a diagram of classes.
Examples : definition of the modelling language IF for verification. (ENSIETA)
![Page 15: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/15.jpg)
16
Some examples
System level
General purpose : SysML (UV5.8)
Domain specific : Capella (Thales, UV5.8), NAF (Nato Architecture Framework, DGA)
Software models and System models
![Page 16: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/16.jpg)
17
Capella
From Thales to Open source approach
Capacités opérationnelles Architecture opérationnelle
Architecture logique Architecture Physique
![Page 17: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/17.jpg)
18
Capella
From Thales to Open source approach
Scénario fonctionnel Modèle de données : Diag de classe
![Page 18: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/18.jpg)
19
Some examples
Domain specific modeling
Entreprise Architecture : Zachman framework (IT), etc…
Design modeling : AADL (component modeling), UML, etc…
Software modeling : UML, Merise
(Software) Product Line : Feature modeling
DSL general Approach : Sirius (Eclipse foundation – Obeo )
Software models and System models
![Page 19: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/19.jpg)
20
Zachman framework
And TOGAF, etc…
![Page 20: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/20.jpg)
21
Product Line Engineering
From system to software components
![Page 21: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/21.jpg)
22
Modélisation
Exigences : Rêves et Contraintes
Exécutable Système
Statique
Dynamique Vérification
Synthèse
Génération
Vue de D. Harel
Un modèle de système
avec les différentes préoccupations
![Page 22: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/22.jpg)
23
Modélisation
Exigences : Rêves et Contraintes
Exécutable Système
Statique
Dynamique Vérification
Synthèse
Génération
Vue de D. Harel
Des modèles système
à différents niveaux d’abstraction
Propriétés du
système à
satisfaire
Contrôle du
système
Architecture du
système
Analyse du
système
![Page 23: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/23.jpg)
24
Model Driven Engineering
From software entities to System of System
![Page 24: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/24.jpg)
25
Abstraction and modelling
Systems and Models
• A Model by intention and by concern [Fav06,Mul10,P1471]
• A set of models to abstract a system
Using models and Modelling languages
• What modelling?
• Concepts and relationships related to intention and concerns
• When modelling?
• In the methodological steps
• Where modelling?
• In the process development activities
Modelling the used of the models = Identify the role of the models :
• Modelling the methods and processes, with BPMN, SPEM
• Modelling the relationships in the modelling space
![Page 25: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/25.jpg)
26
Achieving a continuity in the development process
Software heterogeneous = Modeled it and applied separation of concern
Systems are naturally heterogeneous, complex, based on several concerns, several levels of abstraction
Retrieving several problematic
Focusing on concepts and not on real artifacts
Defining architecture (functional, logical, physical, etc…)
Defining behaviors
Intern: state machine, data flow, control flow
External: interaction between entities
Many others concerns like deployment, user needs, requirements, integration scenario, etc…
From Software models to System models
![Page 26: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/26.jpg)
27
Modelling and processes
Creating a Continuity
in the process
Modèles d’exigences
et d’architecture
Modèles de
conception
(niveau n+1)
Modèles du
système final
Modèles d’analyse
(niveau n)
Recette
du système
Test
d’intégration
(niveau n)
Test
(niveau n+1)
Génération de tests à
différents niveaux
(appliqués lors des
phases de remontée du
cycle)
![Page 27: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/27.jpg)
28
Modelling and Processes
Modèles d’exigences
et d’architecture
Modèles de
conception
(niveau n+1)
Modèles d’analyse
(niveau n)
Recette
du système
Test
d’intégration
(niveau n)
Test
(niveau n+1)
Early Validation
based on models
Modèles du
système final
Validation at each
level of abstraction
![Page 28: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/28.jpg)
29
UML modelling by example
Defining a « generic » methodology Thales R6 use case with the UML models associated The application : An anti-air system
![Page 29: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/29.jpg)
30
Modélisation : Système Anti-Aérien
Plusieurs modèles exécutables
Modèle d’analyse préliminaire
Objectif : Définir le contexte ou l’environnement du Système
Modèle d’analyse détaillée au niveau système
Objectif : Modèle fonctionnel avec les objets systèmes qui portent les
fonctionnalités du système
Modèle d’architecture logique
Objectif : Etablir l’architecture des entités logiques (composants)
organisant le système
![Page 30: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/30.jpg)
31
Model Driven Engineering
From UML set of models to …
Business
Model
Context
Model
Design
Model
![Page 31: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/31.jpg)
32
Modélisation Agile avec UML
Le QUOI ?
Use Case
Analyse
Diag Séquence
Le comportement
Opérations
et Statecharts
Trace
Diag Séquence
x y a
b c
x y a
b c
La structure
Diag Classe
Démo Rhapsody à suivre
![Page 32: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/32.jpg)
37
Another example:
MOPCOM SoC/SoPC project
MoPCoM
Allocated Model1adml
ddpm
aasm
sys
eepa
Allocated Model1
aaml
app
dpa
aml allocated
model
epa
apm
Execution Platform Model1
dpm
preq
eepa
Detai led Platform Model1
preqeepm
eml platform
refinement
ddpa
Abstract Platform Model1
preq
aapa
Allocated Model1
aeml
dpa
aml allocation
refinement
epm
aasm
aml allocated
model
Functional Application1
aapa
freq
cycleAccurate_analy sis,
documentation
adml
documentation, topology _analysis,
schedulability_analy sis
aeml
moc_analysis,
documentation
aaml
DML_plat_reqdpreq
AML_plat_reqapreq
hardware_code,
sof tware_code
sys
EML_plat_reqepreq
functional_Req
freq
aml allocated
model
eml platform
refinement
aml allocation
refinement
aml allocated
model
Abstract Modeling Level
Execution Modeling Level
Detailed Modeling Level
rhapsodyrhapsodymdWorkbenchmdWorkbench kermetakermeta
dml_platform_requirements1
eml_platform_requirements1
aml_platform_requirements1
requirement_analysis1
MOPCOM SoC/SoPC ANR project 2007-2010. 3 abstraction levels: Abstract Modeling Level:
Explicitation on virtual machine Executing Modeling Level:
Performances analysis on abstract machine
Detailed Modeling Level : Cycle accurate on detailed platform.
Each level = a set of models. Business model Platform model Allocation model Analysis model
Démo MDWorkbench à suivre
![Page 33: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/33.jpg)
38
MDA – OMG Specification
MDA - Model Driven Architecture – Historic approach
Platform Independent Modeling
• Model classification.
• Platform = service software layer.
Classes of models
PIM = Platform Independent Model
PSM = Platform Specific Model
PIM
PSM/CORBA
PSM/EJB
Use of known profile
for mapping, CORBA
Or EJB
![Page 34: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/34.jpg)
39
MDA definitions
MDA pattern
Revisited development cycle
• Y based
• PIM, PSM and PDM = Platform Description Model
PIM
PSM
PDM
Fusion Phase
![Page 35: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/35.jpg)
40
MDA definitions
MDA process
PIM, PSM and PDM are relative = Role Notion
PIM
PSM
PDM
PSM
PDM
PSM
PDM
![Page 36: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/36.jpg)
41
Transformations in the MDA context
PIM PSM
PIM to PSM
PIM to PIM PSM to PIM
PSM to PSM
Model transforming linked to different types.
Extension of the mapping notion to the transforming notion.
Classification of the transformations.
![Page 37: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/37.jpg)
42
Development Cycle
PIM PSM Code
1 3 6
5 2
4 7
Analysis Design Code
![Page 38: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/38.jpg)
43
Operation Classes
Transformations and meta-model :
In the scope of a meta-model
Refactoring
Refinement
In the subset of a meta-model.
Common parts to several meta-models.
Between two different meta-models
Generalization de N to N.
From a formalism to an other
![Page 39: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/39.jpg)
44
Transformations Operations
Simple operations :
• Creation, Modification, Navigation, Suppression, Display
• Serialization
• Extension, Reduction
• Measures of elements
• Code Generation, Traceability
More general operations :
• Comparison
• Veawing
• Fusion
• Alignment
• Reversible operation = Tracks production
• Abstraction
![Page 40: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/40.jpg)
45
Un exemple : Interface Homme - Système
Projet MEDUSA 2011-2014 (Telecom Br, ENAC, Thales, Sodius, Ensta Br) Modélisation pour la conception d’IHM orienté usages. Objectif : Guider la conception des IHMs du niveau système jusqu’à la réalisation
![Page 41: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/41.jpg)
46
Methodologie Symphonie pour IHM
![Page 42: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/42.jpg)
47
Méthodologie Symphonie pour IHM
Process activities Platform Metamodels (in
Y) are based on Domain Concepts (IHM)
From standard like UsxML (Concrete User Interface Metamodel)
Process rupture between models and recommendation reports
![Page 43: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/43.jpg)
48
IHM and Modelling
Process activity and metamodel identification Platform Metamodels (in Y) are based on Domain
Concepts (IHM)
Sub-set of standard metamodel like UsxML
Dedicated metamodels to target dedicated concern
Several abstract levels in metamodels
Process activity (Role) and metamodel constraints Methodological constraints on metamodels
Properties included in the metamodels
Easier to obtain metrics on used concepts
![Page 44: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/44.jpg)
49
Positionnement général de l’AUI
AUI
Proto Smok
CUI
IHM and Modelling Process
![Page 45: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/45.jpg)
50
Positionnement Langage AUI …
Modèle de tâche Ontologie et Modèle de RM
Information flow
AUI
Groupement
Data
Choice
Génération semi –automatique
CUI CUI conçue à partir de l’AUI qui est une spécification
Informations Système
![Page 46: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/46.jpg)
51
Positionnement Langage AUI …
Ontologie et Modèle de RM
![Page 47: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/47.jpg)
52
IHS et modélisation
Contexte : Metamodelisation et IHS • Indépendamment et après l’analyse système
• Systèmes réactif
• Aspect ontologique du domaine mais avec une finalité langage de modélisation
Besoins AUI • Analyse du modèle AUI
• Modèle structurel
• Chercher à identifier le contrôle associé à l’IHS • Indépendant des modalités
• Notion d’activation/desactivation
• Flux d’informations et contrôle
![Page 48: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/48.jpg)
53
IHS et modélisation
Metamodèle AUI • Une préoccupation formalisée (lien système – CUI)
• Un aspect ontologique du domaine avec un comportement local
• Spécification du contrôle des composants
![Page 49: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/49.jpg)
54
Composants élémentaires
![Page 50: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/50.jpg)
55
Information Flow
![Page 51: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/51.jpg)
56
Différents modèles conceptuels de
données
Modèle conceptuel de données au niveau système Modèle cognitif opérateur avec une représentation mentale de la situation
• aspect conceptuel • aspect dynamique
Modèle conceptuel de données de l’IHM • Cycle de vie • Représentation : visuelle graphique, textuelle, sonore, … modale • Codage/numérisation pour stockage sur un support, transmission • Nature : discrète, continue, globale, structurée vs élémentaire
![Page 52: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/52.jpg)
57
Identification de composants abstraits
Zone
Liste de Pistes
Configuration
FLIR video
Boat FLIR image
Radar image
DRP
track classification
track classification
TD
Length
RADAR mode
RADAR
FLIRimagery Classification
RADARimagery
Tactical Situation
PisteCourante
PisteCourante
PisteCourante
FLIR camera Decorated FLIR image
PisteCourante
DRP
DRP
Radar image
![Page 53: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/53.jpg)
58
Expérimentation du langage AUI
Input human side:
Radar, on
Order (Radar, on)
Radar, off
Assert( Radar, on)
Assert( Radar, off)
Radar(on)
Order (Radar, off)
Radar(Radar, off)
Controle du Dialogue
avec le Systeme
Output human side:
Expérimentation :
• 1 groupement
• composants élémentaires User2System
• composants élémentaires System2User
Identification du contrôle AUI
![Page 54: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/54.jpg)
59
2 exemples simples d'abord
RadarControl
Radar, on
Order (Radar, on)
Radar, off
Assert( Radar, on)
Assert( Radar, off)
Radar(on)
Order (Radar, off)
Radar(Radar, off)
FLIRimage
Dispatch ( CurrentTrack)
Order(FLIR camera, configuration)
Order(FLIR camera, TD )
Order(FLIR camera, snapshot)
FLIR video
Boat FLIR image
setCamera(TD)
Get FLIR image
Assert( CurrentTrack)
![Page 55: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/55.jpg)
60
Décomposition en composants élémentaires
Tactical situation
Update(Zone – TWS) Update(TrackList)
FLIRimage
RADARimage
Assert( aTrack, isCurrentTrack)
Assert.Classification( aTrack, TrackClassification)
Dispatch(CurrentTrack)
Dispatch ( CurrentTrack)
Order(FLIR camera, configuration)
Order(FLIR camera, TD )
Order(FLIR camera, snapshot)
FLIR video
Classification
Boat FLIR image
Order(RADAR, modeRadar)
setRADAR(modeRadar)
Radar image
DRP
Order (Decorated FLIR image, CurrentTrack)
Order( unePiste, TrackClassification)
Set (PisteCourante)
Boat FLIR image
SetClassification ( aTrack, TrackClassification)
setCamera(TD)
SetCamera( configuration)
Get FLIR image
Dispatch(CurrentTrack)
SetCurrentTrack( DecoratedFLIRimage)
SetClassification ( aTrack, TrackClassification)
DRP Radar image
Order( RADAR, RadarImage)
Get RADAR image
Order( RADAR, DRP)
Get RADAR image
Assert( TrackList)
Assert( CurrentTrack)
Assert( CurrentTrack)
![Page 56: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/56.jpg)
61
Conclusion
• Un metamodèle existe pour l'AUI
• Aspect ontologique fort
• Aspect structurel sur des regroupements ou composants
• Réceptacle possible de transformation de modèle
possible
• Exécution toujours possible mais quelle est sens de
cette exécution ?
![Page 57: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/57.jpg)
62 DTN - IDM
Metamodel, Syntax, Operationnal Semantics for Modeling Language
![Page 58: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/58.jpg)
63 DTN - IDM
Generic Modelling Framework
Syntax Semantics
MM
Conceptualisation MM
MoC
Concret Syntax
Mapping
MM
Syntax
Execution
Platform
Mapping
MoC
Platform
Language Definition
![Page 59: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/59.jpg)
64 DTN - IDM
Syntaxe Sémantique
Syntaxe
Concrète
Syntaxe
Graphique
Syntaxe
textuelle Syntaxe
Widgets (UI)
Generic Modelling Framework
![Page 60: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/60.jpg)
65 DTN - IDM
Syntaxe Sémantique
Plateforme
d’exécution
MM Outils
(OxF)
MM Custom
(XXXX) MM Langage
(Java)
Generic Modelling Framework
![Page 61: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/61.jpg)
66 DTN - IDM
Syntaxe Sémantique
Syntaxe
Concrète
Syntaxe
Graphique
Syntaxe
textuelle Syntaxe
Widgets (UI)
Sirius Context
Metamodel
Sirius Eclipse Project
Initiate by Obeo and Thales
![Page 62: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/62.jpg)
67
Sirius and Graphical syntax
Metamodel of System Engineering language
![Page 63: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/63.jpg)
68
Sirius and Graphical syntax
Sirius Odesign model
This model defines the mapping
between the metamodel and the
graphics elements
![Page 64: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/64.jpg)
69
Sirius and Graphical syntax
The resulting modeling tool : System Engineering Tool
![Page 65: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/65.jpg)
70
Sirius and Graphical syntax
Sirius Tooling :
− Mapping between the metamodel and graphical forms
− The Mapping is a Odesign model (based on Ecore model)
− The graphical forms are defined by an Ecore model
− Sirius interpreter interprets the mapping model to create the
modeling tool
![Page 66: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/66.jpg)
71 DTN - IDM
Syntaxe Sémantique
Plateforme
d’exécution
MM Outils
(OxF)
MM Custom
(XXXX) MM Langage
(Java)
Generic Modelling Framework
Metamodel
![Page 67: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/67.jpg)
72
Exemple Rhapsody
D Harel, statecharts creator Rhapsody tool
Close to UML standard.
Concurrency model = Active Objects
Communication - Messages Queue FIFO Asynchrous Events - macro obj->GEN(evt) - paramters. Synchronous Messages – high priority on asynchronous msg Method calls
Concurrence Model Evt dispatched towards receiver object RTC Consumption. Macro IS_IN( etat ) for AND-State.
Time with temporal evt Temporal Evt queued in the FIFO.
![Page 68: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/68.jpg)
73
UML Active Objects
Model of the active objects in Rhapsody
![Page 69: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/69.jpg)
74
UML Active Objects
Model of states relative to statecharts implementation
![Page 70: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/70.jpg)
75
UML Active Objects
Timed event in the Rhapsody execution model.
![Page 71: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/71.jpg)
76
UML Active Objects
Timed event manager in the Rhapsody execution model.
![Page 72: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/72.jpg)
77
Sujet de Contrôle Continu
Générateur de code SDL Mise en application d’une démarche de metamodélisation et
de production de l’outillage associé
Travail à rendre le 11 Décembre par mail [email protected] [email protected]
Générateur du code source SDL à partir d’une instance XML ou Json XML ou Json favorise la réutilisation et l’interopérabilité Applicabilité à tout langage dédié Application du pattern Visiteur
![Page 73: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/73.jpg)
78
Sujet de Contrôle Continu
Le langage SDL Langage du domaine des télécommunications pour la
spécification des protocoles De la règle à forme (années 80) aux outils informatiques actuels
(Pragmadev, etc…)
Standard de l’ITU Modèles de protocoles Description structurelle des systèmes Description comportementale des systèmes
Machine à états Communication asynchrone
Une syntaxe graphique et textuelle
![Page 74: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/74.jpg)
79
Le langage SDL
signal s,t;
t s
B
1(1) system convert
c_in c_out
s
C_out t
P
1(1) block B
rout rin
idle
t
s
idle
idle
1(1) process P
C_in
system convert;
signal s,t;
channel c_out nodelay from B to env with t;
endchannel c_in;
channel c_in nodelay from env to B with s;
endchannelc_out;
block B referenced;
endsystem convert;
block B;
channel rin nodelay from env to P with s;
endchannel rin;
channel rout nodelay from P to env with t;
endchannel rout;
process P referenced;
connect c_out and rout;
connect c_in and rin;
endblock B;
process P;
start;
nextstate idle;
state idle;
input s;
output t;
nextstate idle;
endstate idle;
endprocess P;
![Page 75: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/75.jpg)
80
La chaine de génération de code SDL
idl
e
t
s
idl
e
idl
e
1(1) proces
s
P
![Page 76: Model Driven Engineering joel.champeau@ensta-bretagne](https://reader036.fdocuments.us/reader036/viewer/2022062510/62b16478e7029405ef7592d6/html5/thumbnails/76.jpg)
81
La chaine de génération de code SDL
Travail demandé :
• Faire une recherche documentaire du langage SDL
• Dans un premier temps, nous pouvons retenir uniquement le niveau
System et le niveau Process avec son comportement interne pour la
communication (état, transition avec réception et expédition de
signaux)
• En fonction de votre avancée, vous pourrez augmenter la
description du langage. Soyez agiles, faites plusieurs itérations !!
• Faire en parallèle :
• Faire le format XML pour une instance du langage
• Faire le modèle Ecore comme spécification
• Utilisation Eclipse
• Création d’un projet Eclipse Modeling Framework – Ecore
Model
• Ecrire le code Java du metamodèle
• Faire le parser XML ou Json
• Voir documentation d’Alain Plantec
• Faire l’instanciation des classes Java du metamodèle à partir du
parcours de l’arbre DOM
• Faire le générateur de code SDL (format textuel) à l’aide d’un visiteur
• voir le cours d’Alain pour le Visiteur