urbanisation-si

urbanisation-si

Cours complet sur ATL (ATLAS Transformation Language) : le code impératif ATL, l’instruction d’affectation

cours-complet-atl-atlas-transformation-language-code-imperatif-affectation.jpg

 

Dans l'article précédent :

//www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-introduction-aux-regles-atl

nous avion abordé une introduction aux règles ATL. Voyons à présent le code impératif ATL et  l’instruction d’affectation.

 

Le code impératif ATL

ATL permet aux développeurs de spécifier du code impératif à l’intérieur de blocs dédiés ou dans une règle appelée (“called rule”). Un bloc impératif est composé de sequenceé d’instructioné impérativeé et comme en Java, C ou C++ ou bien d’autres encore, elles sont terminées par un point virgule (";").

L’instruction d’affectation

Permet d’assigner une valeur à des attributs définis dans le contexte du module ATL ou à des éléments du modèle cible.

Syntaxe :

 

target <- exp;

 

Exemple, soit un compteur entier déclaré et initialisé à 0 :

 

helper def: counter : Integer = 0;

 

La valeur du compteur peut être incrémentée dans la portée du bloc impératif :

 

thisModule.counter <- thisModule.counter + 1;

 

Exemple avec un attribut :  

 

aPerson.father.age <- aPerson.age + 25;

 

Exemple d’affectation de référence d’instance à l’intérieur d’une même règle :

 

aPerson.father <- anotherPerson;

De même il est possible d’affecter une référence d’un élément de modèle généré par une autre règle de correspondence (matched rule). Si l’élément assigné n’est pas l’élément source correspondant ou s’il ne s’agit pas de la règle par défaut d’un élément alors on doit utiliser l’opération resolveTemp().

ATTENTION : l’opération resolveTemp() doit être appelée lorsque la phase de correspondance de la transformation est terminée. Cela signifie, que resolveTemp ne peut pas être invoquée du point d’entrée d’une règle appelée ni d’une autre règle appelée invoquée à partir de ce point d’entrée.

 

"Nous tissons notre destin, nous le tirons de nous comme l'araignée sa toile."
François Mauriac

 

Voir aussi :  

 

//urbanisation-si.wix.com/blog

//urbanisme-si.wix.com/blog

//urbanisation-si.wix.com/urbanisation-si

//urbanisation-si.over-blog.com/

//rhonamaxwel.over-blog.com/

//urbanisation-des-si.blogspot.fr/

//bonnes-pratiques-si.eklablog.com/

//urbanisation-si.eklablog.com/



07/10/2015
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 99 autres membres