La mesure des modèles par les modèles : une approche ...

De
Publié par

oN d’ordre: 3785
Thèse
présentée
devant l’Université de Rennes 1
pour obtenir
le grade de Docteur de l’Université de Rennes 1
Mention Informatique
par
Martin Monperrus
Équipe d’accueil : INRIA/Triskell - ENSIETA/Dtn
École Doctorale : Matisse
Composante universitaire : IFSIC
Titre de la thèse :
La mesure des modèles par les modèles :
une approche générative
Soutenue le 6 octobre 2008 devant la commission d’examen.
Composition du jury :
Présidente
Françoise André Professeur à l’Université de Rennes 1
Rapporteurs
Stéphane Ducasse Directeur de Recherche à l’INRIA
Houari Sahraoui Professeur à l’Université de Montréal
Examinateurs
Dominique Luzeaux Directeur à la DGA
Joël Champeau Enseignant-chercheur à l’ENSIETA
Jean-Marc Jézéquel Professeur à l’Université de Rennes 1 (Directeur de thèse)
Invités
Brigitte Hoeltzener Enseignant-chercheur à l’ENSIETA
Gabriel Marchalot Ingénieur à Thales Airborne Systems
tel-00514492, version 1 - 2 Sep 2010 tel-00514492, version 1 - 2 Sep 2010 Résumé
La mesure des modèles par les modèles: une approche générative
L’ingénierie dirigée par les modèles est une approche du génie logiciel qui utilise
des modèles comme artefacts de première importance, à partir desquels la validation,
le code, les tests et la documentation sont dérivés. Les modèles peuvent être généra-
listes (e.g.; UML), propres à un domaine (e.g.; les systèmes temps réels), ou même
spécifiques au métier d’une compagnie.
La mesure est une activité d’ingénierie qui permet d’obtenir une ...
Nombre de pages : 151
Voir plus Voir moins
oN d’ordre: 3785 Thèse présentée devant l’Université de Rennes 1 pour obtenir le grade de Docteur de l’Université de Rennes 1 Mention Informatique par Martin Monperrus Équipe d’accueil : INRIA/Triskell - ENSIETA/Dtn École Doctorale : Matisse Composante universitaire : IFSIC Titre de la thèse : La mesure des modèles par les modèles : une approche générative Soutenue le 6 octobre 2008 devant la commission d’examen. Composition du jury : Présidente Françoise André Professeur à l’Université de Rennes 1 Rapporteurs Stéphane Ducasse Directeur de Recherche à l’INRIA Houari Sahraoui Professeur à l’Université de Montréal Examinateurs Dominique Luzeaux Directeur à la DGA Joël Champeau Enseignant-chercheur à l’ENSIETA Jean-Marc Jézéquel Professeur à l’Université de Rennes 1 (Directeur de thèse) Invités Brigitte Hoeltzener Enseignant-chercheur à l’ENSIETA Gabriel Marchalot Ingénieur à Thales Airborne Systems tel-00514492, version 1 - 2 Sep 2010 tel-00514492, version 1 - 2 Sep 2010 Résumé La mesure des modèles par les modèles: une approche générative L’ingénierie dirigée par les modèles est une approche du génie logiciel qui utilise des modèles comme artefacts de première importance, à partir desquels la validation, le code, les tests et la documentation sont dérivés. Les modèles peuvent être généra- listes (e.g.; UML), propres à un domaine (e.g.; les systèmes temps réels), ou même spécifiques au métier d’une compagnie. La mesure est une activité d’ingénierie qui permet d’obtenir une information quan- titative sur les processus d’ingénierie ou les systèmes en cours de développement. La mesure des modèles tôt dans le cycle de développement permet aux architectes et aux managers d’estimer les coûts, d’identifier les risques et les défauts, de valider des propriétés et de suivre une démarche d’assurance qualité dès le début du dévelop- pement. Malheureusement, il est coûteux de développer un outil de mesure ad hoc pour chaque type de modèles manipulés. Nous proposons une approche indépendante du métamodèle pour définir des mé- triques de modèles. Les métriques sont spécifiées à un haut niveau d’abstraction, de manière plus rigoureuse qu’avec le langage naturel, de manière plus concise qu’avec un langage de programmation et débarrassées des préoccupations d’implémentation. Ensuite,àpartirdecettespécificationdéclarativedesmétriques,unoutilpeutgénérer le composant de mesure, directement intégré dans un environnement de modélisa- tion. La contribution globale de cette approche est de donner une implémentation des métriques de modèles, intégrée, fondée sur des modèles, et à un coût moindre. Abstract Model driven model measurement: a generative approach Model-Driven Engineering (MDE) is an approach to software development that uses models as primary artifacts, from which validation, code, test and documen- tation are derived. Several metamodels are used in the same process. They range from general purpose ones (e.g.; UML), to domain (e.g.; for real-time systems) and company metamodels. Measurement is an engineering activity that enables to obtain quantitative infor- mation on the engineering process or the systems being developed. Measurement of models at an early phase of the development life cycle allows architects and mana- gers to estimate costs, to identify risks and flaws, to validate some properties and to perform early quality assurance. Unfortunately, it is costly to develop an ad hoc measurement tool for each manipulated metamodel. We propose a metamodel-independent framework to define model metrics. Metrics are specified at a high level of abstraction, thus more rigorously than with natural language, more concisely than with a programming language and free of implemen- tation concerns. Then, from this declarative specification of metrics, a toolchain is able to generate the measurement software seamlessly integrated into a modeling environment. The overall contribution of this approach is to give a model-driven and integrated implementation of model metrics at a reasonable cost. tel-00514492, version 1 - 2 Sep 2010 tel-00514492, version 1 - 2 Sep 2010 Remerciements Jetienstoutd’abordàremerciermondirecteurdethèseJean-MarcJézéquel,dequi j’aurais encore beaucoup à apprendre. Merci à Joël Champeau et Brigitte Hoeltzener, mes encadrants, de m’avoir apporté un soutien sans faille dans la conduite de mes travaux. Même si Benoit Baudry n’apparaît pas officiellement dans cette thèse, ses conseils et discussions furent bien plus que précieux. MerciàHouariSahraouietStéphaneDucassed’avoiracceptéd’évaluercemémoire, ainsi qu’à Françoise André d’avoir présidé le jury. Je suis aussi redevable à Gabriel Marchalot d’une collaboration industrielle fructueuse. Merci à tous mes collègues de l’ENSIETA à Brest et de l’équipe Triskell à l’INRIA Rennes pour avoir fait ce bout de chemin ensemble. Merci aux étudiants dont la curiosité et la soif de comprendre sont à la fois une satisfaction pour l’enseignant et un modèle pour le chercheur. MerciàlaDGAd’avoirfinancécettethèseetlacrèchedeKerigonanàBrestd’avoir gardé mes filles pour que je la mène à bien. Bérénice, tu as sans doute aucun, à la fois encouragé, permis et supporté ces travaux. J’espère un jour te le rendre. tel-00514492, version 1 - 2 Sep 2010 tel-00514492, version 1 - 2 Sep 2010 “I can play with chessmen according to certain rules. But I can also invent a game in which I play with the rules themselves. The pieces in my game are now the rules of chess, and the rules of the game are, say, the laws of logic. In that case I have yet another game and not a metagame.” LudwigWittgenstein,Philosophical Remarks,[Wittgenstein,1975,p.319] tel-00514492, version 1 - 2 Sep 2010 tel-00514492, version 1 - 2 Sep 2010 Table des matières 1 Introduction 3 2 État de l’art 7 2.1 Le contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 Pourquoi mesurer? . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 L’ingénierie dirigée par les modèles . . . . . . . . . . . . . . . 9 2.2 Précisions sur les concepts utilisés . . . . . . . . . . . . . . . . . . . . 13 2.2.1 Des mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.2 Des modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.3 Des métamodèles . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3 Quelques exemples de métriques . . . . . . . . . . . . . . . . . . . . . 20 2.3.1 Métriques sur les processus de développement . . . . . . . . . 20 2.3.2 sur les ressources . . . . . . . . . . . . . . . . . . . 21 2.3.3 Métriques sur les produits . . . . . . . . . . . . . . . . . . . . 21 2.4 Spécification et implémentation des métriques . . . . . . . . . . . . . 25 2.4.1 Avec le langage naturel . . . . . . . . . . . . . . . . . . . . . . 25 2.4.2 Avec un de programmation généraliste . . . . . . . . 26 2.4.3 En utilisant l’introspection ou un MOP . . . . . . . . . . . . 26 2.4.4 Ent un métamodèle . . . . . . . . . . . . . . . . . . . 26 2.4.5 En détournant un langage dédié . . . . . . . . . . . . . . . . . 28 2.4.6 En définissant un dédié à la mesure . . . . . . . . . . 35 2.4.7 Par une approche générique et générative . . . . . . . . . . . 40 2.5 Synthèse et conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3 La mesure des modèles dirigée par les modèles 47 3.1 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.1.1 Mesurer les modèles de l’IDM . . . . . . . . . . . . . . . . . . 47 3.1.2 Indépendamment du domaine d’application . . . . . . . . . . 48 3.1.3 À un coût acceptable . . . . . . . . . . . . . . . . . . . . . . . 48 3.1.4 Exemple d’une instance du problème . . . . . . . . . . . . . . 50 3.2 L’approche MDM : produits et processus . . . . . . . . . . . . . . . . 51 3.2.1 Une vue produit . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.2 Une vue processus . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.3 L’aspect génératif du processus . . . . . . . . . . . . . . . . . 54 3.3 Le métamodèle de spécification de métriques . . . . . . . . . . . . . . 56 3.3.1 Les types de métriques . . . . . . . . . . . . . . . . . . . . . . 56 3.3.2 Les métriques dérivées . . . . . . . . . . . . . . . . . . . . . . 63 3.3.3 Les prédicats . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.3.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1 tel-00514492, version 1 - 2 Sep 2010 Table des matières 3.4 Architecture logicielle de l’approche MDM . . . . . . . . . . . . . . . 65 3.4.1 Le concept de marcheur . . . . . . . . . . . . . . . . . . . . . 65 3.4.2 La chaîne de génération de l’outil de mesure de modèles . . . 70 3.4.3 Solutions aux exigences d’un outil de mesure . . . . . . . . . 74 3.4.4 Vue globale de l’architecture logicielle de l’approche MDM . . 77 3.5 Analyse de la contribution . . . . . . . . . . . . . . . . . . . . . . . . 77 3.5.1 Environnement de mesure . . . . . . . . . . . . . . . . . . . . 77 3.5.2 Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.5.3 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.5.4 Orientation modèle de la solution . . . . . . . . . . . . . . . . 82 3.5.5 Domaine d’application . . . . . . . . . . . . . . . . . . . . . . 83 4 Validation de l’approche 85 4.1 Méthode de validation . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.1.1 Mesurer des modèles . . . . . . . . . . . . . . . . . . . . . . . 85 4.1.2 Montrer l’indépendance par rapport au domaine . . . . . . . 85 4.1.3 Montrer par rapport au cycle de vie . . . . . . 85 4.1.4 Identifier et éviter les biais . . . . . . . . . . . . . . . . . . . . 86 4.2 Étude de cas: la mesure des programmes Java . . . . . . . . . . . . . 87 4.2.1 Métamodèle considéré . . . . . . . . . . . . . . . . . . . . . . 87 4.2.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 4.2.3 Résultats de mesure . . . . . . . . . . . . . . . . . . . . . . . 91 4.2.4 Travaux similaires . . . . . . . . . . . . . . . . . . . . . . . . 91 4.3 Étude de cas: la mesure des modèles d’architecture temps-réel . . . . 92 4.3.1 Métamodèle considéré . . . . . . . . . . . . . . . . . . . . . . 92 4.3.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.3.3 Résultats de mesure . . . . . . . . . . . . . . . . . . . . . . . 96 4.3.4 Travaux similaires . . . . . . . . . . . . . . . . . . . . . . . . 96 4.4 Étude de cas: la mesure d’un modèle de système de surveillance maritime 96 4.4.1 Métamodèles considérés . . . . . . . . . . . . . . . . . . . . . 98 4.4.2 Métriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.4.3 Travaux similaires et conclusion . . . . . . . . . . . . . . . . . 101 4.5 Étude de cas: la mesure des exigences . . . . . . . . . . . . . . . . . 102 4.5.1 Pourquoi mesurer des? . . . . . . . . . . . . . . . . 102 4.5.2 La mesure des exigences dans la littérature . . . . . . . . . . 103 4.5.3 L’application de notre approche à la mesure des exigences . . 106 4.5.4 Métamodèle d’exigences . . . . . . . . . . . . . . . . . . . . . 113 4.5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.6 Un cas particulier: la mesure des métamodèles Ecore . . . . . . . . . 117 5 Conclusion & Perspectives 121 A Glossaire 139 B Annexe 141 2 tel-00514492, version 1 - 2 Sep 2010
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.