thesis

Contribution à la conception de langages de modélisation spécifiques fondés sur UML

Defense date:

Jan. 1, 2008

Edit

Institution:

Nice

Disciplines:

Directors:

Abstract EN:

Building domain-specific modeling language eases systems design by providing practitioners with direct representations of concepts belonging to application domain. Creation of domain-specific modeling languages can be done with profile mechanisms. They are standard mechanisms proposed by the OMG (Object Management Group). One of the key principles of the profile mechanism is that it reuses existing language concepts, i. E. Those existing in UML (Unified Modeling Language), so that to minimize the amount of concepts to define to cover the targeted domain. Despite the ever-increasing number of profiles defined, creating a profile is still an ad hoc process with very little literature available to help designers. Without a clear language design process, it is hard to ensure that the required concepts are actually captured and that the profile is well-formed. Adoption of profiles in a model driven development process may, in turn, hamper model transformations or model analyses. This thesis contributes to increasing the knowledge on the definition and usage of profiles. The dearth of materials for profile definitions leads to the creation of metrics to characterize standardised profiles and a qualitative analysis to find out best design practices. Best practices require to create a domain model that is then mapped onto profile constructs. To feed the gap between domain model and profile, a support to annotate domain model with multi-level information is presented. This annotated domain model is then used as a specification to automate creation of an equivalent profile. For the same purpose, a staged process that helps the designer throughout the profile design process is then described. Starting from the domain model, a set of regularly occurring design patterns is identified with profile solutions to systematically transform domain representations into profiles. This staged-process relies on several models and mechanisms to keep them synchronised are elaborated. The last contribution is a set of a dedicated high-level constructs, that embody OCL expressions, to constrain models on which several profiles are applied on.

Abstract FR:

La création d'un langage de modélisation spécifique à un domaine facilite la conception d'un système en rendant disponible les représentations directes des concepts du domaine d'application. La définition d'un tel langage peut se faire par le mécanisme de profil. Celui-ci est standardisé par l'OMG (Object Management Group). Il a pour principe clef la réutilisation de concepts, tels ceux présents dans UML (Unified Modeling Language), minimisant ainsi ceux à définir pour les besoins du domaine visé. La prolifération de profils ainsi que la dimension des domaines attaqués tranchent avec le caractère ad-hoc des pratiques de développement. En l'absence de matériel pour guider les concepteurs, la capture fidèle des concepts et le respect des contraintes des mécanismes de profil sont difficiles à tenir. L'utilisation d'un tel profil, dans un développement dirigé par les modèles, compromet alors l'analyse ou la transformation de modèles. Le travail proposé est l'amélioration des pratiques de définition et d'utilisation de profil. La carence de travaux disponibles motive la création de métriques pour caractériser les profils standardisés ainsi qu'une analyse qualitative afin d'y déceler les bonnes pratiques de conception. Celles-ci montrent qu'un modèle de domaine est nécessaire avant la construction d'un profil. Afin de faciliter le passage du modèle de domaine au profil, un support pour annoter un modèle de domaine avec des informations multi-niveaux est proposé. Ce modèle de domaine annoté est ensuite utilisé en tant que spécification pour automatiser la création d'un profil. Un processus par étapes est également présenté pour assister le concepteur durant la création d'un profil. Il débute par la définition du modèle de domaine surlequel les occurrences d'un patron de conception servent à piloter la construction du profil équivalent. Cette proposition prend forme dans un atelier outillé. Celui-ci intègre, de plus, des mécanismes de synchronisation entre les modèles. Enfin, des mécanismes dédiés à la spécification de contraintes sont proposés pour contrôler l'application conjointe de profils.