3 research outputs found

    A QVT-BASED APPROACH FOR MODEL COMPOSITION - Application to the VUML Profile

    No full text

    Spem4mde : un métamodèle et un environnement pour la modélisation et la mise en œuvre assistée de processus IDM

    Get PDF
    With the emergence of MDE, many organizations have been starting to transform their traditional software development processes into model-driven processes. Kleppe and al. define a model-driven software development as “a process of developing software using different models on different levels of abstraction with (automated) transformations between these models”.While model-driven development processes – called MDE processes – have started to appear, a tool-supported Process Modeling Language (PML) for describing and enacting such processes is still lacking. The concepts of SPEM 2.0 are quite generic since they are supposed to allow describing any kind of software. However, SPEM 2.0 concepts do not succeed in capturing the exact nature of most activities and artifacts of model-driven development. In addition, another major weakness of SPEM 2.0 is the lack of concepts for process enactment.The objective of this thesis is threefold: (1) provide an extension of SPEM that reifies the MDE concepts; (2) provide a language dedicated to behavioral modeling of MDE processes; (3) provide a conceptual architecture of a PSEE (Process-centered Software Engineering Environment) that guides process designer at modeling phase and developers at enactment time.To validate our approach, a prototype of this PSEE is developed under the TOPCASED environment. This prototype provides a graphical editor for structural and behavioral modeling of MDE processes, and a process enactment engine based on process behavior models. We have also applied our approach to a significant case study: the UWE (UML-based Web Engineering) process, which is a MDE process dedicated to web applications development.L’avènement de l’IDM (Ingénierie Dirigée par les Modèles) a suscité beaucoup d’intérêt de la part des organisations qui de fait commencent à transformer leur processus de développement traditionnel en un processus de développement dirigé par les modèles, appelé aussi processus IDM.Au moment où ces processus commencent à émerger, nous notons l’absence d’un langage dédié pour les modéliser et les mettre en œuvre. Le standard SPEM 2.0 propose des concepts génériques qui sont supposés être capables de décrire tout type de processus logiciel. Cependant, les concepts de SPEM ne capturent pas la nature exacte des processus IDM. D’autre part, une autre insuffisance majeure de SPEM réside dans le fait qu’il n’intègre pas les concepts relatifs à la mise en œuvre des processus.L’objectif de cette thèse est triple : (1) proposer une extension de SPEM dans laquelle les concepts centraux des processus IDM sont réifiés ; (2) proposer un langage dédié à la modélisation comportementale des processus IDM ; (3) proposer une architecture conceptuelle d’un environnement logiciel d’aide à la modélisation et à la mise en œuvre des processus IDM.Pour valider notre approche, un prototype a été développé sous l’environnement TOPCASED. Ce prototype fournit d’une part un éditeur graphique pour la modélisation structurelle et comportementale des processus IDM et d’autre part un environnement de mise en œuvre s’appuyant sur les modèles comportementaux des processus. Nous avons également appliqué notre approche à une étude de cas significatif: le processus UWE (UML-based Web Engineering), qui est un processus IDM dédié au développement d’applications web

    Intégration de la modélisation comportementale dans la conception par points de vue

    Get PDF
    View-based modeling is the main subject of this thesis. It is a variant of the object oriented modeling approach for the analysis and design of complex systems, focusing on the actors that use the system and decomposing the specification according to their needs. With this prospect, our team developed a UML profile named VUML (View based UML), which allows the elaboration of a unique and sharable model accessible according to the view of each of the system's actors. However the achieved work on the VUML profile does not tackle the behavior aspects of the modeling process. The VUML approach address the structural aspects related to the composition of views and to the sharing of data without dealing with the way these views will react, or how to be able to synchronize them in order to obtain the behavior of multiple-view objects (instances of a multi-view class). The achieved work in this thesis aims to fill this gap by providing new mechanism to the VUML profile that allows expressing the behavioral needs of a system. We will focus on describing the individual behavior of multi-view objects by state-machines that require adjustments of UML modeling concepts. To achieve this objective we introduced the concept of event probes, which allow to specify implicit communication between the view-objects via event observation. This allows decoupling the view specifications that are a priori strongly interconnected, and therefore allows them to be designed separately, in agreement with the VUML method recommendations, and then to be integrated without the need of making modifications. We first define the concept of event monitoring and identified the different types of probes and the appropriate parameters that characterize them. We also define a set of concepts that can extend and manipulate probes. Then we propose a UML-compatible representation of the introduced concepts in form of a profile named VxUML (extension of VUML). In addition to defining the profile elements (stereotypes, tagged value, predefined library classes), we have developed rules for proper formation of the static semantics using OCL to reduce ambiguity in the specification of such concepts. Afterwards, to demonstrate the usefulness of the concepts introduced, we developed a case study through which we sought to provide a full view-based model, addressing both structural and behavioral aspects. At the end, to concretely validate our approach in a model driven engineering setting, we developed a code generator that takes as input a specification developed in VxUML profile. This generator uses the techniques of model transformation related to the code generation, including transformation of platform independent models (PIM) to platform specific models (PSM), and transformation of PSMs to code; the current target language is Java. Finally, another contribution of this thesis is a process associated with VxUML. It is an approach that complements the approach associated with VUML (which deal only with structural aspects) to be able to use in methodical manner the new mechanisms dedicated to behavioral treatment. Now, the VxUML development process offers a complete view based modeling, that is, dealing with both structural and behavioral aspects. Keywords: View based modeling, VUML profile, VxUML profile, event observation, multi-view states machine, behavior composition.La modélisation par points de vue constitue la thématique générale de notre travail de thèse. C'est une approche de modélisation orientée objet, visant l'analyse et la conception des systèmes complexes avec une démarche centrée autour des acteurs interagissant avec le système. Notre équipe a ainsi développé un profil UML appelé VUML (View based UML), qui permet l'élaboration d'un modèle unique partageable à partir de vues associées aux points de vue des acteurs. Cependant, les travaux réalisés sur le profil VUML [Nassar, 05 ; Anwar, 09] ne couvrent pas les aspects comportementaux de la modélisation. En effet, – en proposant la notion de classe multivue – VUML traite les aspects structuraux liés à la composition des vues et au partage des données statiques sans prendre en compte la manière dont ces vues vont réagir, ni comment les synchroniser afin de représenter le comportement des objets multivue (instances d'une classe multivue). Les travaux effectués dans le cadre de cette thèse cherchent à combler ce manque en dotant le profil VUML de nouveaux mécanismes permettant d'exprimer le comportement d'un système. Nous nous sommes concentrés pour cela sur le comportement des objets multivue décrit par des machines à états qui nécessitent des adaptations des concepts de modélisation UML. Pour réaliser cet objectif nous avons introduit la notion de sonde d'événements, qui permet de spécifier des communications implicites entre les vues par observation d'événements. Ceci permet de découpler des spécifications qui sont a priori fortement interconnectées, de les concevoir séparément par points de vue, selon les préconisations de la méthode VUML, puis de les intégrer sans avoir à les modifier. Nous avons tout d'abord défini le concept de sonde d'événements, identifié les différents types de sondes avec les paramètres associés, puis défini un ensemble de concepts permettant d'enrichir et de manipuler les sondes. Nous avons ensuite proposé une représentation compatible avec VUML des concepts introduits sous forme d'un profil nommé VxUML (extension de VUML). En plus de la définition des éléments du profil (stéréotypes, valeurs marquées, classes de librairie prédéfinies), nous avons développé en OCL des règles de bonne formation (sémantique statique). Pour illustrer l'intérêt des concepts introduits, nous avons développé une étude de cas en proposant une modélisation par points de vue complète traitant à la fois les aspects structurel et comportemental. Pour valider concrètement notre approche, nous avons développé, selon une approche IDM, un générateur de code qui prend en entrée une spécification de système en VxUML. Ce générateur utilise les techniques de transformation de modèles liées à la génération de code, et notamment les transformations de modèles indépendants de plate-forme (PIM) vers des modèles spécifiques à une plate-forme (PSM), et des modèles PSM vers le code ; il a été développé dans un premier temps avec le langage cible Java. Sur le plan méthodologique, nous avons défini une démarche associée à VxUML, qui complète celle de VUML, en permettant d'utiliser d'une manière méthodique les mécanismes dédiés au traitement du comportement. Désormais, le processus de développement VxUML permet une modélisation par points de vue complète, traitant à la fois les aspects structurel et comportemental. Mots clés : Conception par points de vue, profil VUML, profil VxUML, sonde d'événements, machine à états multivue, composition du comportement
    corecore