urbanisation-si.com

urbanisation-si.com

Cours complet sur ATL (ATLAS Transformation Language) : les “Matched Rules”, la section bloc impératif (5/5)

cours-complet-atl-atlas-transformation-language-matched-rule-section-bloc-imperatif-5.jpg

 

Dans l'article précédent :

https://www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-les-matched-rules-le-pattern-element-cible-45

nous avion abordé les “Matched Rules” (les règles de correspondance) et la section du pattern élément cible. Voyons à présent  la section bloc impératif.

 

La section bloc impératif (5/5)

La dernière section d’une règle de correspondence ATL est la section optionnelle do.

Elle permet de specifier une séquence d’instructions impératives qui seront exécutées une fois que l’initialisation des éléments générés de modèle cible sera terminée.

Par exemple, on l’utiliser pour calculer des “id” pour les éléments de modèles générés.

 

Exemple :

helper def : id : Integer = 0;
      ...
      rule Journal2Book {
            from
                  j : Biblio!Journal
            to
                  b : Biblio!Book (
                        ...
                  )
            do {
                  thisModule.id <- thisModule.id + 1;
                  b.id <- thisModule.id;
            }
}

Une variable globale est définie dans le contexte du module ATL et initialisée à 0.

Pour avoir un id unique, le bloc impératif de la règle de correspondance incrémente la valeur de la variable globale  et assigne cette valeur à l’élément généré. 

 

"Tu me dis, j'oublie.
Tu m'enseignes, je me souviens.
Tu m'impliques, j'apprends."
Benjamin Franklin

 

Voir aussi :  

 

http://urbanisation-si.wix.com/blog

http://urbanisme-si.wix.com/blog

http://urbanisation-si.wix.com/urbanisation-si

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

http://rhonamaxwel.over-blog.com/

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

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

http://urbanisation-si.eklablog.com/



11/10/2015
1 Poster un commentaire

A découvrir aussi


Inscrivez-vous au site

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 709 autres membres