Approche systématique basée sur fUML pour formaliser la sémantique d’exécution des profils UML

par Jérémie Tatibouët

Thèse de doctorat en Informatique

Sous la direction de François Terrier.

Soutenue le 16-10-2014

à Paris 11 , dans le cadre de Ecole doctorale Informatique de Paris-Sud .

Le président du jury était Philippe Dague.

Le jury était composé de François Terrier, Philippe Dague, Benoit Baudry, Jean-Michel Bruel, Arnaud Cuccuru, Bran Selic.

Les rapporteurs étaient Benoit Baudry, Jean-Michel Bruel.


  • Résumé

    Les profils permettent de customiser UML pour un domaine particulier. Cette customisation se fait par l’ajout de concepts (stéréotypes) relatifs au domaine, l’ajout de contraintes sur ces concepts ainsi que la résolution de points de variation sémantiques. Il existe un processus établit et documenté dans l’état de l’art permettant de construire la syntaxe de ces langages basés sur UML. En revanche, ce processus ne couvre pas l’aspect formalisation de la sémantique et les propositions issues de l’état de l’art ne présentent pas d’approches systématiques pour traiter ce problème.La formalisation de la sémantique est un point essentiel de la construction d’un langage car elle permet de donner le sens des constructions syntaxiques. Pour être efficace, la formalisation de la sémantique d’un langage doit être menée conjointement à une action de normalisation. L’intérêt d’avoir une sémantique formelle et standard pour un langage est qu’elle permet aux modèles définis dans ce langage d’être exploités (analyse, exécution, simulation, etc.) de manière équivalente entre les outils. Cette équivalence permet aux utilisateurs d’observer des interprétations identiques d’un même modèle entre différents outils et donc d’avoir une compréhension commune du modèle et de la sémantique associée. Dans le contexte des profils, les actions de normalisations menées par l’OMG se concentrent exclusivement sur la syntaxe et la formalisation de la sémantique est négligée. Nous proposons de répondre à ce problème en nous appuyant sur les spécifications fUML et PSCS qui définissent une sémantique normative pour un sous-ensemble d’UML.Dans un premier temps, nous définissons deux méthodologies alternatives s’appuyant sur ces standards permettant de formaliser la sémantique d’exécution d’un profil UML. Dans la première méthodologie la sémantique d’exécution d’un profil est formalisée au niveau du modèle de domaine. La forme exécutable d’un modèle applicatif profilé est obtenue par transformation de modèle. Dans la seconde méthodologie, la sémantique est définie directement pour le profil. Le modèle qui la formalise est une extension du modèle sémantique de fUML/PSCS formalisée avec fUML. Les modèles sémantiques obtenus sont conformes à fUML ce qui les rend par construction exécutables et directement exploitables dans n’importe quel outil implantant les normes UML et fUML. Dans un deuxième temps, nous comparons nos approches sur la base de trois critères : l’effort de modélisation requis pour produire le modèle sémantique, la préservation de la sémantique de base d’UML définie par fUML/PSCS et la possibilité d’identifier rapidement les relations entre les stéréotypes et leurs sémantiques. Cette comparaison, nous permet de montrer la capacité de notre seconde méthodologie à prendre en compte des extensions clefs de la sémantique de base d’UML dans le contexte des profils. Ces éléments clefs sont : la délégation du contrôle, l’instanciation et les communications. L’ensemble de nos contributions ont été outillées dans le contexte de l’outil d’exécution de modèles MOKA qui est intégré au modeleur UML/SysML Papyrus.

  • Titre traduit

    A Systematic Approach based on fUML to Formalize UML Profiles Execution Semantics


  • Résumé

    UML profiles enable the UML to be tailored to a particular domain. To do so, a profile adds domain specific concepts (i.e., stereotypes) and constraints to UML and disambiguates specific semantic variation points. The design process for abstract syntax of profiles is well documented in the literature. However, specification of the semantics is neglected. According to our researches, there are no proposals in the state-of-the-art that define a systematic approach to solve this problem.Semantic formalization is a key point of language design. It enables to formally define the meaning of syntactic elements. In order to be efficient, the formalization activity must be realized in parallel with a standardization activity. The interest to have a language with a formal standardized semantic is to enable models defined using this latter to be interpreted (analysis, execution, simulation) in equivalent way between tools implementing the semantics. This equivalence enables users to observe similar interpretations of the same model between different tools and therefore to have a shared understanding of this model and the associated semantic.In the context of UML profiles, normalization activities leaded by the OMG are focused on the syntax. The semantic formalization aspect is neglected. We propose to address this problem by relying on fUML and PSCS OMG (Object Management Group) specifications. These standards formalize execution semantics for a subset of UML (classes, composite structures, and activities).Firstly, we define two methodologies relying on these standards to formalize execution semantics of UML profiles execution semantics. The first methodology defines the execution semantics for the domain model underlying the profile. The executable form of an applicative model defined using the profile is obtained by model transformation. In the second methodology, semantics are defined directly for the profile by extending the semantic model of fUML/PSCS using fUML. By being conform to fUML, the semantic model is by construction executable and can be directly used in any tools implementing the UML and fUML standards.Secondly, we compare our approaches against the following criteria: the modelling effort required to build the semantic model, the capability of the methodology to preserve the UML semantics (i.e., the one defined by fUML/PSCS) and the capability to identify clearly the relationships between the stereotypes and their semantics. This comparison enables us to demonstrate the capacity of the second methodology to define key extensions of the UML semantics in the context of a profile. These latter are: the control delegation, the instantiation, and the communications. The contributions have been implemented in our model execution framework Moka which is integrated in the open-source UML/SysML modeling tool Papyrus.


Le texte intégral de cette thèse n'est pas accessible en ligne.
Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse ?

  • Bibliothèque : Université Paris-Sud. Service commun de la documentation. Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.