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

Post on 13-Aug-2019

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related