WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Une approche IDM du transformation du modèle ecore vers event-b.

( Télécharger le fichier original )
par Bouazizi Hana
FSM - Mastère recherche 2014
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

1.7 Le langage Check pour la vérification de contraintes

La plate forme (OAW) Open Architecture Ware fournit aussi un langage formel appelé Chek (Xpand) pour la spécification des contraintes que le modèle doit respecter pour être correct est basé sur OCL.

Les contraintes spécifiées avec ce langage doivent être stockées dans des fichiers avec l'extension « .Chk ». Ce fichier doit commencer par une importation du méta-modèle selon le format « import metamodel; ».

Chaque contrainte est spécifiée dans un contexte, soit une méta-classe du méta-modèle importé, pour lequel la contrainte s'applique.

Les contraintes peuvent être de deux types :

~ Warning : dans ce cas, si la contrainte n'est pas vérifiée un message sera affiché sans que l'exécution s'arrête.

~ Error : dans ce cas, si la contrainte n'est pas vérifiée un message sera affiché et l'exécution sera arrêtée.

page 22

1.8 MWE (Modeling Workflow Engine)

Example:

context Entity WARNING

"Names have to be more than one character long" : name.length > 1;

Cette contrainte avertit que l'attribut name des instances de la méta-classe Entity doit normalement être plus long qu'un caractère. Le langage Check est basé sur OCL (OCL).

1.8 MWE (Modeling Workflow Engine)

MWE, est une composante d'EMFT (EMF Technology), est un moteur de génération déclaratif configurable qui s'exécute sous Eclipse. Il fournit un langage de configuration simple, basé sur les balises XML. Un générateur workflow est composé d'un ensemble de composants qui sont exécutées séquentiellement dans une JVM (Java Virtual Machine) unique.

~ Les propriétés

Ce sont des variables qui contiennent des valeurs utilisables par d'autres éléments. Les propriétés peuvent être déclarées n'importe où dans un fichier workflow. Ils seront disponibles après leurs déclarations.

Il y a deux types de propriétés : les propriétés fichiers et les propriétés simples. L'utilisa-tion d'une propriété se fait selon le format.

La balise <property> possède plusieurs attributs :

1. name : cet attribut définit le nom de la propriété.

2. value : cet attribut définit la valeur de la propriété .

3. file : cet attribut permet de préciser le nom d'un fichier qui contient la définition d'un ensemble de propriétés. Ce fichier sera lu et les propriétés qu'il contient seront définies.

Example 1

<component

class="org.eclipse.emf.mwe.utils.DirectoryCleaner"> <directory="${runtimeProject}/src-gen"> </component>

page 23

1.9 Conclusion

~ Les composants

Les composants workflow représentent une partie du processus générateur. Ils représentent généralement les analyseurs modèles, validateurs de modèles, les transformateurs de modèles et les générateurs de codes.

Example 1

<component

class="org.eclipse.emf.mwe.utils.DirectoryCleaner"> <directory="${runtimeProject}/src-gen"> </component>

Le composant DirectoryCleaner contient, entre autre, la propriété directory. Il permet de nettoyer le répertoire, ici runtimeProject/src-gen, qui contient des artefacts générés avant de (re-) produire ces artefacts.

Example 2

<bean class="org.eclipse.emf.mwe.utils.StandaloneSetup"> <platformUri="${runtimeProject}/..">

</bean>

La classe StandaloneSetup n'est pas un composant du workflow au sens étroit. Toutefois, cette classe a besoin d'être référencée dans le workflow afin de mettre en place le méta-modèle EMF défini en mode autonome. Elle contient, entre autre, la propriété platformUri.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Entre deux mots il faut choisir le moindre"   Paul Valery