4 research outputs found

    Vers un profil UML pour la conception de composants multivues

    Get PDF
    International audienceThis paper aims to present an UML profile based on multiviews components. A multiviews component allows to encapsulate and deliver information according to the user's point of view and offers mechanisms to manage the dynamic evolution of viewpoints and consistency among views. In this paper, we first present the notion of multiviews component and its integration into a UML profile, and thus detail an object-oriented multiviews modelling applied to a concrete example. The transition to the coding stage is described through a generic implementation pattern.L' objectif de cet article est de présenter un profil UML permettant la construction de composants logiciels multivues. Un composant multivues est une extension de la notion de composant UML permettant de stocker et restituer de l' information en fonction du profil de l' utilisateur (point de vue), et offrant la possibilité de changement dynamique de point de vue. Dans cet article, nous présentons tout d' abord la notion de classe multivues, puis le composant multivues et son intégration dans un profil UML. Nous illustrons à l' aide d' un exemple concret la mise en oeuvre d' une modélisation objet multivues. La transition vers la phase de codage est présentée à travers un patron d'implémentation générique

    Analyse/conception par points de vue : le profil VUML

    Get PDF
    L'objectif de la thèse est de proposer une extension du langage de modélisation unifié (UML) orientée points de vue. Cette extension, appelée VUML (View based Unified Modeling Language) offre un formalisme (extension d’UML) pour modéliser un système logiciel par une approche combinant objets et points de vue. Le principal ajout à UML est celui du concept de classe multivues. Une classe multivues est une unité d’abstraction et d’encapsulation qui permet de stocker et restituer l'information en fonction du profil de l'utilisateur. Elle offre des mécanismes de gestion des droits d’accès aux informations, de changement dynamique de points de vue et de gestion de la cohérence entre les vues dépendantes. De plus, VUML propose un modèle de composant multivues qui permet de représenter une classe multivues au niveau du diagramme de composants. Sur le plan sémantique, VUML étend le métamodèle d’UML et introduit un certain nombre de stéréotypes regroupés sous forme d’un profil UML. A l’instar d’UML, la sémantique VUML comprend un aspect statique et un aspect dynamique. La sémantique statique de VUML est définie par le métamodèle, des règles de bonne modélisation (well-formedness rules) exprimées en langage formel OCL (Object Constraint Language) et des descriptions textuelles informelles. La sémantique dynamique quant à elle est décrite d’une manière informelle. Sur le plan méthodologique, VUML propose un noyau d’une démarche qui permet d’intégrer de façon logique et consistante la notion de point de vue dans le processus de développement dans le contexte de l’approche MDA (Model Driven Architecture). L’outil support à VUML a été conçu et réalisé en adaptant l’atelier Objecteering/UML par la technique des profils. Cet outil permet de mener une modélisation à base de vues, de vérifier la cohérence des modèles élaborés et de générer du code objet (Java,...) en appliquant un patron d’implémentation générique sur un diagramme de classes VUML. ABSTRACT : This thesis proposes a viewpoint oriented extension of the Unified Modelling Language. This extension, called VUML (View based Unified Modelling Language) provides a formalism for modelling software systems through objects and viewpoints. The main UML extension is the concept of multiviews class whose goal is to encapsulate and deliver information according to the user profile (viewpoint). VUML allows the dynamic change of viewpoint and offers mechanisms to manage consistency among dependent views. Moreover, VUML proposes a multiviews component model. Such a component allows to represent a multiviews class in a component diagram. On the semantic level, VUML extends the metamodel of UML and introduces a set of stereotypes grouped in a UML profile. As in UML, the VUML semantics includes static and dynamic aspects. The VUML static semantics is defined by the metamodel, the well-formedness rules expressed in the formal language OCL (Object Constraint Language), and informal textual descriptions. The VUML dynamic semantics is described so far in an informal manner. On the methodological level, VUML proposes a process that makes possible a logical and consistent integration of the viewpoint concept in the development process according to the MDA approach. A VUML tool has been designed and implemented by adapting the Objecteering/UML tool through the profile technique. This tool allows to carry out a view based modelling, to check the consistency of the elaborated models and to generate object code (Java...) by applying a generic implementation pattern to a VUML class diagram

    MODÉLISATION DE PROCÉDÉS LOGICIELS À BASE DE PATRONS RÉUTILISABLES

    Get PDF
    This thesis investigates the reuse of software processes by an approach based on process patterns. The objective of our work is to make process patterns directly applicable in process modeling. The concept of process pattern is used to capture and reuse the proven solutions for recurring process problems. However, this attractive concept has still been poorly exploited due to the inadequate formalization and the lack of supporting methodology and tools. To promote the use of process patterns and reduce the modelling effort, we broaden the concept of process pattern for capturing various types of process knowledge at different abstract levels, and propose ways to reuse (semi-)automatically process patterns in process modelling. We define the process meta-model UML-PP to formalize the process pattern concept and the ways to apply patterns in process models. UML-PP allows describing the internal structure of a process pattern as well as the relations between process patterns, and enables the explicit representation of process patterns' applications in process models. We propose the meta-process PATPRO defining the modelling steps to elaborate a process model in UML-PP by reusing process patterns. To allow automated applications of process patterns, we define an operational semantics for the patterns reuse operators who carry out some tasks of the meta-process. We have developed the prototype PATPRO-MOD allowing to create and manage process patterns catalogues, and to elaborate process models in UML-PP by reusing (semi-)automatically process patterns.Cette thèse est consacrée à la réutilisation de procédés par une approche à base de patrons de procédé. Le concept de patron de procédé a été introduit pour capitaliser et réutiliser des solutions éprouvées des problèmes de procédés récurrents. Cependant cette approche est encore peu exploitée à cause du champ de définition limité, du manque de formalisation, de méthodologie et d'outils support. Pour promouvoir l'utilisation de patrons de procédé et réduire l'effort de modélisation, nous considérons le concept de patron de procédé à différents niveaux d'abstraction pour capturer divers types de connaissances sur les procédés, et proposons des moyens pour réutiliser de façon (semi-)automatique ces patrons dans la modélisation des procédés. Nous avons défini le méta-modèle de procédé UML-PP pour formaliser le concept de patron de procédé et la manière d'appliquer les patrons dans la modélisation de procédés. UML-PP permet de décrire la structure interne d'un patron de procédé ainsi que les relations entre patrons, et permet d'exprimer explicitement l'utilisation de patrons dans les modèles de procédé. Nous proposons le méta-procédé PATPRO définissant une démarche de modélisation pour élaborer un modèle de procédé UML-PP en réutilisant des patrons de procédé. Pour permettre une automatisation de l'application de patrons de procédé, nous définissons une sémantique opérationnelle des opérateurs de réutilisation de patrons qui réalisent l'imitation de patrons. Nous avons réalisé le prototype PATPRO-MOD permettant de créer et gérer des catalogues de patrons de procédé et d'élaborer des modèles de procédé UML-PP en réutilisant semi-automatiquement des patrons prédéfinis

    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