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

4.4.2.3 Le moteur de validation et de génération de code Ada

Après avoir fait notre projet Xpand et les règles de cohérences sous forme d'OCL. Nous avons testé notre programme en utilisant un générateur.

Ce générateur, dans notre cas utile deux variables, l'une nommée « model » avec comme valeur « k », précise le modèle XMI à entrer.

Et l'autre « src-gen » de valeur « src-gen », précisant la place ou les fichiers générés vont être enregistrés.

De plus notre générateur contient quatre composants :

~ Reader : Il permet de lire le modèle XMI à utiliser pour la transformation.

~ DirectoryCleaner : Il permet de nettoyer le répertoire, ici « src-gen », qui contient les artefacts générés.

~ CheckComponent : Ce composant contient le fichier de contraintes OCL « Check » pour valider notre modèle XMI à entrer.

~ Generator : Ce composant permet de préciser le générateur de code à utiliser dans notre workflow pour générer notre code.

Le workflow donné ci-dessous permet de générer le code Event-B relatif au modèle XMI conforme au méta-modèle Event-Ben utilisant les templates Xpand fournis précédemment.

3

1

<?xml version=" 1.0 "?>

<workflow>

<propertyname="SCEH" value=" Event-B. generator . project / src /SCEH. xmi"

5

/>

<propertyname=" src-gen " value=" src-gen "/>

7 <!-- set up EMF for standalone execution -->

<beanclass=" org . eclipse . emf .mwe. u t i l s . StandaloneSetup ">

9 <platformUrivalue=" .. "/>

</bean>

11 <!-- instantiate metamodel -->

<beanid="mm_emf"

13 class=" org . eclipse . xtend . typesystem . emf . EmfRegistryMetaModel "/>

<!-- load model and store i t in slot ' model' -->

15 <componentclass=" org . eclipse. emf .mwe. u t ils . Reader">

page 85

4.4 Transformations de modèle ECore vers Event-B en utilisant une approche IDM (Ingénierie Dirigée par les Modèles).

31

33

35

37

39

<urivalue= platform : / resource /\${SCEH} />

<modelSlotvalue= SCEH /> </component>

19 <componentclass= org . eclipse . emf .mwe. u t ils . DirectoryCleaner > <directoryvalue= {src -gen} />

21 </component>

<!-- check model -->

23 <componentclass= org . eclipse . xtend . check. CheckComponent > <metaModelidRef= mm_emf />

25 <checkFilevalue= src :: Checks /> <emfAllChildrenSlotvalue= SCEH />

27 </component>

<!--generate code -->

29 <componentclass= org . eclipse . xpand2 . Generator > <metaModelidRef= mm_emf />

<expand

value= template :: Template:: main FOR SCEH />

<outletpath= {src-gen} >

<postprocessorclass= org . eclipse . xpand2 . output. JavaBeautifier />

</outlet>

<resourceManagerclass= org . eclipse . xtend . expression . ResourceManagerDefaultImpl >

<fileEncodingvalue= ISO-8859-1 /> </resourceManager>

</component> </workflow>

17

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








"Tu supportes des injustices; Consoles-toi, le vrai malheur est d'en faire"   Démocrite