urbanisation-si.com

urbanisation-si.com

Cours complet sur ATL (ATLAS Transformation Language) : pour terminer, une dernière chose à laquelle il faut prendre garde !

cours-complet-atlas-transformation-language-atl-piege-et-fin.png

 

Dans l'article précédent :

https://www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-les-mots-cles-atl

nous avion abordé les mots clés ATL. Voyons à présent pour terminer, une dernière chose à laquelle il faut prendre garde !

 

Avec ATL, un élément du modèle d'entrée ne peut pas être mis en correspondance plus d'une fois.

Cette contrainte n'est pas vérifiée à la compilation et peut conduire à des résultats inattendus.

Un cas typique de correspondance multiple se produit lorsque dans le modèle d'entrée, on est en présence d'un héritage avec la super classe qui n'est pas abstraite :

 

                       

La correspondance multiple apparaît ici en essayant respectivement de faire correspondre A et B dans les règles ( ruleA et ruleB).

Avec la pattern source : MM!A, la règle ruleA correspondra avec l'élément  A ainsi qu'un élément B.

Comme ce dernier aura une correspondance dans ruleB, on aura le problème de la correspondance multiple.  

Pour résoudre ce problème, on doit s'assurer que ruleA fait les correspondances avec seulement les éléments strictement A (et pas hérités).

Pour cela il faut filtrer dans le pattern source de la règle ruleA, le type d'élément mis en correspondance par la règle :

 

rule ruleA {
      from
            a : MM!A (
                  a.oclIsTypeOf(MM!A)
            )
 ...

 

La fonction OCL oclIsTypeOf  teste si dans le modèle d'entrée, les éléments sont des instances du métamodèle  passé en paramètre.

 

Et voilà qui termine ce cours sur le langage ATL, nous passerons bientôt à une application dans le domaine du processus d'urbanisation du système d'information pour les projections (transformations) des cartographies.

 

"Je veux être fort, non pour dominer mon frère, mais pour vaincre mon plus grand ennemi - moi-même."
Chef Iakota Yellow Lark

 

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/



17/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 705 autres membres