urbanisation-si

urbanisation-si

Cours complet sur ATL (ATLAS Transformation Language) : les règles paresseuses (Lazy Rules)

cours-complet-atl-atlas-transformation-language-les-regles-paresseuses-lazy-rules.jpg

 

Dans l'article précédent :

//www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-les-matched-rules-la-section-bloc-imperatif-55

nous avion abordé les “Matched Rules” (les règles de correspondance) et la section bloc impératif. Voyons à présent  les règles paresseuses (Lazy Rules).

 

Les règles paresseuses (Lazy Rules)

Appel d’une « lazy rules »

Exemple d’une  « lazy rules » :

 

lazy rule getCross {
      from
            i: ecore!EObject
      to
            rel: metamodel!Relationship (
      )
}

Appel à partir d’une « matched rule » (règle de correspondance) :

 

rule Example {
      from
            s : ecore!EObject
      to
            t : metamodel!Node (
                  name <- s.toString(),
                  edges <- thisModule.getCross(s)
            )
}

Appel multiple :

 

rule Example {
      from
            s : ecore!EObject
      to
            t : metamodel!Node (
                  name <- s.
                  edges <- ecore!EClass.allInstancesFrom('yourmodel')->collect(e | thisModule.getCross(e))
            )
}

Lazy Rules unique

Déclaration :

 

unique lazy rule Example{
      ...
}

Quand une « lazy rules unique » est exécutée, elle renvoie toujours le même élément cible pour un élément source donné. L’élément cible est retrouvé en naviguant dans les liens de traçabilité internes.

Une « lazy rules non unique » ne navigue pas dans les liens traçabilité, et crée un nouvel élément cible à chaque exécution.

 

"Mieux vaut une conscience tranquille qu'une destinée prospère. J'aime mieux un bon sommeil qu'un bon lit."
Victor Hugo

 

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/



12/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 98 autres membres