61 |
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.
|
62 |
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.
|
63 |
A framework for evaluating the quality of modelling languages in MDE environmentsGiraldo Velásquez, Faber Danilo 07 November 2017 (has links)
This thesis presents the Multiple Modelling Quality Evaluation Framework method (hereinafter MMQEF), which is a conceptual, methodological, and technological framework for evaluating quality issues in modelling languages and modelling elements by the application of a taxonomic analysis. It derives some analytic procedures that support the detection of quality issues in model-driven projects, such as the suitability of modelling languages, traces between abstraction levels, specification for model transformations, and integration between modelling proposals. MMQEF also suggests metrics to perform analytic procedures based on the classification obtained for the modelling languages and artifacts under evaluation.
MMQEF uses a taxonomy that is extracted from the Zachman framework for Information Systems (Zachman, 1987; Sowa and Zachman, 1992), which proposed a visual language to classify elements that are part of an Information System (IS). These elements can be from organizational to technical artifacts. The visual language contains a bi-dimensional matrix for classifying IS elements (generally expressed as models) and a set of seven rules to perform the classification. As an evaluation method, MMQEF defines activities in order to derive quality analytics based on the classification applied on modelling languages and elements. The Zachman framework was chosen because it was one of the first and most precise proposals for a reference architecture for IS, which is recognized by important standards such as the ISO 42010 (612, 2011).
This thesis presents the conceptual foundation of the evaluation framework, which is based on the definition of quality for model-driven engineering (MDE). The methodological and technological support of MMQEF is also described. Finally, some validations for MMQEF are reported. / Esta tesis presenta el método MMQEF (Multiple Modelling Quality Evaluation Framework), el cual es un marco de trabajo conceptual, metodológico y tecnológico para evaluar aspectos de calidad sobre lenguajes y elementos de modelado mediante la aplicación de análisis taxonómico. El método deriva procedimientos analíticos que soportan la detección de aspectos de calidad en proyectos model-driven tales como: idoneidad de lenguajes de modelado, trazabilidad entre niveles de abstracción, especificación de transformación de modelos, e integración de propuestas de modelado. MMQEF también sugiere métricas para ejecutar procedimientos analíticos basados en la clasificación obtenida para los lenguajes y artefactos de modelado bajo evaluación.
MMQEF usa una taxonomía para Sistemas de Información basada en el framework Zachman (Zachman, 1987; Sowa and Zachman, 1992). Dicha taxonomía propone un lenguaje visual para clasificar elementos que hacen parte de un Sistema de Información. Los elementos pueden ser artefactos asociados a niveles desde organizacionales hasta técnicos. El lenguaje visual contiene una matriz bidimensional para clasificar elementos de Sistemas de Información, y un conjunto de siete reglas para ejecutar la clasificación. Como método de evaluación MMEQF define actividades para derivar analíticas de calidad basadas en la clasificación aplicada sobre lenguajes y elementos de modelado. El marco Zachman fue seleccionado debido a que éste fue una de las primeras y más precisas propuestas de arquitectura de referencia para Sistemas de Información, siendo ésto reconocido por destacados estándares como ISO 42010 (612, 2011).
Esta tesis presenta los fundamentos conceptuales del método de evaluación basado en el análisis de la definición de calidad en la ingeniería dirigida por modelos (MDE). Posteriormente se describe el soporte metodológico y tecnológico de MMQEF, y finalmente se reportan validaciones. / Aquesta tesi presenta el mètode MMQEF (Multiple Modelling Quality Evaluation Framework), el qual és un marc de treball conceptual, metodològic i tecnològic per avaluar aspectes de qualitat sobre llenguatges i elements de modelatge mitjançant l'aplicació d'anàlisi taxonòmic. El mètode deriva procediments analítics que suporten la detecció d'aspectes de qualitat en projectes model-driven com ara: idoneïtat de llenguatges de modelatge, traçabilitat entre nivells d'abstracció, especificació de transformació de models, i integració de propostes de modelatge. MMQEF també suggereix mètriques per executar procediments analítics basats en la classificació obtinguda pels llenguatges i artefactes de mode-lat avaluats.
MMQEF fa servir una taxonomia per a Sistemes d'Informació basada en el framework Zachman (Zachman, 1987; Sowa and Zachman, 1992). Aquesta taxonomia proposa un llenguatge visual per classificar elements que fan part d'un Sistema d'Informació. Els elements poden ser artefactes associats a nivells des organitzacionals fins tècnics. El llenguatge visual conté una matriu bidimensional per classificar elements de Sistemes d'Informació, i un conjunt de set regles per executar la classificació. Com a mètode d'avaluació MMEQF defineix activitats per derivar analítiques de qualitat basades en la classificació aplicada sobre llenguatges i elements de modelatge. El marc Zachman va ser seleccionat a causa de que aquest va ser una de les primeres i més precises propostes d'arquitectura de referència per a Sistemes d'Informació, sent això reconegut per destacats estàndards com ISO 42010 (612, 2011).
Aquesta tesi presenta els fonaments conceptuals del mètode d'avaluació basat en l'anàlisi de la definició de qualitat en l'enginyeria dirigida per models (MDE). Posteriorment es descriu el suport metodològic i tecnològic de MMQEF, i finalment es reporten validacions. / Giraldo Velásquez, FD. (2017). A framework for evaluating the quality of modelling languages in MDE environments [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/90628 / TESIS
|
64 |
Intelligent Simulink Modeling Assistance via Model Clones and Machine LearningAdhikari, Bhisma 26 July 2021 (has links)
No description available.
|
65 |
Ingénierie dirigée par les modèles pour la conception et la mise en œuvre des réseaux de capteurs / Model-driven engineering for the design and implementation of sensor networksKifouche, Abdenour 11 September 2019 (has links)
Le cycle de vie d'un réseau de capteurs implique plusieurs étapes, telles que le dimensionnement du réseau, le développement de logiciels embarqués, la réalisation de matériels, des analyses et des simulations, le déploiement physique, l'exploitation des données et la maintenance du réseau. Tout au long de ce cycle, plusieurs outils spécifiques sont utilisés. Il est donc nécessaire de décrire manuellement les caractéristiques du réseau de capteurs dans chacun de ces outils en utilisant leurs propres langages. Il en résulte des coûts de développement importants et éventuellement des incohérences entre les différentes descriptions. Pour répondre à cette problématique, nous proposons une méthodologie basée sur l'approche MDE (Model Driven Engineering). Elle vise à couvrir toutes les étapes du cycle de vie d'un réseau de capteurs. Tous les concepts et les caractéristiques d'un réseau de capteurs sont décrits à l'aide d'un métamodèle. A partir de ce référentiel, il est possible d'extraire, à chaque étape du cycle de vie, une ou plusieurs facettes. Chaque facette est présentée et éditée avec l'outil le plus adéquat en créant des passerelles vers des outils tiers. Afin de mettre en œuvre la méthodologie proposée, un Framework est développé pour offrir un environnement de description multi-facettes : architecture réseau, architecture matérielle, architecture logicielle, flux de données et environnement physique. Un exemple de passerelle entre le Framework et un simulateur existant (Omnet++) a été développé pour estimer les performances des réseaux de capteurs. Le Framework permet la génération automatique des scripts de simulation ainsi que des codes sources pour les nœuds du réseau / The life cycle of a sensor network involves several steps, including network sizing, embedded software development, hardware design, analysis and simulation, physical deployment, data exploitation, and network maintenance. Throughout this cycle, several specific tools are used. It is therefore necessary to manually describe the characteristics of the sensor network in each of these tools using their own languages. This results in significant development costs and potential inconsistencies between the different descriptions. To address this problem, we propose a methodology based on model driven engineering approach. It aims to cover all life cycle steps of a sensor network. All concepts and characteristics of a sensor network are described using a metamodel. From this referential, it is possible to extract, at each step of the life cycle, one or more facets. Each facet is presented and edited with the most appropriate tool by creating gateways to external tools.In order to implement the proposed methodology, a Framework is developed to provide a multi-facets environment: network architecture, hardware architecture, software architecture, data flow and physical environment. An example of a gateway between the Framework and an existing simulator (Omnet++) has been developed to estimate sensor network performances. The Framework allows automatic generation of simulation scripts as well as source codes for network nodes
|
66 |
Environnement pour l'analyse de sécurité d'objets communicants / Approaches for analyzing security properties of smart objectsLugou, Florian 08 February 2018 (has links)
Alors que les systèmes embarqués sont de plus en plus nombreux, complexes, connectés et chargés de tâches critiques, la question de comment intégrer l'analyse précise de sécurité à la conception de systèmes embarqués doit trouver une réponse. Dans cette thèse, nous étudions comment les méthodes de vérification formelle automatiques peuvent aider les concepteurs de systèmes embarqués à évaluer l'impact des modifications logicielles et matérielles sur la sécurité des systèmes. Une des spécificités des systèmes embarqués est qu'ils sont décrits sous la forme de composants logiciels et matériels interagissant. Vérifier formellement de tels systèmes demande de prendre tous ces composants en compte. Nous proposons un exemple d'un tel système (basé sur Intel SGX) qui permet d'établir un canal sécurisé entre un périphérique et une application. Il est possible d'en vérifier un modèle de haut-niveau ou une implémentation bas-niveau. Ces deux niveaux diffèrent dans le degré d'intrication entre matériel et logiciel. Dans le premier cas, nous proposons une approche orientée modèle, à la fois au niveau partitionnement et conception logicielle, permettant une description à haut niveau d'abstraction du matériel et du logiciel et permettant une transformation de ces modèles en une spécification formelle sur laquelle une analyse de sécurité peut être effectuée avec l'outil ProVerif. Dans le second cas, nous considérons une implémentation logicielle et un modèle matériel plus concret pour effectuer des analyses de sécurité plus précises toujours avec ProVerif. / As embedded systems become more complex, more connected and more involved in critical tasks, the question of how strict security analysis can be performed during embedded system design needs to be thoroughly addressed. In this thesis, we study how automated formal verification can help embedded system designers in evaluating the impact of hardware and software modifications on the security of the whole system. One of the specificities of embedded system design-which is of particular interest for formal verification-is that the system under design is described as interacting hardware and software components. Formally verifying these systems requires taking both types of components into account. To illustrate this fact, we propose an example of a hardware/software co-design (based on Intel SGX) that provides a secure channel between a peripheral and an application. Formal verification can be performed on this system at different levels: from a high-level view (without describing the implementations) or from a low-level implementation. These two cases differ in terms of how tightly coupled the hardware and software components are. In the first case, we propose a model-based approach-for both the partitioning and software design phases- which enables us to describe software and hardware with high-level models and enables a transformation of these models into a formal specification which can be formally analyzed by the ProVerif tool. In the second case, we consider a software implementation and a more concrete
|
67 |
Code generation for programmable logic controllers : Evaluating model-based engineering practices in a real-world contextJohansson, Adam, Johansson, Tim January 2020 (has links)
The industrial manufacturing of today is achieved through the use of programmable logic controllers (PLC). The way PLCs are programmed remains largely unchanged since their conception 40 years ago, but complexity and software size have increased, and requirements have becomemore elaborate. Model-driven engineering (MDE) practices, formal verification and automated testing could help manage these challenges. This study seeks to improve development practices in the context of a company that delivers automation projects. Through design science methodology the state of the field is investigated and an artefact is developed. The artefact shows potential benefits resulting from the introduction of model-driven code generation, which is evaluated through an experiment with engineers. Our results indicate the engineers may benefit from incorporating generated code in their work.
|
68 |
Gait analysis using computer vision for the early detection of elderly syndromes. A formal proposalNieto-Hidalgo, Mario 03 March 2017 (has links)
El objetivo principal de esta tesis es el desarrollo de un sistema de análisis de la marcha basado en visión que permita clasificar la marcha patológica. Este objetivo general se divide en tres subobjetivos específicos más concretos: definición formal de la marcha, especificación e implementación de un sistema de obtención de parámetros de la marcha basado en visión y clasificación de la marcha patológica. En el primer subobjetivo, definición formal de la marcha, nuestros esfuerzos consisten en obtener una definición de la marcha que incluya la visión por computador pero sin excluir otros métodos y que sea lo suficientemente abierta como para incluir todos los casos de marcha humana. La definición propuesta es la siguiente: "Gait is the anthropomorphic upright self-displacement, in an alternating stepping of two feet, with no additional fulcra, keeping at least a point of support at every time, on a horizontal or slightly inclined surface." A partir de esta definición, las variables que consideramos son tiempos y longitudes de paso y zancada, tiempos de apoyo monopodal y bipodal, velocidad, cadencia, etc... Para el segundo subobjetivo, especificación e implementación de un sistema de obtención de parámetros de la marcha basado en visión, nos centramos en el análisis de la marcha mediante visión por computador utilizando únicamente una cámara RGB, que obtenga imágenes laterales y frontales del sujeto. El algoritmo propuesto es capaz de extraer las variables de la marcha, establecidas en la definición del objetivo de especificación, con suficiente precisión, de modo que la marcha puede ser interpretada y clasificada. La decisión de limitar la infraestructura necesaria a una única cámara RGB, obedece al interés por abaratar los costes del sistema y que sea sostenible medioambientalmente, ya que no requiere de energía adicional para capturar la imagen, sino que utiliza la radiación lumínica que inunda el escenario, ya sea de forma natural o artificial. Este sistema actúa como interfaz de entrada del subobjetivo tres que son las variables de la marcha propuestas en el subobjetivo uno. Por tanto, el subobjetivo dos puede ser reemplazado por otro sistema basado en otro fenómeno como es el caso de un sistema inercial, siempre y cuando pueda proporcionar las variables definidas en el subobjetivo uno. El subobjetivo tres, clasificador de la marcha patológica, usa las variables proporcionadas por el sistema del subobjetivo dos para caracterizar la marcha y clasificarla. Mediante una serie de casos de entrenamiento, el sistema genera los modelos de marcha patológica y normal. A partir de estos modelos, el clasificador es capaz de determinar a qué modelo pertenece la entrada de parámetros de la marcha proporcionada por el subobjetivo dos. El objetivo de formalización nos ha llevado a profundizar en los aspectos conceptuales y procedimentales del conocimiento y de su creación, con la consecuencia de aportar sendas definiciones para problema y modelo, así como hallar una justificación formal, basada en la teoría de conjuntos, que confiere coherencia causal al método experimental. Además de encontrar formalmente la justificación causal del método científico, hemos podido encajar en ese marco formal los enfoques divide et vinces, model driven y top-down de resolución de problemas ingenieriles. Al tiempo que hemos encontrado que la técnica top-down de diseño es coincidente con el método científico de resolución de problemas, el método bottom-up es coherente con la implementación de prototipos, lo cual justifica la restricción de su utilización al diseño de instancias para las que ya se conoce solución.
|
69 |
Role-based Runtime Model SynchronizationWerner, Christopher, Schön, Hendrik, Kühn, Thomas, Götz, Sebastian, Aßmann, Uwe 02 July 2021 (has links)
Model-driven Software Development (MDSD) promotes the use of multiple related models to realize a software system systematically. These models usually contain redundant information but are independently edited. This easily leads to inconsistencies among them. To ensure consistency among multiple models, model synchronizations have to be employed, e.g., by means of model transformations, trace links, or triple graph grammars. Model synchronization poses three main problems for MDSD. First, classical model synchronization approaches have to be manually triggered to perform the synchronization. However, to support the consistent evolution of multiple models, it is necessary to immediately and continuously update all of them. Second, synchronization rules are specified at design time and, in classic approaches, cannot be extended at runtime, which is necessary if metamodels evolve at runtime. Finally, most classical synchronization approaches focus on bilateral model synchronization, i.e., the synchronization between two models. Consequently, for more than two models, they require the definition of pairwise model synchronizations leading to a combinatorial explosion of synchronization rules. To remedy these issues, we propose a role-based approach for runtime model synchronization. In particular, we propose role-based synchronization rules that enable the immediate and continuous propagation of changes to multiple interrelated models (and back again). Additionally, our approach permits adding new and customized synchronization rules at runtime. We illustrate the benefits of role-based runtime model synchronization using the Families to Persons case study from the Transformation Tool Contest 2017.
|
70 |
Optimisation multi-objectifs d'architectures par composition de transformation de modèles / Multiple-objectives architecture optimization by composition of model transformationsRahmoun, Smail 07 February 2017 (has links)
Nous proposons dans cette thèse une nouvelle approche pour l'exploration d’espaces de conception. Plus précisément, nous utilisons la composition de transformations de modèles pour automatiser la production d'alternatives architecturales, et les algorithmes génétiques pour explorer et identifier des alternatives architecturales quasi-optimales. Les transformations de modèles sont des solutions réutilisables et peuvent être intégrées dans des algorithmes génétiques et ainsi être combinées avec des opérateurs génétiques tels que la mutation et le croisement. Grâce à cela, nous pouvons utiliser (ou réutiliser) différentes transformations de modèles implémentant différents patrons de conception sans pour autant modifier l’environnement d’optimisation. En plus de cela, les transformations de modèles peuvent être validées (par rapport aux contraintes structurelles) en amont et ainsi rejeter avant l’exploration les transformations générant des alternatives architecturales incorrectes. Enfin, les transformations de modèles peuvent être chainées entre elles afin de faciliter leur maintenance, leur réutilisabilité et ainsi concevoir des modèles plus détaillés et plus complexes se rapprochant des systèmes industrielles. A noter que l’exploration de chaines de transformations de modèles a été intégrée dans l’environnement d’optimisation. / In this thesis, we propose a new exploration approach to tackle design space exploration problems involving multiple conflicting non functional properties. More precisely, we propose the use of model transformation compositions to automate the production of architectural alternatives, and multiple-objective evolutionary algorithms to identify near-optimal architectural alternatives. Model transformations alternatives are mapped into evolutionary algorithms and combined with genetic operators such as mutation and crossover. Taking advantage of this contribution, we can (re)-use different model transformations, and thus solve different multiple-objective optimization problems. In addition to that, model transformations can be chained together in order to ease their maintainability and re-usability, and thus conceive more detailed and complex systems.
|
Page generated in 0.0326 seconds