urbanisation-si.com

urbanisation-si.com

Cours complet sur ATL (ATLAS Transformation Language) : le code impératif ATL, l’instruction de boucle : for

cours-complet-atl-atlas-transformation-language-code-imperatif-boucle-for.jpg

 

Dans l'article précédent :

https://www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-le-code-imperatif-atl-linstruction-de-test-if

nous avion abordé le code impératif ATL et l’instruction de test : if. Voyons à présent l’instruction de boucle : for

 

La boucle  for

Syntaxe :

 

for(iterator in collection) {
      statements
}

L’instruction "for" permet d’itérer sur les éléments d’une collection référencée. Pour chaque élément, le bloc “statement” sera exécuté.

Cet exemple fait reference au métamodèle MMPerson :

 

for(p in MMPerson!Person.allInstances()) {
      if(p.gender = #male)
            thisModule.men->including(aPerson);
      else
            thisModule.women->including(aPerson);
}

 

Les limitations

Il y a toujours des limites (même l’univers serait fini). En effet, il n’est pas possible de déclarer une variable à l’intérieur d’un bloc impératif ATL. Les variables qui peuvent être utilisées dans la portée de ces blocs sont :

  1. Les éléments sources et cibles déclarés dans une règle de correspondance locale;
  2. L’élément cible est déclaré dans une règle appelée ou de correspondance;
  3. Une variable déclarée localement (à l’intérieur d’une règle);
  4. Un attribut déclaré dans le contexte d’un module.

A partir d’un bloc impératif, on ne peut pas modifier une variable définie localement. A part les éléments sources et cibles, les seules variables modifiables sont les attributs définis dans le contexte du module ATL. Par conséquent les variables modifiables dans un bloc impératif, doivent être déclarées comme des attributs du module ATL.

 
"La puissance ne consiste pas à frapper fort ou souvent, mais à frapper juste."
Honoré de Balzac

 

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/



09/10/2015
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au site

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 764 autres membres