contribution à la conception simultanée de syntaxes ...urtado/slides/pfister_27_06_2013.pdf ·...

14
30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de notations graphiques Application à la définition de langages pour l'Ingénierie Système Doctorant: 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

Upload: doankien

Post on 13-Aug-2019

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 2: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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 …

Page 3: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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 ?

Page 4: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

30/07/2013

4

eFFBD v2: La syntaxe abstraite annotée

7

eFFBD v2: La syntaxe abstraite annotée

8

Page 5: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 6: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 7: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 8: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 9: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 10: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

30/07/2013

10

Diagraph, le métamodèle

19

L’atelier Diagraph (mode langage)

20

Page 11: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 12: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 13: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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

Page 14: Contribution à la conception simultanée de syntaxes ...urtado/Slides/Pfister_27_06_2013.pdf · 30/07/2013 1 Contribution à la conception simultanée de syntaxes abstraites et de

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