Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI Institut de la Francophonie pour Institut National de Recherche en Informatique l’Informatique, Hanoi, Vietnam et en Automatique - INRIA Lille-Nord Europe Mémoire de fin d’études Master en informatique Option Systèmes et Réseaux Automatisation de l’enchaînement des tâches exécutées sur des modèles Réalisé par : Nguyen Viet Hoa Promotion 13, IFI Sous la direction de : Cédric Dumoulin Lille-France, le 01 Juillet 2009 1 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI Remerciements Tout d’abord, je voudrais remercier mon encadrement direct, Cédric Dumoulin, pour sa responsabilité de mon stage et son aide de tout cœur dans ce stage. De nombreux courriels et les discussions régulières avec lui m’ont aidés à comprendre au fur et à mesure le problème. L’intelligence dans la façon de sa direction m’a également aidé à mieux contrôler mes travaux et à surmonter les difficultés. Je tiens à remercier particulièrement M.
Jean -Luc DEKEYSER, responsable de l’équipe - projet de m’avoir accueilli dans son équipe et de m’avoir aidé durant mon stage. Je voudrais aussi adresser mes grands remerciements à Alexis Muller et tous les professeurs, chercheurs de l’équipe DART, pour les discussions utiles avec eux pendant mon stage. Et je tiens également à remercier mes collègues, les stagiaires à l’INRIA Lille, d’avoir partagé les difficultés de la vie au cours de mon stage. Enfin, je remercie tous mes collègues, les professeurs et les personnels de l’IFI de m’avoir aidé au cours de mes études.
2 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI Résumé L’équipe projet INRIA DaRT propose un environnement de conception GASPARD basé sur l’ingénierie dirigée par les modèles pour la conception de systèmes embarqués à hautes performances. Les systèmes embarqués sont conçus à un niveau d ’abstraction élevé à l’aide du profil standard MARTE (Modeling and Analysis of Real -time and Embedded systems). En se basant sur l’Ingénierie Dirigée par les Modèles (IDM), les modèles MARTE sont raffinés vers des niveaux d’abstraction plus bas. Cependant, dans le système Gaspard actuel, la définition de la chaîne de transformation est complexe, partant de modèles de hauts niveaux jusqu’à la production de code simulable, testable, vérifiable.
De plus, de la simulation et du refactoring sont appliqués manuel lement sur les modèles générés. Il faut avoir donc une solution pour uniformiser toutes les tâches différentes : transformation, test, simulation, refactoring. Et il faut avoir une solution pour définir facilement les chaînes de tâches. Dans ce stage on do it proposer un métamodèle ainsi qu’un profil UML qui permet la modélisation des différentes tâches, leurs donnés d’entrée et de sortie, leurs dépendences, …Ensuite, on construit un moteur d’exécution qui permet l’exécution des tâches.
Mots-clés : IDM (Ingénierie Dirigée par les Modèles), Gaspard 2, Transformation entres des modèles, moteur d’exécution, Méta -modèle, EMF. 3 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI Abstract The DaRT project-team main research topic is the co -design of embedded systems by a Model Driven Engineering (M DE) approach. We propose an integrated development environment, called Gaspard 2, allowing the design of embedded systems using models at a high level of abstraction. From these models, it is possible to automatically generate various codes and models than can be used for example for simulation.
Going from the models at a high level of abstraction to the code is done through a chain of model transformations using intermediate models. In the actual Gaspard tool, the “transformation chain” definition is compl ex. Furthermore, tools like simulators or refactoring are applied manually on generated models. We would like to make uniform the different processes (transformation, test, simulation, refactoring) applied on models.
For that, we say that each process is a task applied on input models and eventually producing output models. A task can depend on other tasks, or on the presence of input models to be executed. Thus, we have a graph of task dependencies. We want to be able to define easily such execution grap h with an appropriate model, and then execute a task.
Execution of a task can be conditioned by different input and output models, the dependencies…So we propose a Meta model allowing modeling such tasks, their dependencies, their input and outputting mode ls…and then implementing the engine allowing the execution of the tasks. Key Words: MDE (Model Driven Engineering), Metamodel, Models transformation, Execution engine. 4 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI TABLE DES MATIERES Remerciements. 4 TABLE DES MATIERES.
5 LISTE DES FIGURES .5 Environnement du stage .6 Organisation du document. 10 2 Etat de l’art.1 Modèle conceptuel du SPEM .2 Paquet Basic Elements .3 Paquet Process Structure .4 Paquet Process Lifecycle .5 Profil UML SPEM .2 UML4SPM (UML2.0-Based Language For Software Process Modeling) .1 Métamodèle UML4SPM .2 Le Package Process Structure .3 Le Package UML4SPM Foundation .4 Exécution des modèles de procédés UML4SPM .3 Le diagramme d’activité UML et le profil .4 SPEM et UML4SPM pour le système Gaspard. 28 3 Le système Gaspard 2. 31 4 Modèlisation UML des chaînes d e transformation .3 Un profil pour la spécification de processus .4 Le métamodèle d’execution .1 La transformation UML vers modèle .2 Le moteur d’execution .6 Mise en œuvre.
52 5 Conclusion et Perspectives. 57 Annexe 1 : La Modélisation et l’exécution d’une chaîne. 57 Annexe 2 : Génération des classes Java à partir le métamodèle. 61 Annexe 3 : La transformation QVTo.
63 5 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI Annexe 4 : L’interface d’utilisation et Initialisation de la première tâche. 66 Annexe 5 : Implantation de l’activité. 72 Annexe 6 : Implantation de l’action de transformation QVTo. 80 Annexe 7 : Implantation d’une tâche.
85 Annexe 8 : Implantation de la tâche de Java. 90 6 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI LISTE DES FIGURES Figure 1. SPEM_Foundation et SPEM_Extension. Modèle conceptual du SPEM.
Paquet Basic Elements. Structure d’un procédé du SPEM. Paquet Process Lifec ycle. Exemple des classes de base.
Hiérarchie de packages du métamodèle UML4SPM. UML4SPM Process Structure Package. UML4SPM Foundation Package. UML4SPM Software Activity extending UML 2.
UML4SPM WorkProduct extending UML 2. The Execution Model approach. Un exemple du diagramme d’activité UML. Solution proposée e n utilisant UML4SPM.
L’enchaînement de transformations dans Gaspard actuel. Notre Moteur d’exécution. Une modélisation par notre solution. Une sous-chaîne de la chaîne au dessus.
Une chaîne qui utilise le garde de branches conditionnelles. Le profil proposé. Un exemple de la modélisation de la chaîne de tâches. Métamodèle proposé pour les chaînes de trans formations GASPARD.
Création d’un nouveau diagramme d’activité. Modélisation d’une tâche de transformation QVTo. Modélisation d’une tâche Java. Un exemple de lancement d’un diagramme d’activité UML.
Le résultat de l’exécution de la chaîne dans la figure 22. Créer un projet EMF. Importer le métamodèle. Générer les classes Java pour le métamodèle.
63 7 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI 1 Introduction 1.1 Contexte L’équipe projet DaRT propose un environnement de conception GASPARD basé sur l’ingénierie dirigée par les modèles pour la conception de systèmes embarqués à hautes performances. Les systèmes embarqués sont conçus à un niveau d’abstraction élevé à l’aide du profil standard MARTE ( Modeling and Analysis of Real -time and Embedded systems). En se basant sur l’Ingénierie Dirigée par les Modèles (IDM), les modèles MARTE sont raffinés vers des niveaux d’abstraction plus bas. En exploitant tout ce potentiel, GASPARD permet aux concepteurs de générer automatiquement du code pour la vérification formelle, la simulation et la synthèse de matériel à partir de spécification haut niveau de systèmes embarqués à hautes performances.
Cependant, dans le système Gaspard actuel, la définition de la chaîne de transformation est complexe, partant de modèles de hauts niveaux jusqu’à la production de code simulable, testable, vérifiable. De plus, de la simulation et d u refactoring sont appliqués manuellement sur les modèles générés. Il faut avoir donc une solution pour uniformiser toutes les tâches différentes : transformation, test, simulation. Et il faut avoir une solution pour définir facilement les chaînes de tâche s.2 Objectifs La tâche principale de mon stage est de trouver une solution pour faciliter la définition de chaînes de tâches dans le système Gaspard, et ensuite, il faut créer un moteur d’exécution automatique toutes les tâches dans la chaîne définit.
On propose l’utilisation du diagramme d’activité UML associé à un profil pour faciliter la modélisation de la chaîne de transformation. On propose aussi un méta -modèle permettant la modélisation des tâches, leurs dépendances, leurs modèles d’entrées et de sorties. Enfin, un moteur exécute automatiquement toutes les tâches dans la chaîne qui est 8 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI définit dans le diagramme d’activité. Pour cela, il faut construire un programme (moteur) qui permet d’implémenter la solution proposée.
L’entrée de ce moteur est le d iagramme d’activité UML qui modélise les chaînes de tâches différentes. Ce moteur exécute toutes ces tâches en respectant le flux de tâches, le flux de donnée et les gardes des branches conditionnelles.3 Motivation Ce stage m’offre l’occasion d’enrichir m es connaissances dans le domaine de l’Ingénierie Dirigée par les Modèles (IDM) et de me familiariser avec les outils d’IDM comme EMF, Eclipse, Papyrus UML et QVT. La proposition du métamodèle, et du profil UML ainsi que l’implémentation du moteur d’exécuti on m’ont permit d’acquérir des connaissances en IDM, modélisation, méta modélisation, transformation QVTo. De plus, je pourrais acquérir des connaissances dans le domaine des systèmes embarqués et participer aux activités de recherche de l’équipe – projet DaRT.4 Contribution Au cours de ce stage, nous avons proposé une solution pour modéliser les chaînes de transformation par l’utilisation de diagramme d’activité UML, et l’exécution automatique de ces chaînes par un moteur d’exécution en Java.
Actuelleme nt, les transformations dans le système Gaspard sont exécutées de façon manuelle, mais la chaîne de transformations dans le système Gaspard est assez complexe, partant de modèles de hauts niveaux jusqu’à la production de code simulable, testable, vérifiabl e. Avec la solution proposée, on peut définir facilement les chaînes de transformations dans le système Gaspard en utilisant le diagramme d’activité UML ainsi que notre métamodèle et notre profil. Grâce à l’utilisation de diagramme d’activité UML et une interface graphique de notre moteur d’exécution, les utilisateurs peuvent modéliser aisément des chaînes de tâches qui sont ensuite réalisés par notre moteur d’exécution. 9 TIEU LUAN MOI download : skknchat@gmail.com Mémoire de fin d’études Nguyen Viet Hoa Automatisation des tâches exécutées par des modèles Promotion 13, IFI 1.5 Environnement du stage Le centre de recherche INRIA Lille - Nord Europe est un des huit centres de recherche de l'Institut National de Recherche en Informatique et en Automatique.
Le lieu de travail de ce stage se situe à l’INRIA Lille – Nord Europe, au sein de l’équipe DaRT sous la responsabilité de Jean – Luc DEKEYSER - Responsable de l’équipe – projet et Cédric DUMOULIN - maître de conférences. DaRT est un Equipe -projet commune avec le LIFL (CNRS et Université des Sciences et Technologies de Lille).