156 research outputs found

    Évaluation de l'apport des aspects, des sujets et des vues pour la composition et la réutilisation des modèles

    Get PDF
    National audienceThe reuse, the evolution or the fast adaptation of the code of an application are among the strongest concerns of companies. Model engineering tries to bring a solution putting the model in the center of the software development and by capturing the business know-how initially described in the code of the application. This approach has the advantage to make the description independant of software platforms. Our objective in this paper is to present three different approaches for the composition of models, to evaluate them using the criteria proposed by the AOSD-EUROPE network of excellence in order to extract relevant information. From this evaluation, this paper provides new proposals. The evaluation aims at showing the capacity of each approach to support the composition of both functional and extra-functional concerns

    Construction incrémentale de spécifications de systèmes critiques intégrant des procédures de vérification

    Get PDF
    Cette thèse porte sur l'aide à la construction de machines d'états UML de systèmes réactifs. Elle vise à définir un cadre théorique et pragmatique pour mettre en œuvre une approche incrémentale caractérisée par une succession de phases de construction, évaluation et correction de modèles. Ce cadre offre des moyens de vérifier si un nouveau modèle est conforme à ceux définis durant les étapes précédentes sans avoir à demander une description explicite des propriétés à vérifier. Afin de pouvoir analyser les machines d'états, nous leur associons une sémantique LTS ce qui nous a conduit à définir une procédure de transformation automatique de machines d'états en LTS. Dans un premier temps, nous avons défini et implanté des techniques de vérification de relations de conformité de LTS (red, ext, conf, et confrestr). Dans un second temps, nous nous sommes intéressés à la définition d'un cadre de construction incrémentale dans lequel plusieurs stratégies de développement peuvent être mises en œuvre en s'assurant que le modèle final élaboré sera une implantation conforme à la spécification initiale. Ces stratégies reposent sur des combinaisons de raffinements qui peuvent être de deux types : le raffinement vertical pour éliminer l'indéterminisme et ajouter des détails ; le raffinement horizontal pour ajouter de nouvelles fonctionnalités sans ajouter d'indéterminisme. Enfin, nous transposons la problématique de construction incrémentale d'une machine d'états à la construction d'architectures dont les composants sont des machines d'états. Des conditions sont définies pour assurer la conformité entre des architectures dans le cas de la substitution de composants.This thesis focuses on supporting construction of UML state machines of reactive systems. It aims at developing a theoretic and pragmatic framework to implement an incremental approach characterized by a succession of construction, evaluation and correction of models. This framework provides the means to verify whether a new model is consistent with those defined in the previous steps without requiring an explicit description of the properties to be verified. To analyze the state machines, we associated with them a LTS semantics which led us to define a procedure for automatic transformation of state machines in LTS. Initially, we have defined and implemented verification technique of conformance relations on LTS (red, ext, conf and confrestr). In a second step, we have defined a framework for incremental construction in which several development strategies can be implemented ensuring that the final developed model will be an implementation consistent with the initial specification. These strategies are based on combination of refinements that may be of two types: vertical refinement to eliminate nondeterminism and add details, and the horizontal refinement to add new features without adding nondeterminism. Finally, we transpose the problem of incremental construction of state machines to the construction of architectures whose components are state machines. Conditions are defined to ensure conformance between architectures in the case of substitution of components

    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

    Développement logiciel par transformation de modèles

    Get PDF
    La recherche en génie logiciel a depuis longtemps tenté de mieux comprendre le processus de développement logiciel, minimalement, pour en reproduire les bonnes pratiques, et idéalement, pour pouvoir le mécaniser. On peut identifier deux approches majeures pour caractériser le processus. La première approche, dite transformationnelle, perçoit le processus comme une séquence de transformations préservant certaines propriétés des données à l’entrée. Cette idée a été récemment reprise par l’architecture dirigée par les modèles de l’OMG. La deuxième approche consiste à répertorier et à codifier des solutions éprouvées à des problèmes récurrents. Les recherches sur les styles architecturaux, les patrons de conception, ou les cadres d’applications s’inscrivent dans cette approche. Notre travail de recherche reconnaît la complémentarité des deux approches, notamment pour l’étape de conception: dans le cadre du développement dirigé par les modèles, nous percevons l’étape de conception comme l’application de patrons de solutions aux modèles reçus en entrée. Il est coutume de définir l’étape de conception en termes de conception architecturale, et conception détaillée. La conception architecturale se préoccupe d’organiser un logiciel en composants répondant à un ensemble d’exigences non-fonctionnelles, alors que la conception détaillée se préoccupe, en quelque sorte, du contenu de ces composants. La conception architecturale s’appuie sur des styles architecturaux qui sont des principes d’organisation permettant d’optimiser certaines qualités, alors que la conception détaillée s’appuie sur des patrons de conception pour attribuer les responsabilités aux classes. Les styles architecturaux et les patrons de conception sont des artefacts qui codifient des solutions éprouvées à des problèmes récurrents de conception. Alors que ces artefacts sont bien documentés, la décision de les appliquer reste essentiellement manuelle. De plus, les outils proposés n’offrent pas un support adéquat pour les appliquer à des modèles existants. Dans cette thèse, nous nous attaquons à la conception détaillée, et plus particulièrement, à la transformation de modèles par application de patrons de conception, en partie parce que les patrons de conception sont moins complexes, et en partie parce que l’implémentation des styles architecturaux passe souvent par les patrons de conception. Ainsi, nous proposons une approche pour représenter et appliquer les patrons de conception. Notre approche se base sur la représentation explicite des problèmes résolus par ces patrons. En effet, la représentation explicite du problème résolu par un patron permet : (1) de mieux comprendre le patron, (2) de reconnaître l’opportunité d’appliquer le patron en détectant une instance de la représentation du problème dans les modèles du système considéré, et (3) d’automatiser l’application du patron en la représentant, de façon déclarative, par une transformation d’une instance du problème en une instance de la solution. Pour vérifier et valider notre approche, nous l’avons utilisée pour représenter et appliquer différents patrons de conception et nous avons effectué des tests pratiques sur des modèles générés à partir de logiciels libres.Software engineering researchers have long tried to understand the software process development to mechanize it or at least to codify its good practices. We identify two major approaches to characterize the process. The first approach—known as transformational—sees the process as a sequence of property-preserving transformations. This idea was recently adopted by the OMG’s model-driven architecture (MDA). The second approach consists in identifying and codifying proven solutions to recurring problems. Research on architectural styles, frameworks and design patterns are part of this approach. Our research recognizes the complementarity of these two approaches, in particular in the design step. Indeed within the model-driven development context, we view software design as the process of applying codified solution patterns to input models. Software design is typically defined in terms of architectural design and detailed design. Architectural design aims at organizing the software in modules or components that meet a set of non-functional requirements while detailed design is—in some way—concerned by the contents of the identified components. Architectural design relies on architectural styles which are principles of organization to optimize certain quality requirements, whereas detailed design relies on design patterns to assign responsibilities to classes. Both architectural styles and design patterns are design artifacts that encode proven solutions to recurring design problems. While these design artifacts are documented, the decision to apply them remains essentially manual. Besides, once a decision has been made to use a design artifact, there is no adequate support to apply it to existing models. As design patterns present an ‘‘easier’’ problem to solve, and because architectural styles implementation relies on design patterns, our strategy for addressing these issues was to try to solve the problem for design patterns first, and then tackle architectural styles. Hence, in this thesis, we propose an approach for representing and applying design patterns. Our approach is based on an explicit representation of the problems solved by design patterns. Indeed, and explicit representation of the problem solved by a pattern enables to: 1) better understand the pattern, 2) recognize the opportunity of applying the pattern by matching the representation of the problem against the models of the considered system, and 3) specify declaratively the application of the pattern as a transformation of an instance of the problem into an instance of the solution. To verify and validate the proposed approach, we used it to represent and apply several design patterns. We also conducted practical tests on models generated from open source systems

    Modélisation et vérification du flux d'information pour les systèmes orientés objets

    Get PDF
    RÉSUMÉ Afin d'assurer la protection de la confidentialité et l'intégrité des systèmes orientés objet, cet article propose une modèle d'étiquettes décentralisées (méfiance mutuelle et sécurité décentralisée) pour le contrôle des flux d'information dans des modèles UML et son intégration dans UML. Le document présente la syntaxe et la sémantique formelle des modèles UML (les diagrammes de classes, diagrammes d'objets et diagrammes d'états) étendus avec des fonctionnalités supplémentaires qui prennent en charge le contrôle des flux d'information. Il prend en charge la vérification du flux d'information à l'exécution et permet de s'assurer que le système n'admet que des flux d'information légaux. Ainsi des politiques de sécurité flexibles sont définies sur des diagrammes UML juste en les étiquetant. Le contrôle du flot de données et des canaux de transmission est effectué au niveau des diagrammes de classes, diagrammes d'objets et diagrammes d'états. Cela permet de définir le flux d'information lorsque le comportement des objets changent.----------ABSTRACT For protection of the confidentiality and integrity of object-oriented systems, this paper proposes a decentralized label model for control of information flow in UML system models with mutual distrust and decentralized security and its integration into UML. The paper introduces UML (class diagrams, object and statecharts) syntax and formal semantics extensions with additional features that support information flow control. It supports run-time verification of information flow so that the system model can be certified to permit only admissible information flows. Using this, flexible security policies can be easily defined through UML diagrams just by labelling them. The control of data flows and transmitting channels is performed at the level of Class diagrams, Object diagrams and Statechart diagrams. This allows to define information flow when the behaviour of objects change

    Des langages de modélisation dédiés aux environnements de méta-modélisation dédiés

    Get PDF
    Les langages dédiés (DSL) sont de plus en plus utilisés parce qu ils permettent aux utilisateurs qui ne sont pas des experts en programmation d exprimer des solutions avec des langages simples qui capturent l expertise de leur domaine. C est encore plus vrai pour les langages dédiés graphiques (DSML) qui ont un niveau d abstraction plus élevé que les langages dédiés de programmation. Implémenter un DSML revient généralement à fournir un éditeur dédié qui permette aux utilisateurs de manipuler les abstractions de leur domaine (d instancier le langage). Les expériences ont montré que l implémentation d un tel éditeur dédié graphique est coûteuse en termes de temps et de ressources humaines. Nous constatons que la plupart des plates-formes permettant de construire ce type d éditeur (EMF/GMF, DSL Tools, Obeo Designer, ...) sont génériques. Elles essayent d adresser le maximum de domaines possibles, ce qui les rend complexes et inadaptées à des cas d utilisation spécifiques. Si la spécialisation aux domaines a été un succès pour les langages, pourquoi ne pas l appliquer aux plates-formes de construction d éditeurs ? Cela reviendrait à concevoir pour un domaine donné, une plate-forme permettant de construire facilement des éditeurs dédiés pour ce domaine. Cette plate-forme n aurait pas les défauts d une plate-forme totalement générique parce qu elle serait restreinte au domaine ciblé. Ce type de plate-forme spécifique à un domaine, nous l appelons Domain Specific Modeling Framework (DSMF). Le principal inconvénient d un DSMF est qu on ne peut l utiliser que dans le cadre du domaine pour lequel il a été conçu. Cela implique qu il faille construire un DSMF par domaine et c est une solution coûteuse. Toutefois, nous pensons que cette approche sur les DSMF peut être généralisée afin d adresser un grand nombre de domaines. Cette thèse a donc consisté à concevoir et à implanter un environnement qui permet de construire des DSMF de façon modulaire.Domain Specific Languages (DSLs) are increasingly used in many fields as they allow users to express strategies without being programming experts. This is particularly true for graphical DSLs called Domain Specific Modeling Languages (DSMLs) which are more intuitive than programming DSLs. Implementing a DSML means providing a specific editor which allow users to express the language s constructions (instantiate the language). Many experiments showed that implementing specific graphical editors is much manpower consuming. Our analysis is that most frameworks for building such editors (e.g. EMF/GMF) are generic, i.e. aim at fulfilling the requirements of any field, which leads to increased complexity and costs a lot in terms of development time. If domain specialization was successful for languages, why don t we apply it to frameworks ? Specializing such a framework according to the constraints of a domain would allow keeping the definition of a specific editor simple, while fulfilling the requirements of the considered domain. Domain specific frameworks for building DSML editors in specific application fields is a promising approach. Such a framework does not have the limits of generic frameworks because it is restricted to a particular domain. It is more intuitive and simpler to use as it only proposes abstraction of the domain for building DSMLs. We call this type of framework Domain Specific Modeling Framework (DSMF). For example, if we consider the component domain, there are several DSMLs in this domain which share the same layout requirements. We implemented a DSMF for this family of DSMLs. This DSMF is specialized according to the constraints and layout requirements of the component domain (Components, connectors, Bindings, . . .). This specialization allows simple and rapid generation of specific editors devoted to component-based architectures. The principal drawback of a DSMF is its restricted scope to one specific domain. This approach requires to develop one DSMF per domain and the development cost can be significant. A solution may be to generalise the DSMF approach in order to address many application fields. We designed a Generic framework for building DSMFs in a modular way. This thesis is based on the implementation of this framework.TOULOUSE-INP (315552154) / SudocSudocFranceF

    Simulation informatique et pluriformalisation des objets composites

    Get PDF
    A recent evolution of computer simulations has led to the emergence of complex computer simulations. In particular, the need to formalize composite objects (those objects that are composed of other objects) has led to what the author suggests to call pluriformalizations, i.e. formalizations that are based on distinct sub-models which are expressed in a variety of heterogeneous symbolic languages. With the help of four case-studies, he shows that such pluriformalizations enable to formalize distinctly but simultaneously either different aspects or different parts or different scales of the same object or system. From an epistemological standpoint, he suggests that this kind of computer-aided complex formalization of composite objects renew the traditional relations between computer simulations, theoretical models and operational models

    Des langages de modélisation dédiés aux environnements de méta-modélisation dédiés

    Get PDF
    Les langages dédiés (DSL) sont de plus en plus utilisés parce qu’ils permettent aux utilisateurs qui ne sont pas des experts en programmation d’exprimer des solutions avec des langages simples qui capturent l’expertise de leur domaine. C’est encore plus vrai pour les langages dédiés graphiques (DSML) qui ont un niveau d’abstraction plus élevé que les langages dédiés de programmation. Implémenter un DSML revient généralement à fournir un éditeur dédié qui permette aux utilisateurs de manipuler les abstractions de leur domaine (d’instancier le langage). Les expériences ont montré que l’implémentation d’un tel éditeur dédié graphique est coûteuse en termes de temps et de ressources humaines. Nous constatons que la plupart des plates-formes permettant de construire ce type d’éditeur (EMF/GMF, DSL Tools, Obeo Designer, ...) sont génériques. Elles essayent d’adresser le maximum de domaines possibles, ce qui les rend complexes et inadaptées à des cas d’utilisation spécifiques. Si la spécialisation aux domaines a été un succès pour les langages, pourquoi ne pas l’appliquer aux plates-formes de construction d’éditeurs ? Cela reviendrait à concevoir pour un domaine donné, une plate-forme permettant de construire facilement des éditeurs dédiés pour ce domaine. Cette plate-forme n’aurait pas les défauts d’une plate-forme totalement générique parce qu’elle serait restreinte au domaine ciblé. Ce type de plate-forme spécifique à un domaine, nous l’appelons Domain Specific Modeling Framework (DSMF). Le principal inconvénient d’un DSMF est qu’on ne peut l’utiliser que dans le cadre du domaine pour lequel il a été conçu. Cela implique qu’il faille construire un DSMF par domaine et c’est une solution coûteuse. Toutefois, nous pensons que cette approche sur les DSMF peut être généralisée afin d’adresser un grand nombre de domaines. Cette thèse a donc consisté à concevoir et à implanter un environnement qui permet de construire des DSMF de façon modulaire. ABSTRACT : Domain Specific Languages (DSLs) are increasingly used in many fields as they allow users to express strategies without being programming experts. This is particularly true for graphical DSLs called Domain Specific Modeling Languages (DSMLs) which are more intuitive than programming DSLs. Implementing a DSML means providing a specific editor which allow users to express the language’s constructions (instantiate the language). Many experiments showed that implementing specific graphical editors is much manpower consuming. Our analysis is that most frameworks for building such editors (e.g. EMF/GMF) are generic, i.e. aim at fulfilling the requirements of any field, which leads to increased complexity and costs a lot in terms of development time. If domain specialization was successful for languages, why don’t we apply it to frameworks ? Specializing such a framework according to the constraints of a domain would allow keeping the definition of a specific editor simple, while fulfilling the requirements of the considered domain. Domain specific frameworks for building DSML editors in specific application fields is a promising approach. Such a framework does not have the limits of generic frameworks because it is restricted to a particular domain. It is more intuitive and simpler to use as it only proposes abstraction of the domain for building DSMLs. We call this type of framework Domain Specific Modeling Framework (DSMF). For example, if we consider the component domain, there are several DSMLs in this domain which share the same layout requirements. We implemented a DSMF for this family of DSMLs. This DSMF is specialized according to the constraints and layout requirements of the component domain (Components, connectors, Bindings, . . .). This specialization allows simple and rapid generation of specific editors devoted to component-based architectures. The principal drawback of a DSMF is its restricted scope to one specific domain. This approach requires to develop one DSMF per domain and the development cost can be significant. A solution may be to generalise the DSMF approach in order to address many application fields. We designed a Generic framework for building DSMFs in a modular way. This thesis is based on the implementation of this framework

    Language de Requête Configurable pour la Composition de Services Web Semantiques

    No full text
    La composition est un des principaux challenge pour la communauté des services web sémantiques (SWS). Parmi les approches existantes, il a été montré efficace d'utiliser des techniques à base de contraintes (telle que la configuration) pour créer des orchestrations à partir des choréographies. Des expérimentations supplémentaires ont révélé les limitations et les ambiguités sémantiques qui peuvent survenir à partir de la requête à un composeur. Cet article propose une approche originale où la requête est vue comme un problème en lui-même, et montre comment la configuration peut être utilisée pour le résoudre grâce à un modèle objet contraint

    Étude de la traçabilité entre refactorisations du modèle de classes et refactorisations du code

    Full text link
    Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal
    • …
    corecore