urbanisation-si

urbanisation-si

Cours complet sur ATL (ATLAS Transformation Language) : les requêtes ATL

cours-complet-atl-atlas-transformation-language-requete.jpg

 

Dans l'article précédent :

http://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 :

 

query ''query_name'' = ''exp'';

 

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 :

 

query PersonNb = 
      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/

http://bonnes-pratiques-si.eklablog.com/

http://urbanisation-si.eklablog.com/



16/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 114 autres membres