Cours complet sur ATL (ATLAS Transformation Language) : les requêtes ATL
Dans l'article précédent :
https://www.urbanisation-si.com/cours-complet-sur-atl-atlas-transformation-language-le-mode-affine-atl
nous avion abordé le mode “affiné” ATL. Voyons à présent les requêtes ATL.
Parallèlement aux “modules units”, ATL permet de définir des requêtes sur le modèle.
Une requête accepte plusieurs modèles sources et produit une unique valeur de retour de n’importe quell type primitive.
Elle est composée d’un élément de requête unique avec plusieurs helpers et attributs définis dans le context soit du module ATL soit dans n’importe quell élément de module défini dans la requête du modèle source.
Syntaxe :
Pas de contrainte sur le nom, il est toutefois conseillé de prendre le même nom que celui du fichier dans lequel la requête est définie.
Le corps de la requête est une expression OCL de n’importe quels types primitifs : string, boolean, integer or real.
Les helpers et les attributs definis dans le fichier de la requête (de manière similaire que ceux definis dans les librairies ATL importées) peuvent être appelés dans la portée du corps de l’élément de requête.
Dans un IDE (Integrated Development Environment), il peut être intéressant d’écrire les résultats de l’exécution d’une requête dans un fichier.
Exemple :
MMPerson!Person.allInstances()->size().toString().writeTo('result.txt');
Cette requête est executée sur le modèle MMPerson contenant plusieurs objets Person.
La requête commence par récupérer l’ensemble des objets de type Person ainsi que la taille de la collection.
Puis on écrit cette valeur dans un fichier (l’integer est casté en string, operation toString(), avant d’écrire dans le fichier "result.txt") .
A noter que la requête renvoie aussi la string.
"Le vrai bonheur est dans le calme de l'esprit et du coeur."
Charles Nodier
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) : cours complet sur ATL (ATLAS Transformation Language) : les types ATL
- Cours complet sur ATL (ATLAS Transformation Language) : les “Matched Rules”, la section des variables locales (3/5)
- Cours complet sur ATL (ATLAS Transformation Language) : le mode “affiné” ATL
Inscrivez-vous au site
Soyez prévenu par email des prochaines mises à jour
Rejoignez les 754 autres membres