ebook img

Vérification et Validation des Transformations de Mod`eles PDF

99 Pages·2012·1.88 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Vérification et Validation des Transformations de Mod`eles

UNIVERSITE D’ORAN Facult´e des Sciences exactes et appliqu´ees MEMOIRE DE MAGISTER Post-Graduation : Ing´enierie des Syst`emes Complexes et Multim´edia Discipline : Informatique V´erification et Validation des Transformations de Mod`eles pr´esent´e et soutenu par BERRAMLA Karima 02 Juillet 2014 JURY Pr´esident : BENHAMAMOUCH Djilali Universit´e d’Oran Encadreurs : SENOUCI Mohamed Universit´e d’Oran DEBA EL Abbassia Universit´e d’Oran Examinateurs : BELALEM Ghalem Universit´e d’Oran BENDELLA Fatima Universit´e M. Boudiaf d’Oran D´epartement d’Informatique Remerciements Si j’arrive à cette étape de rédaction de ma thèse, c’est parce que j’ai bénéficié de beaucoup de soutien. Aussi, je remercie sincèrement toutes les personnes qui ont contribué à cette œuvre par leur encadrement, leur aide, et leurs conseils. Je remercie sincèrement mes rapporteurs : Mr Senouci Mohamed et Mme Deba El Abbassia qui ont accepté de plancher sur ce travail. Leurs conseils précieux m’ont permis d’améliorer mes connaissances et d’aboutir à la production de ce travail. Je voudrais aussi remercier Mme Deba El Abbassia pour le temps qu’elle m’a accordée tout au long de ces années. Mes plus sincères remerciements vont également aux membres du jury, qui ont ac- cepté d’évaluer mon travail de thèse. Merci à Mr BENHAMAMOUCH, Mr BELALEM et Mme BENDELLA d’avoir accepté d’être les examinateurs de ce manuscrit, de m’avoir fait l’honneur de juger ce travail avec intérêt. Enfin, que tous ceux qui, d’une façon ou d’une autre m’ont soutenu, encouragé, conseillé, trouvent ici l’expression de ma profonde gratitude. I Je dédie ce travail, A tous ceux, qui me sont chers A tous ceux, qui ont cru en moi A tous ceux, qui m’ont fait confiance A tous ceux, qui m’ont motivé A tous ceux, que j’aime A tous ceux, qui m’aime A mes parents Je voulais vous remercier, d’avoir fait de moi ce que je suis aujourd’hui et des valeurs que vous avez si bien su m’inculquer, la gentillesse, le respect et le dévouement. Que ce travail soit la reconnaissance de tous vos sacrifices. Aux mes s œurs et mes frères Vous êtes le rayon de soleil de ma vie. Je vous suis reconnaissante pour votre amour, votre soutien, votre joie de vivre et surtout notre complicité. II Résume : L’Ingénierie Dirigée par les Modèles (IDM) se base sur l’utilisation intensive et systéma- tique des modèles tout au long du processus de développement de logiciels. Ainsi, l’IDM vise à améliorer l’interopérabilité, la réutilisation et la possibilité de migrer les modèles pour des applications hétérogènes. Dans le contexte de l’IDM, la transformation de modèles est une phase cruciale puisqu’elle définit l’automatisation qui peut être utilisée dans le processus de développement de logiciels. Il est donc nécessaire d’augmenter la sûreté, la vérification et la validation d’une telle transformation de modèles. A cet effet, il est important de proposer des solutions pour intégrer les méthodes formelles dans le processus de transformation où la plupart des langages de transformation n’ont pas une sémantique formelle pour ajouter des spécifications détaillées sur le comportement attendu. L’idée de base de notre travail est de définir une transformation de modèles avec un langage de transformation comme QVT-op, vérifier la conformité des modèles avec le langage OCL et valider le programme de transformation en utilisant un assistant de preuve Coq. Nous illustrons ce travail en spécifiant une transformation de modèle complexe et hétérogène entre le diagramme d’états-transitions UML et les réseaux de Petri. Mots Clés : Transformation de modèles, Langage QVT-op, Vérification, Valida- tion, Assistant de preuve Coq, Langage OCL. Abstract: Model-Driven Engineering (MDE) is based on the extensive and systematic use of models throughout the process of software development. Thus MDE aims to improve interoperability, reusability and the possibility of model migration to heterogeneous applications. In MDE, model transformation is a crucial phase because it defines the automation that is used in the software development process. So it is necessary to increase the safety, verification and validation of such model transformation. For this purpose, it is important to give solutions to integrate formal methods in the transforma- tion process where most transformation languages have not a formal semantics to add detailed specifications on the expected behavior. The basic idea behind our approach is to define a model transformation with a transformation language like QVTop, verify the conformance of models with OCL language and validate the transformation program by using Coq proof assistant. We illustrate this by specifying a complex and heterogeneous model transformation between UML State machine and Petri Net. Key Words: Model Transformation, QVT-op language, Verification, Validation, Coq Proof Assistant, OCL language. III Table des matières Liste des figures VIII Liste des tableaux X Acronymes XI Introduction Générale 1 Chapitre 1 Ingénierie Dirigée par les Modèles 3 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Concepts de base de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Métamodélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Transformation de modèles . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Pourquoi la transformation de modèles? . . . . . . . . . . . . . . . . . . . 8 1.3.1 Génération automatique du code . . . . . . . . . . . . . . . . . . . 8 1.3.2 Translation de modèle . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.3 Migration de modèles . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3.4 Ingénierie inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Les approches de transformation . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.1 Transformation de modèle à modèle . . . . . . . . . . . . . . . . . . 10 1.4.1.1 Approches manipulant directement les modèles . . . . . . 10 1.4.1.2 Approches relationnelles . . . . . . . . . . . . . . . . . . . 10 1.4.1.3 Approches basées sur la transformation de graphes . . . . 11 1.4.1.4 Approches dirigées par la structure . . . . . . . . . . . . . 11 1.4.1.5 Approches hybrides . . . . . . . . . . . . . . . . . . . . . . 11 1.4.2 Transformations Modèle à code . . . . . . . . . . . . . . . . . . . . 11 1.4.2.1 Approches basées sur le parcours de modèles . . . . . . . . 11 1.4.2.2 Approches basées sur les templates . . . . . . . . . . . . . 12 IV 1.5 Critères de classification des approches de transformation de modèles . . . 12 1.5.1 Règles de transformation . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5.2 Portée des règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.3 Relation entre le modèle source et le modèle cible . . . . . . . . . . 13 1.5.4 Ordonnancement des règles . . . . . . . . . . . . . . . . . . . . . . 13 1.5.5 Organisation des règles . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.5.6 Traçabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5.7 Directivité ou réversibilité : . . . . . . . . . . . . . . . . . . . . . . 14 1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Chapitre 2 Les Méthodes Formelles 15 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 Pourquoi utiliser les méthodes formelles? . . . . . . . . . . . . . . . . . . . 16 2.3 Classification des Méthodes Formelles . . . . . . . . . . . . . . . . . . . . . 17 2.3.1 Classification de J. Wing . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.1.1 Méthodes Orientées propriétés . . . . . . . . . . . . . . . . 17 2.3.1.2 Méthodes Orientées Modèles . . . . . . . . . . . . . . . . . 18 2.3.2 Classification de Meyer . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.2.1 Méthodes logiques . . . . . . . . . . . . . . . . . . . . . . 19 2.3.2.2 Méthodes dynamiques . . . . . . . . . . . . . . . . . . . . 19 2.3.2.3 Méthodes ensemblistes . . . . . . . . . . . . . . . . . . . . 20 2.3.2.4 Méthodes hybrides . . . . . . . . . . . . . . . . . . . . . . 20 2.3.3 Autre classification . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.3.3.1 Méthodes de Spécification Formelle . . . . . . . . . . . . . 20 2.3.3.2 Méthodes de Vérification Formelle . . . . . . . . . . . . . 21 2.3.4 Comparaison des classifications . . . . . . . . . . . . . . . . . . . . 22 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Chapitre 3 Vérification et Validation dans l’Ingénierie Dirigée par les Mod- èles 23 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Vérification dans la transformation de Modèles . . . . . . . . . . . . . . . . 24 3.3 Techniques de Vérification . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.1 Techniques semi-formelles . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.2 Techniques formelles . . . . . . . . . . . . . . . . . . . . . . . . . . 26 V 3.3.2.1 Vérification formelle par preuve . . . . . . . . . . . . . . . 26 3.3.2.2 Vérification formelle par "Model checking" . . . . . . . . . 27 3.4 Validation dans l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5 Techniques de validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.1 Techniques semi-formelles . . . . . . . . . . . . . . . . . . . . . . . 28 3.5.2 Techniques formelles . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.5.2.1 Validation formelle par la méthode B . . . . . . . . . . . . 29 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapitre 4 Outils d’expérimentation 30 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2 Outils de l’IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.2.1 Langage Ecore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.2 Langage OCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.2.3 Langage QVT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2.3.1 La partie déclarative . . . . . . . . . . . . . . . . . . . . 33 4.2.3.2 La partie impérative . . . . . . . . . . . . . . . . . . . . . 34 4.3 Outil formel : Assistant de preuve Coq . . . . . . . . . . . . . . . . . . . . 35 4.3.1 Les termes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3.2 Types inductifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3.3 Fonctions et Fonctions récursives . . . . . . . . . . . . . . . . . . . 36 4.3.4 Théorème et Preuve . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Chapitre 5 Transformation de Modèles : Etude de cas 40 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.2 Exemple d’étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.1 Diagramme d’états-transitions . . . . . . . . . . . . . . . . . . . . . 41 5.2.1.1 État . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2.1.2 État Simple . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.1.3 État Final . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.1.4 État Composite . . . . . . . . . . . . . . . . . . . . . . . . 42 5.2.1.5 Pseudo-État . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.1.6 Sous-machine à états . . . . . . . . . . . . . . . . . . . . 45 5.2.1.7 Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 VI 5.2.1.8 Région . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.2.2 Réseau de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3 Approche IDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.3.1 Métamodélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.3.1.1 Spécification du métamodèle source . . . . . . . . . . . . . 49 5.3.1.2 Spécification du métamodèle cible . . . . . . . . . . . . . . 49 5.3.2 Processus de transformation de modèles . . . . . . . . . . . . . . . 50 5.4 Exécution de la transformation . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.1 Exemple : Système ATM . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.2 Exemple : Comportements de la montre . . . . . . . . . . . . . . . 61 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Chapitre 6 Mise en œuvre de la vérification et de la validation 63 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.2 Vue générale sur notre approche . . . . . . . . . . . . . . . . . . . . . . . . 63 6.3 Mise en œuvre de la vérification . . . . . . . . . . . . . . . . . . . . . . . . 64 6.3.1 Spécification des propriétés du métamodèle source . . . . . . . . . . 65 6.3.2 Spécification des propriétés du métamodèle cible . . . . . . . . . . . 65 6.4 Mise en œuvre de la validation . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.4.1 Spécification en langage Gallina . . . . . . . . . . . . . . . . . . . . 66 6.4.1.1 Spécification des métamodèles source et cible . . . . . . . 67 6.4.1.2 Spécification des modèles source et cible . . . . . . . . . . 68 6.4.1.3 Spécification des règles de transformation . . . . . . . . . 71 6.4.2 Formalisation de théorème . . . . . . . . . . . . . . . . . . . . . . . 71 6.4.3 Preuve de théorème . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Conclusion Générale 75 Bibliographie 77 Annexe 83 VII Liste des figures 1.1 Notions de base en ingénierie des modèles . . . . . . . . . . . . . . . . . . 5 1.2 Composantes de l’ingénierie dirigée par les modèles . . . . . . . . . . . . . 6 1.3 Métamodèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.5 Concepts de base des transformations de modèles . . . . . . . . . . . . . . 8 1.6 Les activités de la transformations de modèles . . . . . . . . . . . . . . . . 8 1.7 Les approches de transformation de modèles . . . . . . . . . . . . . . . . . 10 2.1 Classification de J. Wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Classification de Meyer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 Autre classification de J. Wing . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1 La Vérification et la Validation dans la transformation de modèles. . . . . 24 3.2 Les techniques de Vérification. . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3 Les techniques de Vérification. . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.1 métamodèle de la machine d’états. . . . . . . . . . . . . . . . . . . . . . . 31 4.2 métamodèle de Réseau de Petri. . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Présentation textuelle du métamodèle de Réseau de Petri. . . . . . . . . . 32 4.4 Notions de base en ingénierie des modèles . . . . . . . . . . . . . . . . . . 33 5.1 Un diagramme d’états-transitions simple. . . . . . . . . . . . . . . . . . . . 41 5.2 État final. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.3 État composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4 Les différents types de pseudo-état. . . . . . . . . . . . . . . . . . . . . . . 44 5.5 Exemple de réseau de Petri. . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.6 Notre processus de transformation. . . . . . . . . . . . . . . . . . . . . . . 48 5.7 Métamodèle du diagramme d’états-transitions. . . . . . . . . . . . . . . . . 49 5.8 Métamodèle du réseau de Petri. . . . . . . . . . . . . . . . . . . . . . . . . 50 5.9 Transformation d’un état simple. . . . . . . . . . . . . . . . . . . . . . . . 51 5.10 Transformation d’un état final. . . . . . . . . . . . . . . . . . . . . . . . . 51 5.11 Transformation d’un état composite. . . . . . . . . . . . . . . . . . . . . . 51 5.12 Transformation d’une Sous machine d’états. . . . . . . . . . . . . . . . . . 52 5.13 Transformation d’un Pseudo-état initial. . . . . . . . . . . . . . . . . . . . 52 5.14 Transformation d’un pseudo-état terminal. . . . . . . . . . . . . . . . . . . 52 5.15 Transformation d’une Transition simple. . . . . . . . . . . . . . . . . . . . 53 VIII 5.16 Transformation d’une Transition de bifurcation. . . . . . . . . . . . . . . . 53 5.17 Transformation d’une Transition de jointure. . . . . . . . . . . . . . . . . . 54 5.18 Transformation d’une Transition de jonction. . . . . . . . . . . . . . . . . . 54 5.19 Transformation d’une Transition de choix. . . . . . . . . . . . . . . . . . . 55 5.20 Transformation d’une Transition de point de sortie. . . . . . . . . . . . . . 55 5.21 Transformation d’une Transition de point d’entrée. . . . . . . . . . . . . . 56 5.22 Transformation d’une transition avec une source composite : cas 1. . . . . 56 5.23 Transformation d’une transition avec une source composite : cas 2. . . . . 56 5.24 Transformation d’une transition avec une destination composite. . . . . . . 57 5.25 Transformation d’une Transition avec une source de type sous machine d’état : cas 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.26 Transformation d’une transition avec une source de type sous machine d’état : cas 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.27 Transformation d’une transition avec une destination de type sous machine d’état. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.28 Transformation d’une Transition d’un état initial. . . . . . . . . . . . . . . 58 5.29 Transformation d’une transition d’un état final. . . . . . . . . . . . . . . . 58 5.30 Transformation d’une transition interne. . . . . . . . . . . . . . . . . . . . 59 5.31 règles de transformation en QVT-op. . . . . . . . . . . . . . . . . . . . . . 59 5.32 Diagramme d’état-transitions du systèmr ATM. . . . . . . . . . . . . . . . 60 5.33 Réseau de Petri du systèmr ATM. . . . . . . . . . . . . . . . . . . . . . . . 61 5.34 Diagramme d’état-transitions de la montre. . . . . . . . . . . . . . . . . . . 61 5.35 Réseau de Petri de la montre. . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.1 Processu de Transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . 64 IX

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.