Spelling suggestions: "subject:"model deriven"" "subject:"model dcdriven""
211 |
Satisfying Non-Functional Requirements in Model-Driven Development of Real-Time Embedded SystemsSaadatmand, Mehrdad January 2012 (has links)
Design of real-time embedded systems is a complex and challenging task. Part of this complexity originates from their limited resources which incurs handling a big range of Non-Functional Requirements (NFRs). Therefore, satisfaction of NFRs plays an important role in the correctness of the design of these systems. Model-driven development has the potential to reduce the design complexity of real-time embedded systems by increasing the abstraction level, enabling analysis at earlier phases of development and code generation. In this thesis, we identify some of the challenges that exist in model-driven development of real-time embedded systems with respect to NFRs, and provide techniques and solutions that aim to help with the satisfaction of NFRs. Our end goal is to ensure that the set of NFRs defined for a system is not violated at runtime. First, we identify and highlight the challenges of modeling NFRs in telecommunication systems and discuss the application of a UML-based approach for modeling them. Since NFRs have dependencies, and the design decisions to satisfy them cannot be considered in isolation, we propose a model-based approach for trade-off analysis of NFRs to help with the comparison of different design models with respect to the satisfaction level of their NFRs. Following the issue of evaluating the interdependencies of NFRs, we also propose solutions for establishing and maintaining balance between different NFRs. In this regard, we categorize our suggested solutions into static and dynamic. The former refers to a static design and set of features which ensures and guarantees the balance of NFRs, while the latter means establishing balance at runtime by reconfiguring the system and runtime adaptation. Finally, we discuss the role of the execution platform in preservation and monitoring of timing properties in real-time embedded systems and propose an approach to enrich the platform with necessary mechanisms for monitoring them. / CHESS
|
212 |
A high-level methodology for automatically generating dynamically reconfigurable systems using IP-XACT and the UML MARTE profile / Méthodologie de conception de haut niveau pour la génération automatique des systèmes dynamiquement reconfigurables en utilisant IP-XACT et le profil UML MARTEOchoa Ruiz, Gilberto 14 November 2013 (has links)
La principale contribution de cette thèse porte sur la proposition et le développement d'une approche d'Ingénierie Dirigée par les Modèles (IDM), liée à une méthodologie basée sur des composants, pour faciliter la conception, design et implantation des Systèmes Dynamiquement Reconfigurables sur puce (FPGA). La méthodologie proposée repose sur l'utilisation du paradigme Metadata-based Composition Framework, et fortement basée sur des standards, tels qu'UML MARTE et, en particulier, l'IEEE IP-XACT, qui est exploitée comme représentation intermédiaire pour les IPs utilisés et pour la plateforme matérielle composée aux hautes-niveaux d'abstraction. Un procès d'emballage permet la réutilisation des bloques IP, qui ont été enveloppés par des interfaces PLB (IP statiques) et propriétaires (IP dynamiques). Subséquemment, la libraire est utilisée pour la composition d'un modèle de plateforme en UML, mais qui étant générative, permet la création d'une description cible de la composante matérielle de la plateforme, dans la forme d'un modèle spécifique à Xilinx Platform Studio, obtenu par des transformations des modèles. Les chaines de transformations pour la création de la libraire et de la plateforme, respectivement, ont été développées et implantées en utilisant Sodius MDWorkbench, un outil IDM conçu pour la création et manipulation des modèles et leur méta - modèles, ainsi que la définition et exécution des transformations des modèles associées / The main contribution of this thesis consists on the proposition and development a Model-driven Engineering (MDE) framework, in tandem with a component-based approach, for facilitating the design and implementation of Dynamic Partially Reconfigurable (DPR) Systems-on-Chip. The proposed methodology has been constructed around the Metadata-based Composition Framework paradigm, and based on common standards such as UML MARTE and the IEEE IP-XACT standard, an XML representation used for storing metadata about the IPs to be reused and of the platforms to be obtained at high-levels of abstraction. In fact, a componentizing process enables us to reuse the IP blocks, in UML MARTE, by wrapping them with PLB (static IPs) and proprietary (DPR blocks) interfaces. This is attained by reflecting the associated IP metadata to IP-XACT descriptions, and then to UML MARTE templates (IP reuse). Subsequently, these IP templates are used for composing a DPR model that can be exploited to create a Xilinx Platform Studio FPGA-design, through model transformations. The IP reflection and system generation chains were developed using Sodius MDWorkbench, an MDE tool conceived for the creation and manipulation of models and their meta-models, as well as the definition and execution of the associated transformation rules.
|
213 |
A Middleware to Support Services Delivery in a Domain-Specific Virtual MachineMorris, Karl A 20 June 2014 (has links)
The increasing use of model-driven software development has renewed emphasis on using domain-specific models during application development. More specifically, there has been emphasis on using domain-specific modeling languages (DSMLs) to capture user-specified requirements when creating applications. The current approach to realizing these applications is to translate DSML models into source code using several model-to-model and model-to-code transformations. This approach is still dependent on the underlying source code representation and only raises the level of abstraction during development. Experience has shown that developers will many times be required to manually modify the generated source code, which can be error-prone and time consuming.
An alternative to the aforementioned approach involves using an interpreted domain-specific modeling language (i-DSML) whose models can be directly executed using a Domain Specific Virtual Machine (DSVM). Direct execution of i-DSML models require a semantically rich platform that reduces the gap between the application models and the underlying services required to realize the application. One layer in this platform is the domain-specific middleware that is responsible for the management and delivery of services in the specific domain.
In this dissertation, we investigated the problem of designing the domain-specific middleware of the DSVM to facilitate the bifurcation of the semantics of the domain and the model of execution (MoE) while supporting runtime adaptation and validation. We approached our investigation by seeking solutions to the following sub-problems: (1) How can the domain-specific knowledge (DSK) semantics be separated from the MoE for a given domain? (2) How do we define a generic model of execution (GMoE) of the middleware so that it is adaptable and realizes DSK operations to support delivery of services? (3) How do we validate the realization of DSK operations at runtime?
Our research into the domain-specific middleware was done using an i-DSML for the user-centric communication domain, Communication Modeling Language (CML), and for microgrid energy management domain, Microgrid Modeling Language (MGridML). We have successfully developed a methodology to separate the DSK and GMoE of the middleware of a DSVM that supports specialization for a given domain, and is able to perform adaptation and validation at runtime.
|
214 |
Pragmatic model verification / Vérification pragmatique de modèlesGonzalez Perez, Carlos Alberto 09 October 2014 (has links)
L’Ingénierie Dirigée par les Modèles (IDM) est une approche populaire pour le développement logiciel qui favorise l’utilisation de modèles au sein des processus de développement. Dans un processus de développement logiciel base sur l’IDM, le logiciel est développé en créant des modèles qui sont transformés successivement en d’autres modèles et éventuellement en code source. Quand l’IDM est utilisée pour le développement de logiciels complexes, la complexité des modèles et des transformations de modèles augmente, risquant d’affecter la fiabilité du processus de développement logiciel ainsi que le logiciel en résultant.Traditionnellement, la fiabilité des logiciels est assurée au moyen d’approches pour la vérification de logiciels, basées sur l’utilisation de techniques pour l’analyse formelle de systèmes et d’approches pour le test de logiciels. Pour assurer la fiabilité du processus IDM de développement logiciel, ces techniques ont en quelque sorte été adaptées pour essayer de s’assurer la correction des modèles et des transformations de modèles associées. L’objectif de cette thèse est de fournir de nouveaux mécanismes améliorant les approches existantes pour la vérification de modèles statiques, et d’analyser comment ces approches peuvent s’avérer utiles lors du test des transformations de modèles. / Model-Driven Engineering (MDE) is a popular approach to the development of software which promotes the use of models as first-Class citizens in the software development process. In a MDE-Based software development process, software is developed by creating models to be successively transformed into another models and eventually into the software source code. When MDE is applied to the development of complex software systems, the complexity of models and model transformations increase, thus risking both, the reliability of the software development process and the soundness of the resulting software. Traditionally, ensuring software correctness and absence of errors has been addressed by means of software verification approaches, based on the utilization of formal analysis techniques, and software testing approaches. In order to ensure the reliability of MDE-Based software development processes, these techniques have some how been adapted to try to ensure correctness of models and model transformations. The objective of this thesis is to provide new mechanisms to improve the landscape of approaches devoted to the verification of static models, and analyze how these static model verification approaches can be of assistance at the time of testing model transformations.
|
215 |
Leveraging model-based product lines for systems engineering / Exploitation des lignes de produits fondées sur les modèles pour l’ingénierie systèmeFilho, João Bosco Ferreira 03 December 2014 (has links)
Actuellement, de nombreuses entreprises ont besoin de construire des versions\variantes légèrement différentes d'un même système. Ces versions partagent des points communs et des différences, le tout pouvant être géré à l'aide d'une approche ligne de produits (SPL). L'objectif principal d'une SPL est d'exploiter la personnalisation de masse, dans laquelle les produits sont réalisés pour répondre aux besoins spécifiques de chaque client. Pour répondre à ce besoin de personnalisation, les systèmes doivent être étendus de manière efficace, ou modifiés, configurés pour être utilisé dans un contexte particulier. Une approche encourageante consiste à connecter l'approche MDE (l'ingénierie dirigée par les modèles) à l'approche SPL – les SPL basées sur les modèles (MSPL). L'espace de conception, l'environnement du système logiciel que l'on construit (i.e., l'ingénierie du domaine) d'une MSPL est extrêmement complexe à gérer pour un ingénieur. Tout d'abord, le nombre possible des produits d'une MSPL est exponentielle au nombre d'éléments ou de décisions exprimé dans le modèle de variabilité. Ensuite, les modèles de produits dérivés doivent être conformes à de nombreuses règles liées au domaine métier mais aussi aux langages de modélisation utilisés. Troisièmement, le modèle de réalisation qui relie un modèle de variabilité et un modèle de base peut être très expressif. En plus, il faut ajouter que les ingénieurs système utilisent différents langages de modélisation dédiés dans le cadre de projets pour la réalisation de systèmes critiques. Nos contributions sont basées sur le fait qu'une solution générique, pour tous les domaines, et qui dérive des modèles corrects n'est pas réaliste, surtout si on prend en considération le contexte des systèmes complexes décrits précédemment. Nous proposons une approche indépendante du domaine pour générer des contre-exemples de MSPLs, révélant des erreurs de conceptions de modèles et supportant les parties prenantes à construire de meilleures MSPLs et des mécanismes de dérivation plus efficaces. Plus précisément, la première et principale contribution de la thèse est un processus systématique et automatisé, basé sur CVL (common variability language), pour la recherche aléatoire de contre-exemples de MSPL dans un langage donné. La seconde contribution de la thèse est un étude sur les mécanismes pour étendre la sémantique des moteurs de dérivation, offrant une approche basée sur des modèles à fin de personnaliser leurs sémantique opérationnelle. Dans la troisième contribution de la thèse, nous présentons une étude empirique à large échelle sur le langage Java en utilisant notre approche générative. La quatrième et dernière contribution de la thèse est une méthodologie pour intégrer notre travail dans une organisation qui cherche à mettre en œuvre les lignes de produit logiciels basées sur des modèles pour l'ingénierie des systèmes. / Systems Engineering is a complex and expensive activity in several kinds of companies, it imposes stakeholders to deal with massive pieces of software and their integration with several hardware components. To ease the development of such systems, engineers adopt a divide and conquer approach : each concern of the system is engineered separately, with several domain specific languages (DSL) and stakeholders. The current practice for making DSLs is to rely on the Model-driven Engineering (MDE. On the other hand, systems engineering companies also need to construct slightly different versions/variants of a same system; these variants share commonalities and variabilities that can be managed using a Software Product Line (SPL) approach. A promising approach is to ally MDE with SPL – Model-based SPLs (MSPL) – in a way that the products of the SPL are expressed as models conforming to a metamodel and well-formedness rules. The Common Variability Language (CVL) has recently emerged as an effort to standardize and promote MSPLs. Engineering an MSPL is extremely complex to an engineer: the number of possible products is exponential; the derived product models have to conform to numerous well- formedness and business rules; and the realization model that connects a variability model and a set of design models can be very expressive specially in the case of CVL. Managing variability models and design models is a non-trivial activity. Connecting both parts and therefore managing all the models is a daunting and error-prone task. Added to these challenges, we have the multiple different modeling languages of systems engineering. Each time a new modeling language is used for developing an MSPL, the realization layer should be revised accordingly. The objective of this thesis is to assist the engineering of MSPLs in the systems engineering field, considering the need to support it as earlier as possible and without compromising the existing development process. To achieve this, we provide a systematic and automated process, based on CVL, to randomly search the space of MSPLs for a given language, generating counterexamples that can server as antipatterns. We then provide ways to specialize CVL’s realization layer (and derivation engine) based on the knowledge acquired from the counterexamples. We validate our approach with four modeling languages, being one acquired from industry; the approach generates counterexamples efficiently, and we could make initial progress to increase the safety of the MSPL mechanisms for those languages, by implementing antipattern detection rules. Besides, we also analyse big Java programs, assessing the adequacy of CVL to deal with complex languages; it is also a first step to assess qualitatively the counterexamples. Finally, we provide a methodology to define the processes and roles to leverage MSPL engineering in an organization.
|
216 |
Essential notation for object-relational mappingTorres, Alexandre January 2014 (has links)
Esta tese apresenta a Notação Essencial para Mapeamento Objeto-Relacional (em inglês, ENORM), uma notação de propósito geral que representa os conceitos estruturais do Mapeamento Objeto-Relacional (MOR). O objetivo de ENORM é facilitar o projeto através da aplicação clara dos padrões MOR, documentação dos mapeamentos com uma notação independente de plataforma, e tornar-se um repositório para transformações dirigidas por modelos, geração parcial de código e ferramentas de engenharia round-trip. ENORM é uma notação baseada em perfil UML, projetada para representar padrões pertencentes a lógica de modelo do domínio, com objetos do domínio incorporando tanto comportamento como dados. A notação representa padrões adotados por frameworks MOR difundidos no mercado (Active Record, do Ruby; SQLAlchemy, do Python; Entity Framework, da Microsoft .net; JPA, Cayenne, and MyBatis, do Java), seguindo os princípios Não se repita e Convenção sobre Configuração. ENORM foi avaliado por experimentos controlados, comparando a modelagem de estudantes com modelos UML e relacionais separados, atingindo um número significativamente maior de objetivos na maioria dos cenários, sem ser significativamente diferente nos piores cenários experimentais. / This thesis presents the Essential Notation for Object-Relational Mapping (ENORM), a general purpose notation that represents structural concepts of Object- Relational Mapping (ORM). The goal of ENORM is to facilitate the design by the clear application of ORM patterns, document mappings with a platform independent notation, and became a repository for model-driven transformations, partial code generation, and round-trip engineering tools. ENORM is a UML profile based notation, designed to represent patterns within a domain modeling logic, with objects of the domain incorporating both behavior and data. The notation represents patterns adopted by widespread ORM frameworks in the market (Active Record, of Ruby; SQLAlchemy, of Python; Entity Framework, of Microsoft .net; JPA, Cayenne, and MyBatis, of Java), following the Don´t Repeat Yourself and Convention over Configuration principles. ENORM was evaluated by controlled experiments, comparing the modeling by students with the use of separated UML and relational models, achieving significantly more goals in the majority of the scenarios, without being significantly different in the worst experimental scenarios.
|
217 |
CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approachDavid Fernandes Neto 01 June 2012 (has links)
O desenvolvimento orientado a modelos (Model Driven Development - MDD) é uma abordagem que tem ganhado cada vez mais espaço na indústria e na academia, trazendo grandes benefícios, como o aumento de produtividade. Uma forma de se trabalhar usando MDD em equipe é usando uma IDE (Integrated Development Environment) associada a um sistema de versionamento. Entretanto, trabalhar colaborativamente usando uma IDE associada a um sistema de versionamento pode trazer algumas complicações para o desenvolvimento como: conflitos de modelos, documentação descontinuada, dificuldades por parte dos interessados em usar sistemas de versionamento, etc. Nesse contexto, este trabalho propõe uma abordagem de uso de wiki para desenvolvimento de MDD, de modo que o desenvolvedor seja capaz de criar modelos, gerar código fonte, compartilhar e versionar os modelos e ainda documentar colaborativamente, de maneira mais simples e fácil do que abordagens tradicionais. Isso possibilita que mais usuários não desenvolvedores possam participar mais no processo de desenvolvimento e ainda permite o aumento de produtividade. Para tentar evidenciar de que é possível uma wiki ser usada para desenvolver software, foi criada uma Domain Specific Language - DSL em uma wiki e foram realizados três estudos de caso: um com estudantes do ensino médio e que representam os não desenvolvedores, um com quatro alunos de pós-graduação com experiência de desenvolvimento na indústria e o último estudo de caso foi realizado com 48 participantes entre desenvolvedores e alunos de pósgraduação em Ciências da Computação. Os estudos de caso mostraram que é viável usar uma wiki para desenvolvimento, que não desenvolvedores se adaptam bem à abordagem e que 86% dos desenvolvedores usariam a abordagem proposta se tivessem que trabalhar com MDD. Os estudos de caso também levantaram as principais barreiras para aumentar a aceitação da abordagem. Com isso, este trabalho apresenta além de uma abordagem relativamente inédita na literatura, resultados sobre uso de sistemas de versionamento, de IDEs e de desenvolvimento colaborativo / The Model Driven Development (MDD) is an approach that has gained more space in industry and academia, bringing great benefits such as increased productivity. One way of working in teams with MDD is using an IDE (Integrated Development Environment) with a versioning system. However, to collaboratively work with an IDE and a versioning system may have implications and problems for the development as: conflicts of models, documentation discontinued, difficulties for stakeholders to use versioning systems, etc. In this context, this work proposes an approach to use a wiki to develop MDD, so that the developer is able to create models, generate source code, sharing and versioning models and also to collaboratively document, in a more simple and easy way than the traditional approaches. This enables non developers can participate more in the development process and also allows increasing productivity. To try to show that a wiki can be used to develop software, we created a Domain Specific Language (DSL) in a wiki and were performed three case studies: one with high school students and represent the non developers, another one with four graduate students with experience in software development in the industry, and the last case study was conducted with 48 participants among developers and graduate students in Computer Science. The case studies showed the feasibility of using a wiki for development, that non developers adapted well to the approach and 86 % of the developers would use a wiki to develop MDD. The study also raised the main barriers to increase the acceptance of the approach. Therefore, this work presents also a relatively new approach in the literature and results on the use of versioning systems, IDEs and collaboratively development
|
218 |
Application of Model-Driven Engineering and Metaprogramming to DEVS Modeling & Simulation / Application de l'ingénierie dirigée par les modèles et de la métaprogrammation à la modélisation & simulation DEVSTouraille, Luc 07 December 2012 (has links)
La multiplication des environnements logiciels pour la Modélisation & Simulation DEVS pose un problème de collaboration à la communauté scientifique. En effet, l'utilisation d'outils disparates rend l'échange, la réutilisation et la comparaison de modèles très difficiles, empêchant les scientifiques de s'appuyer sur des travaux précédents pour construire leurs modèles. L'interopérabilité des outils n'est pas le seul problème soulevé par le besoin de modèles toujours plus complexes. Au fur et à mesure que les modèles grossissent, leur développement devient plus difficile, notamment en termes de détection des erreurs de conception. D'autre part, la simulation de ces modèles demande de plus en plus de ressources. Par conséquent, il est nécessaire de concevoir des techniques pour améliorer la performance des simulateurs et pour fournir des fonctionnalités de vérification de modèle afin d'assister les scientifiques dans la conception de leurs modèles. Dans cette thèse, nous proposons deux approches innovantes pour la M&S DEVS qui s'attaquent aux problèmes susmentionnés. La première contribution décrite dans ce document est un environnement basé sur les modèles pour modéliser des systèmes avec le formalisme DEVS, intitulé SimStudio. Cet environnement repose sur l'Ingénierie Dirigée par les Modèles pour fournir un cadriciel de haut niveau dans lequel les scientifiques peuvent créer, éditer et visualiser des modèles, et générer automatiquement un ensemble d’artefacts, notamment des spécifications de modèles compatibles avec différents simulateurs DEVS. Le noyau de SimStudio est un métamodèle de DEVS, indépendant de toute plateforme, qui fournit un format pivot pour la représentation des modèles DEVS. En se basant sur ce métamodèle, nous avons développé plusieurs fonctionnalités de vérification de modèle ainsi que plusieurs transformations de modèle pouvant être utilisées pour générer automatiquement de la documentation, des diagrammes ou du code ciblant diverses plateformes DEVS. Ainsi, SimStudio fournit une preuve de concept des capacités d’intégration qu’un standard DEVS pourrait fournir ; en fait, le métamodèle présenté dans cette thèse pourrait potentiellement servir de base de réflexion pour un tel standard. La seconde contribution de cette thèse est DEVS-MetaSimulateur (DEVS-MS), une bibliothèque DEVS qui utilise la métaprogrammation pour générer des exécutables de simulation spécialisés et optimisés pour le modèle qu’ils traitent. Pour ce faire, la bibliothèque effectue un grand nombre d’opérations durant la compilation, résultant en un code de simulation où une grande partie de l’overhead de simulation a été éliminé. Les tests que nous avons effectués ont montré que les programmes générés étaient très efficaces, mais le gain de performance n’est pas la seule caractéristique intéressante de DEVS-MS. En effet, grâce à la métaprogrammation, DEVS-MS peut également partiellement vérifier à la compilation que les modèles sont corrects, c’est-à-dire que leurs caractéristiques sont bien conformes au formalisme DEVS. Les erreurs de modélisation sont ainsi détectées et signalées très tôt dans le cycle de développement, et avec un taux de détection bien meilleur que ne le permettrait des tests classiques. / The multiplication of software environments supporting DEVS Modeling & Simulation is becoming a hindrance to scientific collaboration. Indeed, the use of disparate tools in the community makes the exchange, reuse and comparison of models very difficult, preventing practitioners from building on previous works to devise models of ever-increasing complexity. Tool interoperability is not the only issue raised by the need for models of higher and higher complexity. As models grow, their development becomes more error-prone, and their simulation becomes more resource-consuming. Consequently, it is necessary to devise techniques for improving simulators performance and for providing thorough model verification to assist the practitioner during model design. In this thesis, we propose two innovative approaches for DEVS Modeling & Simulation that tackle the aforementioned issues. The first contribution described in this document is a model-driven environment for modeling systems with the DEVS formalism, named SimStudio. This environment relies on Model-Driven Engineering to provide a high-level framework where practitioners can create, edit and visualize models, and automatically generate multiple artifacts, most notably model specifications compatible with various DEVS simulators. The core of SimStudio is a platform-independent metamodel of the DEVS formalism, which provides a pivot format for DEVS models. Based on this metamodel, we developed several model verification features as well as many model transformations that can be used to automatically generate documentation, diagrams or code targeting various DEVS platforms. Thus, SimStudio gives a proof of concept of the integration capabilities that a DEVS standard would provide; as a matter of fact, the metamodel presented in this thesis could possibly serve as a basis for such a standard. The second contribution of this thesis is DEVS-MetaSimulator (DEVS-MS), a DEVS library relying on metaprogramming to generate simulation executables that are specialized and optimized for the model they handle. To do so, the library performs many computations during compilation, resulting in a simulation code where most overhead have been eliminated. The tests we conducted showed that the generated programs were very efficient, but the performance gain is not the only feature of DEVS-MS. Indeed, through metaprogramming, DEVS-MS can also assert the correctness of models by verifying model characteristics at compile-time, detecting and reporting modeling errors very early in the development cycle and with better confidence than what could be achieved with classical testing.
|
219 |
A model driven approach for the development and verification of service-oriented applications / Approche dirigée par les modèles pour le développement et la vérification des applications orientées-servicesRekik, Fadwa 19 April 2017 (has links)
L’omniprésence des systèmes logiciels et le rôle important qu’ils jouent dans la vie quotidienne rendent les utilisateurs de plus en plus exigeants. Entre autre, ils demandent plus de fiabilité et des systèmes qui peuvent s’adapter à leur contexte d’utilisation. Afin de satisfaire ces demandes, les cadres techniques et les méthodes de conception sous-jacents au développement des systèmes doivent être modulaires, flexibles et consistants. L’architecture orientée service (SOA) est un paradigme qui offre des mécanismes permettant une grande flexibilité des architectures des systèmes logiciels tout en réduisant leurs coûts de développement puisqu’elle se base sur des entités modulaires et réutilisables appelées services. Ces services peuvent être réutilisés dans le cadre d’une composition ou d’une chorégraphie de services pour la construction de nouveaux processus métiers transverses. SOA promet aussi d’augmenter la fiabilité des systèmes au travers de la notion de contrat de services. De son côté, le paradigme de l’Ingénierie des modèles (IDM) offre au travers de ses deux principes fondateurs, l’abstraction et l’automatisation, deux moyens puissants de gestion de la complexité des systèmes. Malgré les progrès des deux paradigmes, IDM et SOA, il y a encore des défis à résoudre. Notamment, on peut citer : (1) La vérification rigoureuse des spécifications des systèmes conformes aux principes de SOA. Ce point constitue un défi car pour modéliser ces systèmes, les concepteurs ont besoin de plus d'un point de vue représentant chacun une préoccupation spécifique du système et bien sûr ces points de vue doivent être sémantiquement cohérents. Ce problème est appelé la vérification de la consistance horizontale, une tâche manuellement difficile qui constitue une étape importante pour réduire les incohérences dans les modèles des applications SOA avant de les transformer en d'autres formes (du code, des cas de tests, etc.). (2) La transformation des spécifications des systèmes en artefacts exécutables. Malgré la maturité de l’architecture SOA, la transformation des spécifications des systèmes SOA en artefacts exécutables s'avère encore une étape fastidieuse et est généralement effectué manuellement. En particulier, la transformation des chorégraphies de services en orchestrations exécutables reste un problème en raison de la nécessité de prendre en compte les aspects complexes des systèmes distribués, tels que l’asynchronisme et la concurrence. (3) La vérification de l’exécution. Au moment de la spécification, des comportements inattendus peuvent encore apparaitre lors de l’exécution. Pour cette raison, il est nécessaire de pouvoir vérifier la conformité de l'exécution d’un système par rapport à sa spécification. Ce problème est appelé la vérification de la consistance verticale. Ce travail de thèse propose ainsi une approche de type SOA dirigée par les modèles résolvant les défis mentionnés précédemment. Cette approche comprend une méthodologie en deux étapes pour la vérification de la consistance horizontale et verticale des systèmes SOA spécifiés en utilisant la norme SoaML de l’OMG. Le problème de vérification de la consistance horizontale est résolu au moyen de l'analyse statique de la spécification des systèmes. Le deuxième défi est résolu en spécifiant les règles de transformation d'un modèle de spécification de chorégraphie de services en une orchestration exécutable qui implémente la logique de la chorégraphie tout en prenant en compte la nature asynchrone des communications entre les services distribués. Le problème de vérification de la consistance verticale est résolu par notre approche par l'analyse hors ligne des traces d’exécution d’un système. L’ensemble de la proposition méthodologique a été implanté sous la forme d’une extension à l’outil de modélisation UML open-source Papyrus. / As software systems are pervasive and play an important role in everyday life, the users are becoming more and more demanding. They mainly require more reliable systems that automatically adapt to different use cases. To satisfy these requirements, technical frameworks and design methods, upon which the systems development is based, must meet specific objectives mainly modularity, flexibility, and consistency. Service-Oriented Architecture (SOA) is a paradigm that offers mechanisms to increase the software flexibility and reduce development costs by enabling service orchestration and choreography. SOA promises also reliability through the use of services contracts as an agreement between the service provider and consumer. Model-driven SOA is a novel and promising approach that strengthens SOA with Model-Driven Engineering (MDE) technics that ease the specification, development, and verification of Service-Oriented Applications by applying abstraction and automation principles. Despite the progress to integrate MDE to SOA, there are still some challenging problems to be solved: (1) Rigorous verification of SOA system specifications. This is a challenging problem because to model SOA systems designers need more than one viewpoint, each of which captures a specific concern of the system. These viewpoints are meant to be semantically consistent with each other. This problem is called horizontal consistency checking and it is an important step to reduce inconsistencies in SOA models before transforming them into other forms (code generation, test cases derivation, etc.). (2) Transformation of systems specifications into executable artifacts. Despite the maturity of SOA, the transformation of system specifications into executable artifacts is usually manual, fastidious and error-prone. The transformation of services choreographies into executable orchestrations particularly remains a problem because of the necessity to take into account critical aspects of distributed systems such as asynchrony and concurrency when executing centralized orchestrations. (3) Runtime verification. Even after verifying Horizontal consistency at design time, there could be unexpected and unspecified data interactions that are unknown during design-time. For this reason, we still need consistency verification at runtime to handle such unforeseen events. This problem is called Vertical consistency checking. This thesis work proposes a Model-driven SOA approach to address the above-mentioned challenges. This approach includes a two-step model-driven methodology to horizontally and vertically verify the consistency of SOA systems specifications described using the SoaML standard from the Object Management Group (OMG). The horizontal consistency checking problem, which is the first challenge, is solved by means of static analysis of the system specification at the design level. The second challenge is solved by specifying the transformation from a choreography specification model to an executable orchestration implementing the choreography logic. Our transformation takes into consideration the asynchronous nature of the communications between distributed services. The vertical consistency checking problem, which is the third challenge, is solved by our approach thanks to offline analysis that allows consistency verification between both design and runtime levels. The entire methodological proposal was implemented as an extension to the open source UML modeling tool Papyrus.
|
220 |
Intelligent Simulink Modeling Assistance via Model Clones and Machine LearningAdhikari, Bhisma 26 July 2021 (has links)
No description available.
|
Page generated in 0.0446 seconds