1 |
Adaptation logicielle pour et par les i DSML / Software Adaptation for and by the i DSMLSamson, Pierre 20 November 2015 (has links)
L’un des buts de l’Ingénierie Dirigée par les Modèles (IDM) est de considérer les modèles comme des éléments productifs pour le développement d’applications. Dans cette optique, une nouvelle tendance concerne les modèles exécutables où un modèle produit en phase de conception est réutilisé en tant que tel en phase d’exécution grâce aux interpreted Domain-Specific Modeling Language (i DSML) qui sont interprétés par un moteur d’exécution. Cette façon de procéder permet de gagner du temps lors du développement d’un logiciel et est par conséquent moins coûteux. D’autre part, les logiciels peuvent être dotés de capacités adaptatives. Ces applications adaptatives sont généralement confrontées à un contexte qui est plus ou moins connu et susceptible de changer au cours de l’exécution et auquel elles vont devoir faire face en modifiant leur comportement dynamiquement, c’est-à-dire sans interruption de service. De telles adaptations dynamiques et automatiques sont censées éviter une phase de maintenance onéreuse pour le logiciel. Nous avons donc d’un côté les i DSML qui permettent de réduire les coûts de développement d’une application et de l’autre côté l’adaptation logicielle qui permet de réduire les coûts de maintenance d’un programme. Dans cette thèse nous souhaitons prendre le meilleur des deux mondes en fusionnant les deux idées. Le résultat revient in fine à directement adapter l’exécution d’un modèle via des i DSML adaptables. Pour cela, nous proposons une caractérisation des i DSML adaptables, la définition du concept de famille pour gérer l’adaptation des i DSML, puis la création d’un langage exécutable d’orchestration dédié à l’adaptation, aboutissant ainsi au fait particulier d’adapter un i DSML par un autre i DSML. Enfin, un prototype à base de deux moteurs d’exécution est proposé avec son implémentation en Java/EMF. / One of the goals of Model-Driven Engineering (MDE) is to treat models as productive elements for software development. From this point of view, a new trend is about executable models where a model that is produced at design time is reused as such at runtime through interpreted Domain-Specific Modeling Languages (i DSMLs) that are interpreted by an execution engine. This way to proceed allows to save time during the software development and consequently is more cost-effective. On the other hand, software can provide adaptive capabilities. These adaptive applications are often facing a context which is more or less known and which may change during the execution and they will address these various situations by modifying dynamically their own behavior, i.e. without any service disruption. Such dynamic and automatic adaptations ought to avoid a too expensive maintenance stage for the program. We have on one hand the i DSMLs that allow to decrease the development costs of a program and on the other hand the software adaptation that allows to decrease the maintenance costs of an application. In this thesis, we must succeed in having the best of both worlds by merging these two ideas. The result is ultimately to directly adapt the model execution through adaptable i DSMLs. To this end, we propose a characterization of adaptable i DSMLs, the definition of the family concept to manage adaptation of i DSMLs, then the creation of an executable orchestration language for adaptation, thereby leading to the fact that an i DSML is adapted through an other i DSML. Finally, a prototype based on two execution engines is proposed with its implementation in Java/EMF.
|
2 |
Contribution à une méthode outillée pour la conception de langages de modélisation métier interopérables, analysables et prouvables pour l'Ingénierie Système basée sur des Modèles / Contribution to an equipped approach for the design of executable, verifiable and interoperable Domain Specific Modelling Languages for Model Based Systems EngineeringNastov, Blazo 15 November 2016 (has links)
L'Ingénierie des Systèmes (IS) est une approche pluridisciplinaire et collaborative pour mener à bâtir et structurer la conception puis la réalisation et le développement de systèmes complexes. L’IS repose à la fois sur une approche processus et sur la mise en oeuvre de modèles de systèmes s'appuyant de fait dans un contexte basé ou dirigé par des modèles. On parle alors d’Ingénierie Système Basée sur des Modèles (ISBM ou Model based Systems Engineering MBSE). L’ISBM introduit des concepts, méthodes et techniques pour construire et gérer des modèles. Elle a pour objectif l’atteinte et l’amélioration de leur qualité afin de procurer aux parties prenantes un degré de confiance jugé suffisant pour aider la prise des décisions de conception, d'amélioration et de réalisation. Ces décisions conditionnent le fonctionnement, la sûreté, la sécurité, les coûts, et plus généralement tout un ensemble de propriétés attendues à la fois du modèle comme du système modélisé, tout au long de la phase aval de l’ingénierie et de développement, jusqu’à la réalisation et au déploiement du système. La qualité des modèles est obtenue au travers des processus de Vérification et Validation (V&V). Les objectifs sont alors d’assurer que les modèles soient cohérents, bien formés, bien construits et représentés correctement. En effet, aux yeux des parties prenantes, les modèles doivent être fiables, fidèles et pertinents au regard des besoins des concepteurs, représentant aussi précisément que possible le point de vue du système en cours de conception. Des langages de modélisation dit « métier » (Domain Specific Modelling Languages ou DSML) sont spécifiquement créés pour pouvoir fournir des représentations i.e. des modèles dans les différents points de vue sur le système. Un DSML est basé sur une syntaxe et sur une sémantique. La sémantique de ces langages est en général fournie par des approches externes (vérificateurs de modèles). Ces dernières sont, à notre sens, une limitation clé pour le déploiement des stratégies de V&V dans le contexte de l’ISBM. En réponse à cette limitation, la contribution conceptuelle de cette thèse est présentée sous la forme d’un nouveau langage de métamodélisation, nommé xviCore (noyau exécutable, vérifiable et interopérable). xviCore fournit les concepts et les principes pour définir puis vérifier et valdier la syntaxe et la sémantique en phase de construction de tels DSML en combinant trois métalangages : un métalangage orienté objet pour la conception de la partie syntaxique, un métalangage pour la conception du comportement et un métalangage pour la conception de propriétés formelles. La contribution méthodologique de ces travaux permet ensuite le déploiement d’une stratégie de V&V «directe» en lieu et place des traditionnelles approches externes. Elle est basée sur la simulation et la preuve formelle de propriétés. Le mécanisme de simulation permet d’observer le comportement des modèles de systèmes au travers de leur exécution, tandis que le mécanisme de preuve permet de spécifier et ensuite de vérifier des propriétés formelles. La contribution technique se compose d’un ensemble des plugins Eclipse qui implémentent le métalangage xviCore, le mécanisme de simulation et le mécanisme de la preuve formelle. / Systems Engineering (SE) is an interdisciplinary and collaborative approach for successful design and management of large scale complex systems. Among other principles, SE promotes and mandates a model-based (or model-driven) approach for all stages of system design processes, denoted Model-Based Systems Engineering (MBSE). This implies concepts, techniques and tools for creating and managing various systems models for the purpose of stakeholders, and for reaching and improving the quality of models helping then stakeholders during decision-making processes, to make decisions faster and efficiently with enough confidence. Indeed, these decisions impact all along the downstream phases of system engineering and development until the realization and deployment of the real system, its functioning, safety, security, induced costs and so on. In this work, a particular attention is given to model verification and validation (V&V). The goals are to assure prior to decision-making processes, first, that models are coherent, well-formed and correctly build and represented, and second, that they are trustworthy and relevant, representing as accurately as possible the viewpoints of a system under design as expected by stakeholders.Such models provide stakeholders with confidence and trust, aiding them in making, but also in arguing decisions. Models are created by using modeling languages that are specifically tailored for a given viewpoint of a system, denoted Domain Specific Modeling Languages (DSMLs).The basic principles on which a DSML is based are its syntax and its semantics, but current DSMLs have been more studied from the syntactical point than from the semantical one that is often neglected or, when needed, provided by means of translating the DSML into third party formalisms. This is the key limitation preventing the deployment of a successful V&V strategy in MBSE context. To overcome this shortcoming, this thesis proposes first a conceptual contribution consisting of a new metamodeling language, called eXecutable, Verifiable and Interoperable Core (xviCore), allowing stakeholders to build DSMLs (called xviDSMLs), that along with their syntax also integrates semantics. Our solution combines, three meta-languages, an object-oriented metamodeling language for the specification of the syntactical part with a formal behavioral modeling language and a property modeling language for the semantical part. The methodological contribution of this work allows the deployment of successful V&V strategies allowing for direct (without transformation) model verification by simulation and properties proof. We propose a mechanism to simulate the expected behavior of a SoI through model execution based on the blackboard-based communication model, and a mechanism for specification and verification of formal properties. The technical contribution consists of an Eclipse-EMF deployable plug-in that implements the metamodeling language xviCore and the mechanisms for simulation and formal property verification.
|
3 |
Uma abordagem dirigida por modelos para comunicação em tempo real / A model driven approach to real-time communicationVieira, Marcelo Barros de Azevedo 09 October 2018 (has links)
Submitted by Luciana Ferreira (lucgeral@gmail.com) on 2018-11-13T10:34:43Z
No. of bitstreams: 2
Dissertação - Marcelo Barros de Azevedo Vieira - 2018.pdf: 2090852 bytes, checksum: cea29f7c5b0e3e434fef63a6866bc625 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Approved for entry into archive by Luciana Ferreira (lucgeral@gmail.com) on 2018-11-13T11:09:32Z (GMT) No. of bitstreams: 2
Dissertação - Marcelo Barros de Azevedo Vieira - 2018.pdf: 2090852 bytes, checksum: cea29f7c5b0e3e434fef63a6866bc625 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5) / Made available in DSpace on 2018-11-13T11:09:32Z (GMT). No. of bitstreams: 2
Dissertação - Marcelo Barros de Azevedo Vieira - 2018.pdf: 2090852 bytes, checksum: cea29f7c5b0e3e434fef63a6866bc625 (MD5)
license_rdf: 0 bytes, checksum: d41d8cd98f00b204e9800998ecf8427e (MD5)
Previous issue date: 2018-10-09 / The technological advances in recent years have allowed the development of new applications for communication. These applications allow multiple types of media to be switched between their users, with lower latency providing a better experience for the user. However, the development of applications for communication using general purpose languages has as a focus the development of the application and not the solution of the problems in a domain. In this way, domain-specific modeling languages, originated in Model-Driven Engineering, raise the level of abstraction and reduce the complexity of software development. Specificaly, modeling languages for the real-time communication domain aim to model applications that allow real-time communication among users, not only reducing the development time but also offering users the possibility of creating their own applications. The objective of this work was to propose a new communication modeling language, RBCML, which enables the definition of communication applications based on the roles that users play in a communication session, as well as their requirements in terms of the types of media and data that they can exchange. An implementation of the
language was developed on top of the standards-based WebRTC platform in order to carry out evaluation experiments to demonstrate its usability and performance. / Os avanços tecnológicos ocorridos nos últimos anos, permitiram o desenvolvimento de novas aplicações para comunicação. Essas aplicações permitem que diversos tipos de mídia sejam usadas na comunicação entre os usuários, com menor latência e proporcionando uma melhor experiência para o usuário. No entanto, o desenvolvimento de aplicações para comunicação utilizando linguagens de propósito geral tem como característica o foco no desenvolvimento da aplicação e não na resolução de problemas no domínio. Isso motivou o surgimento de linguagens de modelagem específicas de domínio, originadas na Engenharia Dirigida por Modelos, que elevam o nível de abstração e reduzem a complexidade do desenvolvimento de software. Linguagens de modelagem específicas para o domínio de comunicação em tempo real têm como objetivo modelar aplicações que permitam a comunicação em tempo real, reduzindo o esforço no desenvolvimento deste tipo de aplicação e permitindo que os usuários criem suas próprias aplicações. O objetivo deste trabalho foi propor uma nova linguagem de comunicação, RBCML, que permite a definição de aplicações de comunicação com base nos papéis que os usuários desempenham nas sessões de comunicação, bem como em seus requisitos com respeito aos tipos de mídia e dados por meio dos quais a comunicação ocorre. Uma implementação da linguagem foi desenvolvida usando o padrão WebRTC para permitir a realização de experimentos para demonstrar sua usabilidade e desempenho.
|
4 |
Réutilisation de composants logiciels pour l'outillage de DSML dans le contexte des MPSoC / Reuse of legacy code for DSML tools in the context of MPSoCVallejo, Paola 15 December 2015 (has links)
La conception d’un langage de modélisation pour domaine spécifique (DSML) implique la conception d’un outillage dédié qui met en oeuvre des fonctionnalités de traitement et d’analyse pour ce langage. Dans bien des cas, les fonctionnalités à mettre en oeuvre existent déjà , mais elles s’appliquent à des portions ou à des variantes du DSML que le concepteur manipule. Réutiliser ces fonctionnalités existantes est un moyen de simplifier la production de l’outillage d’un nouveau DSML. La réutilisation implique que les données du DSML soient adaptées afin de les rendre valides du point de vue de la fonctionnalité à réutiliser. Si l’adaptation est faite et les données sont placées dans le contexte de la fonctionnalité, elle peut être réutilisée. Le résultat produit par l’outil reste dans le contexte de l’outil et il doit être adapté afin de le placer dans le contexte du DSML (migration inverse). Dans ce cadre, la réutilisation n’a de sens que si les deux adaptations de données sont peu coûteuses. L’objectif de cette thèse est de proposer un mécanisme qui intègre la migration, la réutilisation et la migration inverse. La principale contribution est une approche qui facilite la réutilisation de fonctionnalités existantes via des migrations de modèles. Cette approche facilite la production de l’outillage d’un DSML. Elle permet de faire des migrations réversibles entre deux DSMLs sémantiquement proches. L’utilisateur est guidé lors du processus de réutilisation pour fournir rapidement l’outillage complet et efficace d’un DSML. L’approche a été formalisée et appliquée à un DSML (Orcc) dans le contexte des MPSoC. / Designers of domain specific modeling languages (DSMLs) must provide all the tooling of these languages. In many cases, the features to be developped already exist, but it applies to portions or variants of the DSML.One way to simplify the implementation of these features is by reusing the existing functionalities. Reuse means that DSML data must be adapted to be valid according to the functionality to be reused. If the adaptation is done and the data are placed in the context of the functionality, it can be reused. The result produced by the tool remains in the context of the tool and it must be adapted to be placed in the context of the DSML (reverse migration).In this context, reuse makes sense only if the migration and the reverse migration are not very expensive. The main objective of this thesis is to provide a mechanism to integrate the migration, the reuse and the reversemigration and apply them efficiently. The main contribution is an approach that facilitates the reuse of existing functionalities by means of model migrations. This approach facilitates the production of the tooling for a DSML. It allows reversible migration between two DSMLs semantically close. The user is guided during the ruse process to quickly provide the tooling of his DSML.The approach has been formalised et applied to a DSML (Orcc) in the context of the MPSoC.
|
5 |
Model-driven development for Microservices : A domain-specific modeling language for KubernetesJohansson, Daniel January 2022 (has links)
In the digital age that we live in today, we are dependent on numerous web applications or services, from dealing with banking, booking air flights, and handling our taxes. We expect these applications and services to support high availability, data loss prevention, and fast response time. Microservices is a design pattern to support faster software change, and it also supports other non-functional attributes such as scalability and high availability. One way to deploy your software as microservices is to use containers and deploy them on a container cluster such as Kubernetes. The public opinion about writing Kubernetes deployment files is that it is complex and repetitive writing. This project aims to see how model-driven development can assist with the creation of the Kubernetes deployment files. To see how model-driven development can assist in the creation of Kubernetes files. The project will implement a domain-specific modeling language for Kubernetes, and the language should be able to model the application's desired states. And by using model transformation, the tool can generate Kubernetes deployable files.
|
6 |
Catálogo de modelos de computação para o desenvolvimento de linguagens específicas de modelagem de domínio. / Catalog of models of computation for the development of domain-specific modeling languages.Fernandes, Sergio Martins 13 June 2013 (has links)
Esta tese apresenta um processo para a criação de um catálogo de modelos de computação para apoiar o design de DSMLs, e a primeira versão do catálogo, com atributos que ajudam a selecionar os modelos de computação mais adequados para cada desenvolvimento de DSML, e as características dos sistemas de software para os quais esses modelos de computação são mais adequados. O contexto de aplicação desse catálogo é o Model-Driven Development (MDD desenvolvimento dirigido por modelos) a abordagem em que o desenvolvimento de software é baseado em modelos gráficos que são posteriormente traduzidos (transformados) em modelos de nível mais baixo e, no final, em código de linguagens de programação, tais como Java ou C#. A aplicação do processo gerou uma versão inicial do catálogo com os seguintes modelos de computação: diagramas BPMN, diagramas de classe da UML e regras de negócio. Visa-se contribuir para popularizar a abordagem de MDD com base em DSMLs e, em particular, a elaboração do design das DSMLs a partir de modelos de domínio, para o que o uso do catálogo efetivamente contribui. / This thesis presents a process for the creation of a catalog of models of computation to support the design of Domain-Specific Modeling Languages (DSMLs), and the first version of the catalog, which comprises attributes that aim to help the selection of the most suitable models of computation for each DSML development, and characteristics of software systems for which these models of computation are more appropriate. The context for the use of the catalog is the Model-Driven Development (MDD) - the approach where software development is based on graphical models that are subsequently translated (transformed) into lower-level models and, in the end, in source code in programming languages, such as Java or C #. The process was applied to generate an initial version of the catalog with the following models of computation: BPMN diagrams, UML class diagrams and business rules. It aims to contribute to popularize the MDD approach based in DSMLs, and in particular, the development of the DSMLs design from domain models, for which the use of the catalog effectively contributes.
|
7 |
Catálogo de modelos de computação para o desenvolvimento de linguagens específicas de modelagem de domínio. / Catalog of models of computation for the development of domain-specific modeling languages.Sergio Martins Fernandes 13 June 2013 (has links)
Esta tese apresenta um processo para a criação de um catálogo de modelos de computação para apoiar o design de DSMLs, e a primeira versão do catálogo, com atributos que ajudam a selecionar os modelos de computação mais adequados para cada desenvolvimento de DSML, e as características dos sistemas de software para os quais esses modelos de computação são mais adequados. O contexto de aplicação desse catálogo é o Model-Driven Development (MDD desenvolvimento dirigido por modelos) a abordagem em que o desenvolvimento de software é baseado em modelos gráficos que são posteriormente traduzidos (transformados) em modelos de nível mais baixo e, no final, em código de linguagens de programação, tais como Java ou C#. A aplicação do processo gerou uma versão inicial do catálogo com os seguintes modelos de computação: diagramas BPMN, diagramas de classe da UML e regras de negócio. Visa-se contribuir para popularizar a abordagem de MDD com base em DSMLs e, em particular, a elaboração do design das DSMLs a partir de modelos de domínio, para o que o uso do catálogo efetivamente contribui. / This thesis presents a process for the creation of a catalog of models of computation to support the design of Domain-Specific Modeling Languages (DSMLs), and the first version of the catalog, which comprises attributes that aim to help the selection of the most suitable models of computation for each DSML development, and characteristics of software systems for which these models of computation are more appropriate. The context for the use of the catalog is the Model-Driven Development (MDD) - the approach where software development is based on graphical models that are subsequently translated (transformed) into lower-level models and, in the end, in source code in programming languages, such as Java or C #. The process was applied to generate an initial version of the catalog with the following models of computation: BPMN diagrams, UML class diagrams and business rules. It aims to contribute to popularize the MDD approach based in DSMLs, and in particular, the development of the DSMLs design from domain models, for which the use of the catalog effectively contributes.
|
8 |
Methods and tools for the integration of formal verification in domain-specific languages / Méthodes et outils pour l’intégration de la vérification formelle pour les langages dédiésZalila, Faiez 09 December 2014 (has links)
Les langages dédiés de modélisation (DSMLs) sont de plus en plus utilisés dans les phases amont du développement des systèmes complexes, en particulier pour les systèmes critiques embarqués. L’objectif est de pouvoir raisonner très tôt dans le développement sur ces modèles et, notamment, de conduire des activités de vérification et validation (V and V). Une technique très utilisée est la vérification des modèles comportementaux par exploration exhaustive (model-checking) en utilisant une sémantique de traduction pour construire un modèle formel à partir des modèles métiers pour réutiliser les outils performants disponibles pour les modèles formels. Définir cette sémantique de traduction, exprimer les propriétés formelles à vérifier et analyser les résultats nécessite une expertise dans les méthodes formelles qui freine leur adoption et peut rebuter les concepteurs. Il est donc nécessaire de construire pour chaque DSML, une chaîne d’outils qui masque les aspects formels aux utilisateurs. L’objectif de cette thèse est de faciliter le développement de telles chaînes de vérification. Notre contribution inclut 1) l’expression des propriétés comportementales au niveau métier en s’appuyant sur TOCL (Temporal Object Constraint Language), une extension temporelle du langage OCL; 2) la transformation automatique de ces propriétés en propriétés formelles en réutilisant les éléments clés de la sémantique de traduction; 3) la remontée des résultats de vérification grâce à une transformation d’ordre supérieur et un langage de description de correspondance entre le domaine métier et le domaine formel et 4) le processus associé de mise en oeuvre. Notre approche a été validée par l’expérimentation sur un sous-ensemble du langage de modélisation de processus de développement SPEM, et sur le langage de commande d’automates programmables Ladder Diagram, ainsi que par l’intégration d’un langage formel intermédiaire (FIACRE) dans la chaîne outillée de vérification. Ce dernier point permet de réduire l’écart sémantique entre les DSMLs et les domaines formels. / Domain specific Modeling Languages (DSMLs) are increasingly used at the early phases in the development of complex systems, in particular, for safety critical systems. The goal is to be able to reason early in the development on these models and, in particular, to fulfill verification and validation activities (V and V). A widely used technique is the exhaustive behavioral model verification using model-checking by providing a translational semantics to build a formal model from DSML conforming models in order to reuse powerful tools available for this formal domain. Defining a translational semantics, expressing formal properties to be assessed and analysing such verification results require such an expertise in formal methods that it restricts their adoption and may discourage the designers. It is thus necessary to build for each DSML, a toolchain which hides formal aspects for DSML end-users. The goal of this thesis consists in easing the development of such verification toolchains. Our contribution includes 1) expressing behavioral properties in the DSML level by relying on TOCL (Temporal Object Constraint Language), a temporal extension of OCL; 2) An automated transformation of these properties on formal properties while reusing the key elements of the translational semantics; 3) the feedback of verification results thanks to a higher-order transformation and a language which defines mappings between DSML and formal levels; 4) the associated process implementation. Our approach was validated by the experimentation on a subset of the development process modeling language SPEM, and on Ladder Diagram language used to specify programmable logic controllers (PLCs), and by the integration of a formal intermediate language (FIACRE) in the verification toolchain. This last point allows to reduce the semantic gap between DSMLs and formal domains.
|
9 |
Domain Specific Modeling Support for ArCon / Stöd för domänspecifik modellering med ArConAzari, Leila January 2013 (has links)
One important phase in software development process is to create a design model of the system which follows all the architectural rules. Often the architectural rules are defined by the system architect and the system model is designed by the system designer. The architect defines the rules in a text file where no standard or pattern is followed. Therefore, there is always the risk of violating the architectural rules by the designer. So manual reviews on the system model should be done by the architect to ensure the system model is valid.In order to remove this manual checking which can be erroneous and time consuming ArCon (Architecture Conformance Checker) was developed by Combitech AB. ArCon is a tool which lets the architect define the architectural rules in the format of UML (Unified Modeling Language) models where the elements of the model have different meaning than the standard UML. ArCon can read this model and extract architectural rules from it and check the system model against those rules and then print all the rule violations.ArCon is an open source tool i.e. free for everyone to download and use. Currently, it supports Papyrus as the UML modeling tool. Papyrus is integrated to Eclipse platform and is a general purpose modeling tool. It supports users with all types of UML diagrams and elements.The idea for this thesis work was to implement a new feature for ArCon in order to facilitate the design process for system designers. The feature should provide the system designers only those types of elements which they are permitted to add to a specific fraction of the system model. The list of permitted element types should be extracted from the architecture model where all the architectural rules are defined in advance. This new support in ArCon was named Domain Specific Modeling (DSM) support.To evaluate the effect of DSM support on the system designers performance a few test sessions, called usability tests, were performed. The participants in the test sessions were a representative sample of software designers. After analyzing the data collected from the test sessions, the pros and cons of the new support were discovered. Furthermore, a few new ideas for enhancing DSM support were generated.
|
Page generated in 0.0267 seconds