Cours complet sur ATL (ATLAS Transformation Language) : De la bonne utilisation des règles dans le langage ATL
Dans l'article précédent :
nous avion abordé l’héritage des règles. Voyons à présent "la bonne utilisation des règles dans le langage ATL".
Comme le savez si vous avez jetez un œil sur les articles précédents, il y 3 types de règles déclaratives possibles :
- les règles de correspondance (matched rules) sont appliquées à chaque correspondance. Un ensemble d'éléments donnés ne peut être mis en correspondance que une seule règle standard.
- les règles paresseuses (lazy rules) sont appliquées autant de fois pour chaque correspondance dans laquelle la règle est référencée par une autre (potentiellement jamais pour certianes correspondances).
- les règles paresseuses uniques (unique lazy rules) are sont appliquées au moins une fois pour chaque correspondance, et seulement si elles référencées par d'autres règles.
Le tableau suivant résume le nombre d'application des règles suivant leur type :
Type de règle |
Nombre de références au pattern source |
Nombre de fois où les patterns cibles sont créés |
standard |
0 |
1 |
1 |
1 |
|
n > 1 |
1 |
|
lazy |
0 |
0 |
1 |
1 |
|
n > 1 |
n |
|
unique lazy |
0 |
0 |
1 |
1 |
|
n > 1 |
1 |
Recommandations :
- Préférez les règles déclaratives aux règles impératives. Utilisez seulement ces dernières seulement si c'est absolument nécessaire pour la transformation.
- Préférez la simplicité à la complexité :
- Utilisez le plus souvent quand c'est possible, les règles standards, autrement utilisez les "unique lazy rules", et "lazy rules" seulement en cas de nécessité.
- Utilisez "resolveTemp" seulement en cas de nécessité.
- Préférez les itérateurs (select, collect) à "iterate.
"Il suivait son idée. C'était une idée fixe, et il était surpris de ne pas avancer."
Jacques Prévert
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/
A découvrir aussi
- Ingénierie Dirigée par les Modèles (IDM) : le tour de passe-passe des transformations de modèles
- Ingénierie Dirigée par les Modèles (IDM) : cours complet sur ATL (ATLAS Transformation Language) : librairie ATL
- Cours complet sur ATL (ATLAS Transformation Language) : Les expressions déclaratives dans OCL / ATL
Inscrivez-vous au site
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 763 autres membres