contribution à la conception simultanée de syntaxes ...urtado/slides/pfister_27_06_2013.pdf ·...
TRANSCRIPT
30/07/2013
1
Contribution à la conception
simultanée de syntaxes
abstraites et de notations
graphiquesApplication à la définition de
langages pour l'Ingénierie SystèmeDoctorant: François Pfister
Directeur de thèse: Vincent Chapurlat
Co-Directrice de Thèse: Marianne Huchard
JD2013 – Nîmes -27/06/2013
Plan
• eFFBD, un DSML pour l'IS
• Syntaxe abstraite et syntaxe concrète
• La syntaxe abstraite et son annotation avec la syntaxe concrète
• Un éditeur généré à partir de la SA annotée
• Les mots-clé du langage Diagraph
• Etude de cas sur un langage fonctionnel simpliste
• Edition d'un modèle du domaine pour ce langage
• les 3 couches d'un atelier de création d'un langage graphique
• Les mappings entre ces couches
• Virtualisation des diagrammes avec Diagraph
• Le métamodèle de Diagraph
• L'outillage Diagraph, ses fonctionnalités
2
30/07/2013
2
eFFBD, un DSML pour l’IS
3
DSML vs UML vs SysML ?
Un DSML: a) une syntaxe abstraite
4
Ceci est un M2 d’IS
• Besoins
• Exigences
• Architecture fonctionnelle
• Architecture physique
Dépôt de patrons
Requêtable:
• Contexte
• Problème
• Solution
• Mots-clés
Notion de paramétrage
Fusion de modèles
Application de motifs
Modèle to be …
30/07/2013
3
Un DSML: b) une syntaxe concrète
5
1- textuelleEffbd 1{
Start{
Fork{
Function wash{}
Function heat{}
}
Join{
….
}
}
2- graphique
Notre champ de recherche:
• Syntaxe concrète graphique
• Pas de sémantique opérationnelle
eFFBD v2: La syntaxe abstraite
6
• Des modèles in abstracto ?
• Des modèles construits en vue d’une syntaxe
concrète ?
30/07/2013
4
eFFBD v2: La syntaxe abstraite annotée
7
eFFBD v2: La syntaxe abstraite annotée
8
30/07/2013
5
Un modèle eFFBD v2 édité
9
Quelle sémantique ?
Les mots-clé du langage Diagraph
10
node
link
cref
kref
afx
view
pov
nav
shape
icon
label
ref
label=$attribute_name
pov=$view_name
view=$view_name
nav=$view_name
decorate the element with the attribute $1
defines the node as the root of the view $1
the element belongs to the view $1
hyperlink to the root of the view $1
afx=$afx_name
link
shape=$DShape
icon=$icon_name
defines an affixed composition through the EReference $1
defines a labeled link absorbing the EClass
defines a kind of shape for a node or 2 kinds of arrow for a link or a ref
decorates the element with the icon $1
ordered ordered=$true|$false free or ordered layout for the node
node
cref=$ref_name
ref=$ref_name
kref=$kref_name
mapped as a node
defines a nested composition through the EReference $1
defines a bare link through the EReference $1
defines a compartmented composition through the EReference $1
Usage Summary (complete syntax in the reference manual)Mapping statement
30/07/2013
6
Etude de cas: un langage de flux
fonctionnel « jouet »
11
Syntaxe semblable à celle
d’eFFBD v2, mais on peut
connecter tout avec tout (ou
presque)
Un modèle du domaine
12
30/07/2013
7
Diagrammer = mapping entre des concepts (N types) et
un graphe (2 types)
13M2 sémantique axiomatique de la syntaxe abstraite (=M3)
M2 sémantique axiomatique
du domaine « diagramme » (=graphe)
Diagrammer = mapping entre les concepts
14
30/07/2013
8
Modéliser = instancier des concepts (les classes du M3)
15
class
attributeReference
inheritance
Rendre les modèles communicables => les projeter sur
un diagramme
16
class
attributeReference
inheritance
30/07/2013
9
Rendre les modèles communicables => les projeter sur
un diagramme
17
GMFDiagraph
Etre indépendant de la plateforme => paradigme PIM
de l’IDM
18
Diagraph
node
link
cref
kref
afx
view
pov
nav
shape
icon
label
ref
ordered
Mapping statement
Gmf Tools
Gm
fR
un
tim
e
DO
T
Gra
ph
viz
30/07/2013
10
Diagraph, le métamodèle
19
L’atelier Diagraph (mode langage)
20
30/07/2013
11
L’atelier Diagraph (mode modeleur)
21
Consolidation
• Inférence de la grammaire (Blazo Nastov)• Détection de patterns dans le M2 du domaine
• Génération automatique des annotations
• Dans les cas indécidables, elles sont marquées et complétées manuellement
• Validation– Recueil de M2 dans la littérature, Atlantic Zoo, etc
1. Annotation de ces M2
2. Application de Diagraph
3. Examen des traces de transformation
4. Utilisation de l’éditeur, protocole de recette avec évaluation sur plusieurs critères
22
30/07/2013
12
Expérimentation
• Interne au labo, implémentation du DSML Gemos(Vincent Chapurlat)
• Intervention à l’UM2, Master Aigle
– Enseignement d’IDM
– Emf, les bases
– Les DSML graphiques; comparaison et évaluation de• GMF pur
• Diagraph
• Obeo Designer
23
Enquête + questionnaire
Mise à disposition
24
30/07/2013
13
Se
ssio
n p
ost
er-
de
mo
@
EC
MFA
-20
13
25
Conclusion
• Création d’un dépôt de modèles
• Aide en ligne
• Animation (wiki, groupe de discussion…)
• Les questions:– Enjeux de recherche, enjeux industriels (chiffres OBEO)
• 23000 visiteurs uniques
• 16 000 téléchargements
• 70 % international
• Lancement du marketplace en février 2012: 45000 visites
• 2200 membres +100 % en 1 an
• 3 millions lignes de codeOpenSource
– Type de licence (collaborative ?)
• Poursuite des travaux – Sémantique des langages générés
26
30/07/2013
14
Suite et réflexions
• Sémantique axiomatique• Large support existant avec l’écosystème emf-ecore
• Nous apportons un processus avec Diagraph et un notamment un support de la fusion de M2
• Syntaxe• Support peu satisfaisant avec GMF
• Nous apportons un processus outillé avec Diagraph
• Coévolution de la syntaxe concrète et de la syntaxe abstraite
• V&V• Validation perpétuelle des M2, (par étude de la faisabilité) grâce à la possibilité d’éditer
immédiatement des instances, de manière graphique. Génération d’un modèle de trace capturant les erreurs et les anti-patterns.
• Proposition de patterns de métamodélisation de niveau 1 (Blazo)
• A venir: patterns de métamodélisation de niveau 2, mise en œuvre de méthodes de reconnaissance basées sur des calculs de similarité, par rapport à une base existante, et inférence de: – 1) fragments de M2
– 2) syntaxe concrète avancée
27