Habilitation : Mireille Blay-Fornarino, 16 avril 2009, "Interprétations de la composition d'activités" |
Résumé : Une grande part du développement logiciel repose sur des techniques de composition : assemblages de composants, orchestrations de services, tissages d'aspects, fusion de modèles. Un logiciel peut ainsi être appréhendé comme une composition d'activités logicielles. La complexité des compositions d'activités logicielles sous-jacentes ainsi que la multiplicité des intervenants conduisent à définir des supports de composition qui assurent des propriétés de consistance des assemblages obtenus, d'associativité dans les compositions, de préservation des activités, ... En fonction des approches, les propriétés recherchées sont différentes de même que les langages utilisés. Cette diversité engendre des difficultés à comparer les approches, à établir les propriétés recherchées, à définir et prouver les algorithmes de composition.
Nos travaux de recherche proposent une vision unifiée d'un procédé de composition d'activités logicielles et caractérisent les différences entre les approches en terme d'interprétations. La modélisation des activités, la définition des propriétés et leur impact sur l'algorithme de composition sont étudiés. En étayant cette formalisation par plusieurs mises en oeuvre à la fois en terme d'environnement de programmation et d'applications nous ancrons cette approche dans une réalité fonctionnelle. Les principales applications de ce travail portent sur la composition d'interactions entre composants hétérogènes et la composition de workflows. |
|
|
|
Thèse Cécile Hardebolle (Supélec), 28 novembre 2008, "Composition de modèles pour la modélisation multi-paradigme du comportement des systèmes" |
Résumé :
Dans le contexte de l’Ingénierie Dirigée par les Modèles, l’utilisation de multiples paradigmes de modélisation pour développer un système complexe est à la fois inévitable et essentielle. Les modèles qui représentent un tel système sont donc hétérogènes, ce qui rend tout raisonnement global sur le système difficile. L’objectif de la modélisation multi-paradigme est de faciliter l’utilisation conjointe de modèles hétérogènes pendant le cycle de développement. Les travaux exposés dans cette thèse concernent l’étude de l’hétérogénéité des modèles et la conception d’une approche pour la modélisation multi-paradigme des systèmes.
Nous caractérisons les causes de l’hétérogénéité des modèles par rapport au cycle de développement puis identifions différents types d’hétérogénéité. En nous basant sur ces causes d’hétérogénéité, nous proposons un cadre d’étude pour le domaine de la modélisation multi-paradigme avec différents axes de recherche.
La multidisciplinarité de la modélisation multi-paradigme rend applicables des techniques issues de différents domaines. Nous proposons un état de l’art et une classification des techniques dont nous avons étudié la pertinence par rapport à l’hétérogénéité. La gamme des techniques présentées inclut les transformations de modèles, la composition de méta-modèles, la composition de modèles, l’adaptation de composants, la co-simulation ou encore les méga-modèles.
Nous présentons ensuite ModHel’X, l’approche de composition de modèles pour la modélisation multi-paradigme que nous avons développée. Elle s’appuie sur le concept de modèle de calcul et permet :
1. de spécifier la sémantique d’un langage de modélisation de manière exécutable à travers la spécialisation opérationnelle d’une sémantique abstraite pour les modèles de calcul ; 2. de spécifier explicitement les mécanismes de composition à utiliser entre des modèles hétérogènes via une structure de modélisation appelée bloc d’interface ; 3. de simuler le comportement global de modèles hétérogènes par un algorithme générique d’exécution que nous avons défini.
Une implémentation de ModHel’X a été réalisée sous la forme d’un framework s’appuyant sur EMF (Eclipse Modeling Framework).
Mots clés : modélisation multi-paradigme, hétérogénéité des modèles, modélisation hétérogène, composition de modèles, langage de modélisation, modèle de calcul, exécution de modèles, Ingénierie Dirigée par les Modèles (IDM)
Jury :
M. Charles ANDRE, Université de Nice Sophia Antipolis (Rapporteur) M. Christian ATTIOGBE, Université de Nantes (Rapporteur) M. Frédéric BOULANGER, Supélec (Co-directeur de thèse) M. Dominique MARCADET, Supélec (Co-directeur de thèse) Mme. Marie-Agnès PERALDI, Université de Nice Sophia Antipolis (Examinateur) M. Marc POUZET, Université Paris Sud (Examinateur) M. François TERRIER, INSTN, CEA Saclay (Examinateur) M. Guy VIDAL-NAQUET, Université Paris Sud et Supélec (Directeur de thèse) |
|
|
|
Thèse Carlos Noguera (LIFL), 25 Novembre 2008, Un ensemble d'outils orientés modèle pour développer et valider des cadres logiciels à base d'annotations. |
Résumé : Les annotations, dans le langage de programmation Java, sont un moyen d'embarquer des méta-données dans le code source d'un programme. Elles peuvent être utilisées pour étendre le langage Java avec des concepts spécifiques à un domaine. Utilisées de cette manière, les annotations offrent un moyen de réduire le fossé sémantique entre les concepts du domaine et les concepts fournis par le langage de programmation. Pour l'utilisateur de ce cadre d'annotations (c.-à-d., le développeur d'applications), il est important de comprendre comment les différentes annotations sont reliées entre elles afin de les utiliser correctement et de détecter des erreurs d'utilisation au plus tôt. Des cadres d'annotation ont déjà été adoptés par l'industrie. Cependant, leur développement demeure complexe et est fait, en grande partie, de façon ad-hoc. En développant un cadre d'annotations, le développeur doit s'assurer que le programme qui emploie les annotations est conforme aux contraintes définies pour elles. De telles contraintes sont souvent reléguées à la documentation du cadre logiciel, puisque les processeurs d'annotation existants ne fournissent pas de moyens de les spécifier et vérifier. En plus de ceci, les processeurs d'annotations existants offrent comme entité de manipulation uniquement l'arbre de syntaxe abstraite (AST) du programme. Ceci force alors le développeur à réifier les annotations s'il veut des éléments d'abstraction d'un plus haut niveau. Pour aider le développeur de cadres d'annotations, nous proposons deux outils. Le premier, appelé AVal, fournit un nombre de contraintes réutilisables, déclaratives et extensibles pour spécifier un cadre d'annotation. Les applications annotées peuvent ainsi être interprétées afin de les valider. Le deuxième outil, appelé ModelAn, permet au réalisateur de cadre d'annotations de décrire un modèle qui correspond aux annotations définies. Par ce moyen, le développeur peut exprimer des contraintes en termes du modèle. Des programmes annotés sont alors représentés comme instances du modèle (d'annotation), et les contraintes sont vérifiées sur cette même instance. A partir de ce modèle d'annotations, les classes Java qui réifient les annotations sont produites. Les annotations réifiées peuvent alors servir de point de départ à l'interprétation du programme annoté. Mots clés: Programmation à base d'annotations, Ingénierie dirigée par les Modèles, Langages Dédiés, Validation de programmes
Jury de thèse :
Président du jury : Consel Charles, Professeur des Universités, ENSEIRB,
Rapporteur : Jézéquel Jean-Marc, Professeur des Universités, Université Rennes 1,
Rapporteur : Deridder Dirk, Docteur, Vrije Universiteit Brussel
Examinateurs :
- Donsez Didier, Professeur des Universités, Université Joseph Fourier
- Gilleron Rémi, Professeur des Universités, Université Lille 3
- Pawlak Renaud, Docteur, ISEP
- Duchien Laurence, Professeur des Universités, Université Lille1 (Directrice de thèse)
|
|
|
|
Thèse Frédéric Thomas (CEA LIST), 21 Novembre 2008, Contribution à la prise en compte des plates-formes logicielles d'exécution dans une ingénierie générative dirigée par les modèles |
To minimize the inherent complexity of multitasking programs, a promising approach is to automate developments. In practice, automation is achieved by generators. Those generators produce applications which execute on software multitasking platforms (for example multitasking operating systems).
Such generators are in fact specific to selected platforms. They are made of implementation rules which are specific to each platform.
In order to cope with adaptable and flexible solutions, this study aims to explicitly describe executing platforms as parameters of generators. For that, it defines :
- a generic pattern dedicated to modelling software execution platforms,
- an extension to the UML language for modelling multitasking software execution platforms (the Software Software Resource Modeling profile) and,
- a transformation framework based on explicit platform models.
The two first contributions are part of the UML profile for modelling and Analysis of Real-time and Embedded systems (MARTE). |
|
|
|
Thèse Jérémy Dubus (LIFL), Vendredi 10 Octobre 2008, "Une démarche orientée modèle pour le déploiement de systèmes en environnements ouverts distribués". |
Résumé : Le déploiement reste l'une des étapes du cycle de vie des logiciels la moins standardisée et outillée à ce jour. Dans ce travail, nous identifions quatre grands défis à relever pour déployer des systèmes logiciels distribués et hétérogènes. Le premier défi est de réussir à initier le consensus manquant autour d'un langage générique de déploiement de logiciels. Le deuxième défi consiste en la vérification statique de déploiements logiciels décrits dans ce langage pour assurer un déroulement conforme avant d'exécuter les opérations de déploiement.
Le troisième défi est de réaliser une plate-forme intergicielle capable d'interpréter ce langage et d'effectuer le déploiement de n'importe quel système logiciel réparti. Enfin le quatrième défi est d'appliquer ces déploiements de systèmes dans les environnements ouverts distribués, c'est-à-dire les réseaux fluctuants et à grande échelle comme les réseaux ubiquitaires ou les grilles de calcul.
Notre proposition consiste à définir une démarche de déploiement de systèmes distribués divisée en quatre rôles pour relever ces défis :
l'expert réseau, l'expert logiciel, l'administrateur système et l'architecte métier. D'un côté, l'approche DeployWare, conforme à l'ingénierie des modèles, est définie par un méta-modèle multi-rôles pour décrire le déploiement de la couche intergicielle du système ainsi que par une machine virtuelle capable d'exécuter automatiquement le déploiement de cette couche. L'utilisation d'un langage de méta-modélisation permet d'écrire des programmes de vérification statique des modèles de déploiement. De l'autre côté, l'approche DACAR propose un méta-modèle d'architecture générique pour exprimer et exécuter le déploiement d'une application métier à base de composants.
Cette double approche DeployWare/DACAR permet de prendre en compte, lors de la description du déploiement, les propriétés des environnements ouverts distribués selon une approche conforme à l'informatique auto-gérée. Notre proposition est validée par plusieurs expériences pour valider la capacité de prise en charge des environnements ouverts ubiquitaires, et pour éprouver l'hétérogénéité des technologies déployables dans le monde des services d'entreprise.
Jury :
Directeur de Thèse : Jean-Marc Geib, Professeur, Université de Lille I
Co-encadrant : Philippe Merle, Chargé de Recherche, INRIA Lille - Nord Europe
Rapporteurs :
- Françoise Baude, Maître de Conférenres (HDR) & Université de Nice
- Daniel Hagimont, Professeur, IRIT/ENSEEIHT Membres :
- Jean-Luc Dekeyser, Professeur, Université de Lille I
- Sylvain Lecomte, Professeur, Universite de Valenciennes - Le Mont Houy
- Olivier Barais, Maître de Conférences, IRISA
- Denis Conan, Maître de Conférences, TELECOM & Management SudParis |
|
|
|
Thése Martin Monperrus (ENSIETA & INRIA), 6 octobre 2008, La mesure des modèles par les modèles: une approche générative |
Résumé : 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éralistes (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 quantitative 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éveloppement. 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, à partir de cette spécification déclarative des métriques, un outil peut générer le composant de mesure, directement intégré dans un environnement de modélisation. 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.
Rapporteurs : Stéphane Ducasse (Directeur de recherche à l'INRIA, Lille) Houari Sahraoui (Professeur à l'Université de Montréal)
Examinateurs : Françoise André (Professeur à l'Université de Rennes 1) Dominique Luzeaux (Directeur à la DGA / HDR) Jean-Marc Jézéquel (Professeur à l'Université de Rennes 1 / Directeur de thèse) Joël Champeau (Enseignant-chercheur à l'Ensieta)
Invités: Brigitte Hoeltzener (Enseignant-chercheur à l'Ensieta) Gabriel Marchalot (Thales Airborne Systems) |
|
|
|
Thèse : Benoît Combemale (IRIT, ENSEEIHT), 11 juillet 2008, "Approche de métamodélisation pour la simulation et la vérification de modèle -- Application à l'ingénierie des procédés" |
RESUME : L'ingénierie dirigée par les modèles (IDM) a permis plusieurs améliorations significatives dans le développement de systèmes complexes en permettant de se concentrer sur une préoccupation plus abstraite que la programmation classique. Il s'agit d'une forme d'ingénierie générative dans laquelle tout ou partie d'une application est engendrée à partir de
modèles. Une des idées phares est d'utiliser autant de langages de modélisation différents (Domain Specific Modeling Languages -- DSML) que les aspects chronologiques ou technologiques du développement le nécessitent. Le défi actuel de la communauté du génie logiciel est de simplifier la définition de nouveaux DSML en fournissant des technologies
du métaniveau telles que des générateurs d'éditeurs syntaxiques (textuels ou graphiques), des outils d'exécution, de validation et de vérification (statique et dynamique). Ces outils de validation et de vérification nécessitent d'expliciter, en plus de la syntaxe abstraite, la sémantique
d'exécution du DSML.
Au regard des travaux existants dans l'IDM et de l'expérience acquise avec les langages de programmation, nous proposons dans cette thèse une taxonomie précise des techniques permettant d'exprimer une sémantique d'exécution pour un DSML. Nous replaçons ensuite ces différentes techniques au sein d'une démarche complète permettant de décrire un DSML et les outils nécessaires à l'exécution, la vérification et la validation des modèles.
La démarche que nous proposons offre une architecture rigoureuse et générique de la syntaxe abstraite du DSML pour capturer les informations nécessaires à l'exécution d'un modèle et définir les propriétés temporelles qui doivent être vérifiées. Nous nous appuyons sur cette architecture générique pour expliciter la sémantique de référence(c.-à-d. issue de l'expérience des experts du domaine) et l'implanter.
Plus particulièrement, nous étudions les moyens :
- d'exprimer et de valider la définition d'une traduction vers un domaine formel dans le but de réutiliser des outils de model-checking et permettre ainsi la vérification formelle et automatique des propriétés exprimées.
- de compléter la syntaxe abstraite par le comportement; et profiter d'outils génériques pour pouvoir simuler les modèles construits.
Enfin, il est indispensable de valider les différentes sémantiques implantées vis-à-vis de la sémantique de référence. Aussi, nous proposons un cadre formel pour la métamodélisation, transparent pour le concepteur, permettant d'exprimer la sémantique de référence qui servira de base à cette validation. La démarche est illustrée dans cette thèse à travers le domaine des procédés de développement. Après une étude approfondie de cette ingénierie, et plus particulièrement du langage SPEM proposé par l'OMG, nous définissons l'extension xSPEM permettant de construire des modèles exécutables. Nous décrivons également les outils permettant la vérification formelle et la simulation des modèles xSPEM. La démarche proposée est toutefois générique et a donné lieu à des transferts technologiques dans le projet Topcased en établissant des fonctionnalités de vérification et de simulation pour différents langages de l'atelier.
JURY :
Rapporteurs : Jean BÉZIVIN, Pierre-Alain MULLER
Examinateurs : Antoine BEUGNARD, François VERNADAT, Bernard COULETTE, Professeur, Xavier CRÉGUT.
Invité : Patrick FARAIL, AIRBUS France |
|
|
|
Thèse : Éric Piel (LIFL), 14 décembre 2007, "Ordonnancement de systèmes parallèles temps-réel, De la modélisation à la mise en œuvre par l'ingénierie dirigée par les modèles" |
Résumé : Les travaux de cette thèse s’inscrivent dans le cadre de l’ordonnancement de calculs à haute performance sur multi-processeurs à mémoire partagée. Ces travaux recouvrent deux parties distinctes. Dans une première partie nous abordons le flot de conception de systèmes-sur-puce (SoC) multi-processeurs. Nous proposons des concepts supplémentaires pour la modélisation de ces systèmes en UML afin de compléter la sémantique propre au parallélisme, et de permettre le raffinement du modèle de SoC jusqu’à une spécification complète, en restant au plus haut niveau de conception. Par la suite nous présentons un nouveau niveau de simulation qui, en prenant en compte le particularisme du traitement intensif de données, abstrait le fonctionnement du SoC. En particulier, l’exécution et l’ordonnancement des tâches sont directement effectués sur la machine hôte. La simulation, implémentée en SystemC, permet de très rapidement évaluer les performances d’un placement de données et de tâches sur une architecture. La compilation du modèle de SoC vers la simulation est faite à l’aide d’une chaîne de transformations de modèles. Nous détaillons les avantages apportés par l’usage de l’ingénierie dirigée par les modèles pour la conception de SoC. Enfin nous illustrons la mise en œuvre de l’ensemble du flot de conception développé au cours de la thèse avec un exemple d’exploration d’architecture. Dans une seconde partie, nous proposons une approche permettant d’exploiter les systèmes multi-processeurs pour garantir les propriétés temps-réel d’applications parallèles. L’approche se base sur le fait que les tâches qui composent le système ont des priorités différentes, en particulier vis-à-vis du temps de réponse aux interruptions. L’introduction d’asymétrie parmi la liste d’ordonnancement des processeurs permet d’assurer de faibles latences pour les tâches à priorité temps-réel. Un équilibrage de charge adapté permet de maintenir toute la puissance potentielle des processeurs. Cette contribution est complétée d’une validation expérimentale basée sur une implémentation dans le noyau Linux.
Mots clefs : Parallélisme, multi-processeur, systèmes-sur-puce, systèmes temps-réel, traitement intensif de données, ingénierie dirigée par les modèles, UML, compilation, flot de conception.
Jury: Présidente: Laurence Duchien Professeur LIFL Rapporteurs: Frédéric Pétrot Professeur INPG-TIMA François Verdier Maître de conférence ENSEA Examinateurs: Michel Riveill Professeur UNSA Sébastien Gérard Chef de projet CEA Directeur: Jean-Luc Dekeyser Professeur LIFL Co-Directeur: Philippe Marquet Maître de conférence LIFL
|
|
|
|
Thèse : Grégory De Fombelle, 25 Septembre 2007, Gestion incrémentale des propriétés de cohérence structurelle dans l'ingénierie dirigée par les modèles |
Résumé
L'ingénierie dirigée par les modèles se caractérise par l'utilisation de multiples modèles comme supports productifs à l'ingénierie des systèmes complexes. Dans ce cadre, les modèles doivent respecter un certain nombre de contraintes appelées règles de cohérence. Il est alors nécessaire de fournir des langages, des techniques et des outils pour exprimer ces règles, détecter d'éventuelles incohérences et fournir des mécanismes pour les traiter. Si de nombreuses approches ont été proposées, elles ne répondent que partiellement à ce problème lorsque les modèles sont soumis à des modifications: quelles règles doit on re-vérifier, sur quelles parties des modèles ?
Dans cette thèse, nous proposons une approche pour la gestion incrémentale des propriétés de cohérence structurelle dans l'ingénierie dirigée par les modèles. Nous donnons une définition mathématique de la structure des modèles, des métamodèles et de leurs constructions. Ensuite, nous fournissons un langage d'expression de contraintes structurelles sur ces modèles. Enfin, nous montrons comment détecter de façon incrémentale des incohérences, non pas sur les modèles mais à partir d'une séquence de modifications des modèles, permettant de ne vérifier qu'une partie des règles de cohérence sur une partie des modèles à chaque modification.
Abstract
Model Driven Engineering proposes to use multiple models at all stages of the engineering activities for productive purposes: code generation, models tranformations, verification and validation etc. In this context, models have to satisfy constraints, the so-called consistency rules. As a consequence, it is necessary to provide languages, techniques and tools for defining rules, detecting potential inconsistencies and mechanisms for handling them. While many approaches have been proposed, they address only a part of this problem when models are submitted to modifications: which rules verify ? Which model parts verify?
In this thesis, we propose an approach for an increment based inconsistency management in model driven engineering. We define mathematically metamodel and model structure, as well as model construction. Then we provide a language for expressing structural constraints on models. Finally, we show how to detect inconsistencies, based on model modifications. It enables to check only a part of rules, on a part of models at each modification.
Composition du jury
Pr. Pierre BAZEX Rapporteurs Université Paul Sabatier - Toulouse
Pr. Michel RIVEILL Rapporteur Université de Nice-Sophia Antipolis
MdC. Mireille BLAY-FORNARINO Co-rapporteur Université de Nice-Sophia Antipolis
Pr. Fabrice KORDON Examinateur Université de Paris VI - Pierre et Marie Curie
Pr. Tom MENS Examinateur Université de Mons-Hainaut, Belgique
Dr. Laurent RIOUX Co-encadrant Thales Research and Technology France
MdC. Xavier BLANC Encadrant Université de Paris VI - Pierre et Marie Curie
Pr. Marie-Pierre GERVAIS Directrice Université de Paris X - Nanterre
|
|
|
|
Thèse : Huascar Espinoza (CEA-LIST), 25 septembre 2007, Une Approche Intégrée, Dirigée par les Modèles, pour la Spécification et l’Analyse des Propriétés Non-Fonctionnelles des Systèmes Temps Réel. |
Bien que présentant de nombreux avantages, l'Ingénierie Dirigée par les Modèles manque d’une part de mécanismes pour spécifier les aspects non-fonctionnels (par ex. performance) des applications temps réel, et d’autre part de méthodologies pour intégrer des outils d’analyse non-fonctionnelle dans un processus global d'aide à la conception. En réponse à ces limitations, cette thèse propose trois extensions à UML (Unified Modeling Language): 1) une infrastructure générique pour spécifier précisément des propriétés non-fonctionnelles, 2) un profil spécialisé pour annoter des modèles de conception afin de permettre leur analyse d'ordonnançabilité, et 3) un ensemble de concepts génériques de haut-niveau pour composer des contextes d'analyse à partir de modules paramétrés. Des règles méthodologiques sont également proposées pour favoriser l’intégration de multiples techniques d'analyse afin d’évaluer des choix d’allocation et de configuration de ressources d’une manière globalement optimale. Mots clés : Systèmes temps réel, ingénierie dirigée par les modèles (IDM), UML (Unified Modeling Language), propriétés non fonctionnelles, validation et vérification, analyse statique, aide aux décisions de conception, normes de modélisation. Jury : Présidente : Prof. Pascale LE GALL, Université d’Evry Directeur de thèse : Prof. François TERRIER, CEA LIST
Rapporteurs : Prof. Dorina C. PETRIU, Carleton University Dr. Jean-Philippe BABAU, Université de Lyon I Examinateurs : Prof. Charles ANDRE, Université de Nice Dr. Ing. Sébastien GERARD, CEA LIST |
|
|
|
Thèse : Marcos Didonet del Fabro, "Metadata management using model weaving and model transformation".
University of Nantes, France , 11 september 2007. |
The concept of "Model Weaving" (not to be confused with "Aspect Weaving" in AOP) has been proposed by Marcos Didonet del Fabro in several papers and illustrated by the AMW Eclipse tool. It is now a well established idea, used to solve a number of problems like abstract specification of transformations, data integration, ontology alignment, version evolution, traceability management, etc. |
|
|
|
Thèse: Reda Bendraou, 06 Septembre 2007, Université de Paris VI, UML4SPM: Un Langage de Modélisation de Procédés De Développement Logiciel Exécutable Et Orienté Modèle |
Même si la fiabilité des applications logicielles a souvent été évaluée par les traditionnelles approches de Vérification et de Validation (V&V), il n'en est pas moins établi que le choix des acteurs ainsi que du procédé de développement suivi lors de leur réalisation y contribue fortement. Les entreprises ont très vite compris cet enjeu et leur intérêt à vouloir capitaliser leur savoir-faire sous forme de Modèles de Procédés n'a cessé de s'accroître. L'objectif sous-jacent étant bien sûr de pérenniser une connaissance précieuse et répétitive de leur Procédés de Développement Logiciel, mais aussi de s'en servir à des fins de compréhension, d'analyse et d'exécution.
Depuis bientôt trois décennies, on assiste à une prolifération de ce que l'on appelle communément les Langages de Modélisation de Procédés (LMPs). Néanmoins, aucun d'entre eux n'a réussi à s'imposer comme le Langage pour la modélisation de procédés de développement logiciel. Leur complexité, leur applicabilité à des domaines dédiés ou leur manque d'expressivité sont parmi les freins qui ont pénalisé leur adoption. Ajouter à cela, un besoin critique, rarement satisfait, qui est celui de pouvoir simuler ces Modèles de Procédés, de les exécuter et de gérer leur répartition sur plusieurs sites distants et hétérogènes.
Le but de cette thèse est de proposer un Langage de Modélisation de Procédés de Développement Logiciel selon une approche normative visant à répondre aux nouvelles attentes de la communauté logicielle. Ce dernier devra satisfaire un certain nombre d'exigences que nous avons identifiées avec comme priorités premières, une simplicité d'utilisation et de compréhension ainsi qu'une prédisposition des modèles instance de ce langage à être simulés et exécutés.
Abstract
=======
It has been wildly accepted that, the quality of a software product cannot be ensured simply by inspecting the product itself or by performing the traditional Verification and Validation approaches (V&V). It also relates to the production process that is carried out and to actors involved in this production process.
Since late eighties, the software process community saw the emergence of a multitude of software process modeling language. However, no language has gained general acceptance. Except the fact that these languages were executable, they had obvious limitations. They were based on existing paradigms that were not particularly well adapted to the domain of software process modeling. Their complexity, their use of low-level formalisms and the impossibility for non-programmers to use and to understand them, were among the obstacles for their adoption. The large number of process stakeholders with different backgrounds ranging from software process engineers, project managers, system engineers to customers imposes the use of an understandable and intuitive representation format.
In this thesis, we present UML4SPM, a UML2.0-Based Language for Software Process Modeling. Expressiveness, Understandability, and Executability were our main objectives while designing UML4SPM. Our contribution comes in form of MOF-Compliant metamodel, which extends the UML2.0 Superstructure standard [OMG 07b], a simple yet expressive graphical notation and high level constructs with precise execution semantics. UML4SPM process models can be executed directly, without any intermediate or refinement steps.
Composition du jury
===================
Jean-Marc JEZEQUEL Rapporteur
Pierre-Alain MULLER Rapporteur
Colin ATKINSON Examinateur
Bernard COULETTE Examinateur
Fabrice KORDON Examinateur
Marie-Pierre GERVAIS Directeur
Xavier BLANC Co-encadrant |
|
|
|
Thèse : Prawee Sriplakich, 5 septembre 2007, Université de paris VI, ModelBus : un environnement réparti et ouvert pour l’ingénierie de modèles |
RESUME:Le paradigme "Model Driven Engineering (MDE)" (Ingénierie de modèles) vise à simplifier le développement et de la maintenance des systèmes informatiques. Il se focalise sur l’utilisation de modèles pour spécifier les systèmes et sur les manipulations de modèles avec des outils.
Cette thèse a pour but de définir et de réaliser un environnement réparti et ouvert pour réaliser MDE. Cet environnement, nommé ModelBus, vise
1) à supporter les manipulations collaboratives des modèles par multi-développeurs, et
2) à fournir l’interopérabilité entre outils hétérogènes impliqués dans les projets MDE. Pour attendre le premier objectif, ModelBus propose les mécanismes "diff/merge" des modèles, et, pour le deuxième, ModelBus offre les mécanismes d’échange de modèles et d’invocations de services entre outils.
Les problèmes majeurs traités par ModelBus concernent le passage à l’échelle face à la taille des spécifications des systèmes complexes. Etant donné qu’un ensemble de modèles décrivant un système est un grand graphe d’objets (à l’ordre de GOs), dont les liens représentent les relations entre les modèles (ex. traçabilité, relations entre les vues du système), nous soulevons les problèmes suivants:
1) Insuffisance de mémoire pour manipuler ce graphe entier,
2) Incohérences des liens du graphe (liens casés) causées par les manipulations concurrentes des modèles.
Pour résoudre ces problèmes, ModelBus partitionne une spécification de système en modèles, et gère la cohérence des liens entre ces modèles.
JURY:
Pr. Laurence DUCHIEN, Université de Lille 1, Rapporteur
Pr. Franck BARBIER, Université de Pau, Rapporteur
Pr. Philippe LAHIRE, Université de Nice Sophia Antipolis, Examinateur
Pr. Jacques MALENFANT, Université de Paris 6, Examinateur
M. Pierre-Alain MULLER, Université de Mulhouse, Examinateur
Pr. Marie-Pierre GERVAIS, Université de Paris 10, Directrice
M. Xavier BLANC, Université de Paris 6, Co-encadrant |
|
|
|
Thèse : Pierre-André Caron, 18 juin 2007, Université de Lille, "Ingénierie dirigée par les modèles pour la construction de dispositifs pédagogiques sur des plateformes de formation" |
RESUME :
Notre problématique en EIAH (environnements informatiques pour l'apprentissage humain) concerne la place de l'informatique quant à l'aide qu'elle peut apporter à des enseignants pour accommoder leur enseignement sur des plate-formes de formation. Cette problématique, très générale, nous a amené à nous interroger sur l'organisation sociale des enseignants que nous souhaitons adresser, sur les pratiques de création enseignante, sur les objets pédagogiques que ces pratiques nécessitent, ainsi que sur les médias accueillant ces pratiques. Nous décrivons les contours d'une ingénierie des EIAHs adaptée à des équipes d'enseignants pratiquant le bricolage pédagogique dans une perspective artisanale. Cette ingénierie repose sur une infrastructure exploitant les ressources de l'ingénierie dirigée par les modèles adaptées au domaine des EIAHs. Cette infrastructure est composée d'une plate-forme de modélisation et d'un générateur de constructeur spécifique. Elle permet, de modéliser, de contextualiser et de construire des dispositifs pédagogiques sur des plate-formes de formation ou sur de simples applications Web. Trois études de cas menées pendant cette thèse illustrent les différents aspects de notre travail, et montrent que la propositions d'ingénierie que nous présentons permet d'adresser toute la diversité des environnements informatiques pour l'apprentissage humain. Nous concluons en montrant que les concepts et solutions présentées dans cette thèse permettent de relever les enjeux posés par les récentes évolutions en EIAH, tant au niveau des approches pédagogiques, que des médias utilisés.
JURY :
Président : Lionel Seinturier
Directeur de Thèse : Pr Alain Derycke
co Encadrant : Mcf Xavier Le Pallec
Rapporteurs :Pr Daniel Peraya, Pr Michel Riveill, Pr Pierre Tchounikine, Mcf Mireille Blay-Fornarino,
Membres : Pr Gilles Leclercq.
|
|
|
|
Habilitation : Pierre-Alain Muller, 20 novembre 2006, "De la modélisation objet des logiciels à la métamodélisation des langages informatiques"
|
RESUME : Mes travaux concernent la modélisation opérationnelle des systèmes à informatique prépondérante, dans le double but de capitaliser les savoir-faire et d'automatiser les réalisations.
La modélisation est l'utilisation d'une représentation, en lieu et place d'une chose du monde réel, dans un but cognitif. Un modèle se substitue à un système dans un contexte donné, à moindre coût, plus simplement, plus rapidement et sans les risques ou dangers inhérents à une manipulation du système réel. Une modélisation devient opérationnelle dès lors qu'une implantation informatique peut en être dérivée de manière systématique.
L'ensemble de mes travaux a pour but in fine de réduire le fossé entre les processus métier et les techniques d'informatisation. Je m'intéresse à la fois à la formalisation des savoir-faire métier et informatique. Ma démarche scientifique mélange des aspects théoriques et des validations expérimentales. Elle procède par fertilisation croisée, en reposant tout à la fois sur l'analyse de l'état de l'art, la participation à des groupes de travail ou de normalisation, et à la confrontation avec des problématiques industrielles. Les idées que j'ai approfondies dans mes travaux ont émergées dans différentes communautés (telles celles des grammaires, des bases de données, de la gestion des documents, des méthodes formelles….).
Je procède en considérant la modélisation comme une alternative à la programmation. C'est une posture certes un peu radicale - car la modélisation et la programmation peuvent très bien se complémenter - mais je l'ai choisi afin d'amener les techniques de modélisation à leur extrême.
Mes principales contributions portent sur :
- Des avancées méthodologiques, dans le domaine de la modélisation objet avec UML et aussi dans l'intégration entre l'ingénierie dirigée par les modèles et les méthodes agiles.
Ces contributions ont été validées dans des contextes industriels, en collaboration avec Rational Software et ObjeXion Software.
- Des contributions pour la capitalisation du savoir-faire de modélisation des systèmes de commande et contrôle. Ces travaux à la frontière entre l'informatique et l'automatique, ont été réalisés en partenariat avec l'Ifremer et Nipson Printing System.
- Des contributions pour la modélisation opérationnelle des systèmes d'information Web. Ces contributions s'inscrivent dans le cadre d'un transfert de technologie, sous la forme d'une création d'entreprise innovante : ObjeXion Software.
- Des contributions pour l'application de la modélisation à l'ingénierie des langages. Ces travaux regroupés dans le projet open-source Kermeta porté par l'INRIA, font l'objet d'un déploiement industriel dans le cœur de la plateforme RNTL OpenEmbeDD. |
|
|
|
Thèse : Salim Bouzitouna, 6 novembre 2006, "Construction d'applications réparties par réutilisation de
modèles dans l'approche MDA : application à la plate-forme EJB"
|
RESUME :
L'approche MDA (Model Driven Architecture) définie par l'OMG préconise une séparation entre les aspects métier des applications dans des modèles indépendants des plates-formes appelés PIMs, et ceux liés à l'implémentation dans des modèles dépendants des plates-formes appelés PSMs. Cela faciliterait ainsi la migration des applications vers de nouvelles plates-formes. Cependant, l'approche MDA ne traite qu'un seul aspect de l'évolution de ces applications qui est celui de leurs plates-formes mais non pas celui de l'évolution de leurs métiers, i.e. PIMs. Une manière de traiter ce deuxième aspect de l'évolution est de réutiliser autant que possible les modèles PIMs et PSMs existants. Pour cela, nous proposons une initiative basée sur deux points : 1) l'expression d'opérations de réutilisation (composition, extension et modification) sur les PIMs ; 2) la génération automatique, à partir de cette expression, d'entités de la plateforme (entités glus) qui appliqueront ces opérations sur les PSMs.
Abstract
The Model Driven Architecture (MDA) approach, defined by OMG,
advocates a clear separation between platform-independent models (PIMs) and platform-specific models (PSMs) in distributed applications. As such, it aims at easing the migration of applications towards new platforms. However, MDA only deals with the evolution of platforms on which applications execute but not with the evolution of the business part i.e., PIMs. One way to deal with this issue is to reuse as much as possible existing PIMs and their corresponding PSMs. We propose a new initiative based on two main steps: 1) the expression of reuse operations of PIMs, which identify the composition, the extension and the modification of applications; 2) based on this expression, the automatic generation of platform entities we called glues, which will apply the expressed reuse operations on the corresponding PSMs.
JURY :
Antoine BEUGNARD Rapporteur
Philippe LAHIRE Rapporteur
Olivier CARON Examinateur
Fabrice KORDON Examinateur
Éric LEFEBVRE Examinateur
Marie-Pierre GERVAIS Directeur
Xavier BLANC Co-Directeur
|
|
|
|
Thèse Alexis Muller (LIFL), 26 juin 2006, Construction de systèmes par application de modèles paramétrés |
Résumé :
L'ingénierie logicielle vise à se rationaliser toujours plus et commence à atteindre des niveaux de productivité proches d'autres domaines, mécanique ou électronique par exemple.
Notre approche vise la spécification de composants métiers réutilisables et composables dans des contextes (domaines) applicatifs différents.
Nous proposons d'en faire des composants de modèles génériques
paramétrés eux-mêmes par des "modèles requis" et fournissant un modèle enrichi. On dépasse ainsi la notion de contrat d'assemblage de composants souvent réduite à une interface de services unitaires.
La conception d'un système revient alors à assembler de tels composants par les modèles. Nous proposons pour cela un opérateur d'application de modèles paramétrés. Celui-ci permet de spécifier des assemblages à partir d'un ensemble de composants de modèles.
Nous étudions des propriétés d'ordre permettant de garantir la cohérence des alternatives de composition. Ceci conduit à des règles et contraintes au niveau des modèles, afin d'assurer la cohérence de systèmes ainsi construits. Nous formulons une méta-modèlisation de l'approche par extension du méta-modèle UML2 et un ensemble de contraintes. Nous proposons également différentes stratégies de mise en
\oe uvre, sous la forme de patron de conception, permettant de
préserver, jusqu'à l'exploitation, les qualités de structuration et de généricité obtenues au niveau modèle. Des projections ont été expérimentées sur différentes plates-formes à composants.
Abstract :
Software engineering aims at being rationalized always more and tends to reach levels of productivity and reuse that come near to other fields such as mechanics or electronics.
Our approach aims to specifying business components reusable in different contexts. Our idea is to introduce the notion of 'model components' parametrized by a 'required model' and that produce an 'augmented model'. Then the modeling phase can be seen as the assembly of such components by connecting provided models to required ones. Note that component ports (specified by a model) can be more sophisticated than simple interfaces of objects or software components.
To support such processes, we introduce an operator (apply) to express the application of parametrized models. This operator allows to specify how to obtain a model from an existing one by the application and composition of generic ones. Alternative composition sequences of parametrized models can be elaborated to build the same system model.
We formalize our approach by extending the UML2 meta-model. We propose some design patterns to preserve structuration and genericity down to exploitation phase. These patterns have been experimented in different technological platforms.
Jury :
Pr. Sophie Tison (Présidente)
Pr. Jean-Marc Geib (Directeur)
Pr. Marie-Pierre Gervais (Rapporteur)
Dr. Antoine Beugnard (Rapporteur)
Dr. Philippe Lahire (Examinateur)
Dr. Bernard Carré (Examinateur) |
|
|
|
Thèse: Laurent Thiry, 10 décembre 2002, "Modèles, métamodèles et objets comportementaux pour les systèmes dynamiques complexes" |
RESUME: Les systèmes dynamiques complexes sont difficiles à modéliser. En effet, ils nécessitent des moyens adaptés pour abstraire, organiser et comprendre de quoi ces systèmes sont faits et comment ils peuvent réaliser des comportements de haut niveau. Pour aborder cette problématique, les systèmes dynamiques complexes sont généralement étudiés en prenant en compte plusieurs formalismes, points de vue et domaines de compétence. L’approche objet combinée aux concepts de
métamodélisation et d’architecture joue ici un rôle important pour la maîtrise de la complexité. Elle permet, entre autre, la modélisation des connaissances, l’unification conceptuelle et l’intégration de modèles. La thèse se situe dans ce contexte et cherche à réduire le décalage entre les modèles issus des sciences de l’information et les modèles issus du
domaine de la théorie des systèmes. L’état de l’art concerne une présentation conjointe des concepts associés aux systèmes dynamiques complexes et des avancées récentes en matière de génie logiciel orienté-objet avec, en particulier, les schémas de conception récurrents (patterns) et la métamodélisation. La thèse propose ensuite de transformer en objets les aspects dynamiques des systèmes dans le but de les organiser, les contrôler, les adapter, etc. Elle introduit ainsi la notion
d’objets comportementaux qui est complétée par une architecture de référence et le concept de métacomportement destiné plus spécifiquement à la synthèse de systèmes adaptatifs complexes. La thèse explique enfin comment intégrer différentes représentations d’un système, comment passer d’une représentation à l’autre ou comment générer automatiquement de nouvelles représentations.
JURY: G. Binder, J.P. Bourey, G. Juanole, A. Koukam, B. Thirion et J.M. Perronne. |
|
|
|
|