Création d'un projet ECore

Suivez les instructions du TP2 étape par étape jusqu'à l'étape 4

Étape 4 : Génération du diagramme de classes

Après avoir soigneusement suivi les 3 étapes précédentes mentionnées dans le TP2, nous sommes maintenant prêts à générer le diagramme de classes

1

Clic droit sur FiniteStateMachine.ecore puis cliquez sur « Initialize Ecore Diagram... »

2

Sélectionnez la première option puis cliquez sur « Next> »

3

Sélectionnez FSMPackage et donnez un nom approprié à votre diagramme puis cliquez sur « Finish »

4

Double-cliquez sur le cadre et attendez que le diagramme de classes apparaisse

Étape 5 : Configurations avancées du modèle

Étape 5.1 : Définition des contraintes

circle-exclamation
1

Ajouter un nouvel enfant EAnnotation

ajoutez le premier enfant EAnnotation et sélectionnez la variation « EAnnotation - http://www.eclipse.org/emf/2002/ECore »

2

Configuration de la valeur de la contrainte

puis cliquez dessus et cette fenêtre de dialogue apparaîtra :

écrivez « SingleInitialState » dans le champ Value puis cliquez sur le bouton Add, ensuite il apparaîtra dans la section Feature

cliquez sur le bouton OK.

3

Ajoutez un autre enfant EAnnotation à la classe Automaton

cette fois nous sélectionnerons la variation « EAnnotation - http://www.eclipse.org/emf/2002/ECore/OCL »

4

Configuration du nouvel EAnnotation

La nouvelle annotation apparaîtra sous la classe Automaton avec le nom « OCL ».

Vous devez maintenant faire un clic droit dessus, puis ajouter un nouvel enfant « Details Entry »

Dans la vue Propriétés, définissez les valeurs suivantes :

Propriété
Valeur

Clé

SingleInitial

Valeur

self.states->select(isInitial)->size() <= 1

Enfin, cela devrait apparaître ainsi :

Étape 5.2 : Configuration des données

dans les instructions du TP2 il était mentionné :

NamedElement :

- name : EString (required=true)

State :

- isInitial : EBoolean (defaultValue=false)

- isFinal : EBoolean (defaultValue=false)

Transition :

- garde : EString (required=true)

Event :

- code : EString (required=true, unique=true)

Cependant ce ne sont pas de véritables options disponibles, ce sont seulement quelques règles pour configurer les données qui se traduisent par :

Option mentionnée
Équivalent dans EMF - vue Propriétés

required = true

Lower Bound = 1

defaultValue = false

Default Value Literal = false

unique = true

unique = true

.

Mis à jour