ECTS
5
Établissement
INP - ENSEEIHT
Liste des enseignements
Ingénierie Dirigée par les Modèles (IDM)
Établissement
INP - ENSEEIHT
Cette matière présente les concepts de l'Ingénierie Dirigée par les Modèles en s'appuyant sur les technologies de l'écosystème Eclipse et de son projet EMF (Eclipse Modeling Framework) :
* Définition de métamodèles avec Ecore et de modèles conformes
* Sémantique statique avec OCL
* Syntaxes concrètes textuelles avec Xtext
* Syntaxes concrètes graphiques avec Sirius (visualisation de modèles et
définition d'éditeurs graphiques)
* Transformation de modèle à texte à Acceleo
* Transformation de modèle à modèle avec ATL mais aussi EMF/Java
Le cas d'étude qui sert de fil rouge aux Travaux Pratiques de cette matière consiste à déterminer la terminaison de processus en les transformant en réseaux de Petri pour utiliser les outils de vérification formelle associés. Il constitue ainsi aussi une introduction aux méthodes
formelles et à la logique temporelle.
Deux projets permettent de valider la compréhension des concepts et la bonne utilisation des différents outils.
Métaprogrammation et Tests
Établissement
INP - ENSEEIHT
Cette matière présente les patrons de conception (la construction du patron Visiteur est réalisée en Travaux Dirigés), l'introspection, les annotations utilisées à la compilation et à l'exécution et les techniques de tests.
Les Travaux Pratiques permettent en particulier de réécrire le *framework* de test unitaire JUnit en s'appuyant sur l'introspection (équivalent de JUnit3) ou les annotations (équivalent de JUnit4). L'utilisation à la compilation est montrée en définissant une annotation *@utility* qui permet de vérifier qu'une classe est utilitaire à l'image de la classe java.lang.Math de Java.
La partie « Tests » présente les notions de tests fonctionnels et tests structurels, le graphe de contrôle, les mesures de couvertures de test. En TP, des outils de couverture de test, de définition de doublures (mocking) et d'injections d'erreur (PITest) pour évaluer les programmes de test sont utilisés.

