41 |
Configuration par modèle de caractéristiques adapté au contexte pour les lignes de produits logiciels : application aux Smart Buildings / Configuring context adapted feature models for software product linesPossompès, Thibaut 04 October 2013 (has links)
Les lignes de produits logiciels ont pour objectif la réutilisation des documents, codes sources, architectures, et plus généralement tout artefact créé durant le développement de logiciels d'un même domaine. Pour cette réutilisation, on utilise aujourd'hui des ``modèles de caractéristiques''. L'approche consiste à décrire dans ce modèle les caractéristiques des artefacts créés et les contraintes permettant de les assembler, puis à sélectionner les caractéristiques représentatives d'un nouveau produit en le générant en tout ou partie. Dans certaines situations, une caractéristique représente un artefact associé à un élément du contexte que le produit doit gérer. Une telle caractéristique, et les contraintes relatives à sa mise en œuvre, peuvent être clonées pour chaque occurrence de l'élément dans le contexte. Dans le cadre de cette thèse, nous cherchons à déterminer l'impact du contexte d'exécution d'un futur produit sur les caractéristiques d'une ligne de produits logiciels. Nous explorons tout d'abord les différentes manières de représenter un modèle de caractéristiques et le contexte d'un produit. Nous proposons ensuite une méthode générique pour adapter un modèle de caractéristiques aux éléments d'un contexte. Cette thèse a été réalisée dans le contexte du projet RIDER (Reasearch for ITDriven EneRgy efficiency). Ce projet a pour objectif la réduction des pertes énergétiques subies à cause d'une gestion inappropriée des sources et des besoins énergétiques des bâtiments. La variété des équipements et les spécificités de chaque bâtiment nécessitent une adaptation au cas par cas des logiciels d'optimisation énergétique. Nous proposons donc d'appliquer à ce projet une approche par lignes de produits logiciels, et plus particulièrement, notre méthode d'adaptation de modèles de caractéristiques au contexte, pour adapter les logiciels d'optimisation énergétique au contexte spécifique de chaque bâtiment. / Software product lines aim at reusing documents, source code, architectures, and, all artefact created during software development achieved in a given domain. Nowadays, we use ``feature models'' to facilitate the reuse of such elements. The approach consists in describing, in this feature model, artefacts and their usage constraints, and then to identify representative features for creating a new product. In some situations, a feature represents an artefact associated to a context element that must be handled by the product. Such a feature, and its related constraints, can be cloned for each occurrence of instances of this element in a given context. In this thesis, we are try to determine the impact of a product execution context on a future product features. We first explore different ways for representing feature models and a product context. Then, we propose a generic method to adapt a feature model to context elements. This thesis has been achieved in the context of the RIDER project (Research for IT Driven EneRgy efficiency). This project aims at reducing energy waste due to an inappropriate management of energy sources and needs. The heterogeneousness of building equipments and each building specificities require to adapt energy optimisation software. We propose to apply a software product line approach to this project. More precisely, we propose to apply to this project our feature model context adaptation methodology, in order to adapt energy optimisation software to each building specific context.
|
42 |
Model-driven engineering of multi-agent systems based on ontologyFreitas, Artur Luiz Silva da Cunha 31 August 2017 (has links)
Submitted by PPG Ci?ncia da Computa??o (ppgcc@pucrs.br) on 2018-03-26T18:03:05Z
No. of bitstreams: 1
ARTUR_FREITAS_TES.pdf: 1489846 bytes, checksum: 61623f4503a4a916e72487f33c15e294 (MD5) / Approved for entry into archive by Tatiana Lopes (tatiana.lopes@pucrs.br) on 2018-04-06T16:46:51Z (GMT) No. of bitstreams: 1
ARTUR_FREITAS_TES.pdf: 1489846 bytes, checksum: 61623f4503a4a916e72487f33c15e294 (MD5) / Made available in DSpace on 2018-04-06T16:57:00Z (GMT). No. of bitstreams: 1
ARTUR_FREITAS_TES.pdf: 1489846 bytes, checksum: 61623f4503a4a916e72487f33c15e294 (MD5)
Previous issue date: 2017-08-31 / A engenharia orientada a modelos fornece abstra??es e nota??es para melhorar a compreens?o e para apoiar a modelagem, codifica??o e verifica??o de aplica??es em dom?nios espec?ficos. As ontologias, por outro lado, fornecem defini??es formais e expl?citas de conceitualiza??es compartilhadas e permitem o uso de racioc?nio sem?ntico. Embora essas ?reas tenham sido desenvolvidas por diferentes comunidades, sinergias importantes podem ser alcan?adas quando ambas s?o combinadas. Essas vantagens podem ser exploradas no desenvolvimento de sistemas multiagentes, dada a sua complexidade e a necessidade de integrar v?rios componentes que s?o frequentemente abordados de diferentes ?ngulos. Este trabalho investiga como aplicar ontologias para engenharia de software orientada a agentes. Inicialmente, apresentamos uma nova abordagem de modelagem onde os sistemas multiagentes s?o projetados usando a ontologia OntoMAS proposta. Ent?o, descrevemos t?cnicas, implementadas em uma ferramenta, para ajudar os programadores a trazer seus conceitos em c?digo e tamb?m gerar c?digo automaticamente a partir de modelos instanciados da ontologia. V?rias vantagens podem ser obtidas a partir dessas novas abordagens para modelar e codificar sistemas multiagentes, como o racioc?nio sem?ntico para realizar infer?ncias e mecanismos de verifica??o. Mas a principal vantagem ? a linguagem de especifica??o unificada de alto n?vel (conhecimento) que permite modelar as tr?s dimens?es que est?o unidas em JaCaMo para que as especifica??es dos sistemas possam ser melhor comunicadas entre equipes em desenvolvimento. As avalia??es dessas propostas indicam que elas contribuem com os diferentes aspectos da engenharia de software orientada a agentes, como a especifica??o, verifica??o e programa??o desses sistemas. / Model-driven engineering provides abstractions and notations for improving the understanding and for supporting the modelling, coding, and verification of applications for specific domains. Ontologies, on the other hand, provide formal and explicit definitions of shared conceptualisations and enable the use of semantic reasoning. Although these areas have been developed by different communities, important synergies can be achieved when both are combined. These advantages can be explored in the development of multi-agent systems, given their complexity and the need for integrating several components that are often addressed from different angles. This work investigates how to apply ontologies for agentoriented software engineering. Initially, we present a new modelling approach where multiagent systems are designed using the proposed OntoMAS ontology. Then, we describe techniques, implemented in a tool, to help programmers bring their concepts into code and also generate code automatically from instantiated ontology models. Several advantages can be obtained from these new approaches to model and code multi-agent systems, such as semantic reasoning to carry out inferences and verification mechanisms. But the main advantage is the unified high (knowledge) level specification language that allows modelling the three dimensions that are united in the JaCaMo framework so that systems specifications can be better communicated across developing teams. The evaluations of these proposals indicate that they contribute with the different aspects of agent-oriented software engineering, such as the specification, verification, and programming of these systems.
|
43 |
Une méthode fondée sur les modèles pour gérer les propriétés temporelles des systèmes à composants logiciels / Design and implementation of a model driven design methodology for trusted realtime componentNguyen, Viet Hoa 15 October 2013 (has links)
Cette thèse propose une approche pour intégrer l'utilisation des propriétés temporisées stochastiques dans un processus continu de design fondé sur des modèles à l'exécution. La spécification temporelle de services est un aspect important des architectures à base de composants, par exemple dans des réseaux distribués volatiles de nœuds informatiques. L'approche models@runtime facilite la gestion de ces architectures en maintenant des modèles abstraits des architectures synchronisés avec la structure physique de la plate-forme d'exécution distribuée. Pour les systèmes auto-adaptatifs, la prédiction de délais et de débit d'un assemblage de composants est primordial pour prendre la décision d'adaptation et accepter les évolutions qui sont conformes aux spécifications temporelles. Dans ce but, nous définissons une extension du métamodèle fondée sur les réseaux de Petri stochastiques comme un modèle temporisé interne pour la prédiction. Nous concevons une bibliothèque de patrons pour faciliter la spécification et la prédiction des propriétés temporisées classiques de modèles à l'exécution et rendre la synchronisation des comportements et des changements structurels plus facile. D'autre part, nous appliquons l'approche de la modélisation par aspects pour tisser les modèles temporisés internes dans les modèles temporisés de comportement du composant et du système. Notre moteur de prédiction est suffisamment rapide pour effectuer la prédiction à l'exécution dans un cadre réaliste et valider des modèles à l'exécution. / This thesis proposes an approach to integrate the use of time-related stochastic properties in a continuous design process based on models at runtime. Time-related specification of services are an important aspect of component-based architectures, for instance in distributed, volatile networks of computer nodes. The models at runtime approach eases the management of such architectures by maintaining abstract models of architectures synchronized with the physical, distributed execution platform. For self-adapting systems, prediction of delays and throughput of a component assembly is of utmost importance to take adaptation decision and accept evolutions that conform to the specifications. To this aim we define a metamodel extension based on stochastic Petri nets as an internal time model for prediction. We design a library of patterns to ease the specification and prediction of common time properties of models at runtime and make the synchronization of behaviors and structural changes easier. Furthermore, we apply the approach of Aspect-Oriented Modeling to weave the internal time models into timed behavior models of the component and the system. Our prediction engine is fast enough to perform prediction at runtime in a realistic setting and validate models at runtime.
|
44 |
Workflows conceptuels / Conceptual workflowsCerezo, Nadia 20 December 2013 (has links)
Les workflows sont de plus en plus souvent adoptés pour la modélisation de simulations scientifiques de grande échelle, aussi bien en matière de données que de calculs. Ils profitent de l'abondance de sources de données et infrastructures de calcul distribuées. Néanmoins, la plupart des formalismes de workflows scientifiques restent difficiles à exploiter pour des utilisateurs n'ayant pas une grande expertise de l'algorithmique distribuée, car ces formalismes mélangent les processus scientifiques qu'ils modélisent avec les implémentations. Ainsi, ils ne permettent pas de distinguer entre les objectifs et les méthodes, ni de repérer les particularités d'une implémentation ou de l'infrastructure sous-jacente. Le but de ce travail est d'améliorer l'accessibilité aux workflows scientifiques et de faciliter leur création et leur réutilisation. Pour ce faire, nous proposons d'élever le niveau d'abstraction, de mettre en valeur l'expérience scientifique plutôt que les aspects techniques, de séparer les considérations fonctionnelles et non-fonctionnelles et de tirer profit des connaissances et du savoir-faire du domaine.Les principales contributions de ce travail sont : (i) un modèle de workflows scientifiques à structure flexible, sémantique et multi-niveaux appelé "Conceptual Workflow Model", qui permet aux utilisateurs de construire des simulations indépendamment de leur implémentation afin de se concentrer sur les objectifs et les méthodes scientifiques; et (ii) un processus de transformation assisté par ordinateur pour aider les utilisateurs à convertir leurs modèles de simulation de haut niveau en workflows qui peuvent être délégués à des systèmes externes pour exécution. / Workflows are increasingly adopted to describe large-scale data- and compute-intensive scientific simulations which leverage the wealth of distributed data sources and computing infrastructures. Nonetheless, most scientific workflow formalisms remain difficult to exploit for scientists who are neither experts nor enthusiasts of distributed computing, because they mix the scientific processes they model with their implementations, blurring the lines between what is done and how it is done, as well as between what is and what is not infrastructure-dependent. Our objective is to improve scientific workflow accessibility and ease scientific workflow design and reuse, by elevating the abstraction level, emphasizing the scientific experiment over technicalities, ensuring proper separation between functional and non-functional concerns and leveraging domain knowledge and know-how. The main contributions of this work are: (i) a multi-level structurally flexible semantic scientific workflow model, called the Conceptual Workflow Model, which lets users design simulations at a computation-independent level and focus on domain goals and methods; and (ii) a computer-assisted Transformation Process relying on knowledge engineering technologies to help users transform their high-level simulation models into executable workflow artifacts which can be delegated to third-party frameworks for enactment.
|
45 |
Uma proposta de formalismo como arcabouço teórico para engenharia dirigida por modelos e aplicações. / A proposal of a formalism as a theoretical framework for Model Driven Engineering and Applications.Sergio Roberto de Mello Canovas 02 September 2016 (has links)
Engenharia Dirigida por Modelos, ou Model Driven Engineering (MDE), é uma abordagem para desenvolvimento de software a partir de modelos. Código-fonte ou artefatos executáveis são gerados de forma automática, total ou parcialmente, a partir de transformações descritas por funções de mapeamento. Com isso, obtém-se as vantagens de desenvolver software em nível de abstração maior em relação às linguagens de programação tradicionais e da possibilidade de gerar implementações do mesmo sistema para diversas plataformas a partir do mesmo modelo. Uma das áreas de pesquisa da MDE é a formalização de teorias e conceitos relacionados a essa abordagem, tais como modelos, metamodelos, relação de conformidade, operações sobre metamodelos, etc. Embora existam na literatura propostas de formalização, observam-se lacunas e falta de consenso geral, o que leva autores a introduzir suas próprias definições quando desejam apresentar desenvolvimentos ou deduções, as quais nem sempre se encaixam entre si. Alguns autores consideram que, enquanto uma completa formalização de conceitos e relações da MDE não for estabelecida, seus potenciais podem não ser plenamente atingidos. A partir de estudos de proposições existentes na literatura, identificação de lacunas e necessidades, este trabalho apresenta uma proposta de arcabouço teórico para MDE, baseada nas teorias de conjuntos e linguagens, e em lógica de primeira ordem. Conceitos e operações relacionados à MDE são definidos sobre uma base comum e, a partir dela, algumas formulações originais são desenvolvidas, tais como a função de mesclagem de metamodelos e uma definição de modelos executáveis, que podem servir como base para a construção de motores de execução de modelos, consolidando e ampliando o conhecimento da área teórica da MDE. Do ponto de vista de aplicabilidade prática, a proposta é validada por meio de uma ferramenta de prova de conceito, criada também como parte desta pesquisa, e pela apresentação de exemplos de aplicações. / Model Driven Engineering (MDE) is a software development approach in which models are essential artifacts to build software systems. Source code or executable artifacts are automatically generated, completely or partially, by transformations described by mapping functions. Two main advantages can be obtained: software development in a higher level of abstraction than that of traditional programming languages and the possibility of generating implementations of the same system for multiple platforms from the same source model. One of the research fields of MDE is the formalization of theories and concepts related to this approach, such as models, metamodels, conformity relationship, operations over metamodels, etc. Although there are proposals of formalization in the literature, some gaps and a lack of general consensus can be identified, which leads some authors to introduce their own definitions when they want to present their work. These definitions not always fit to each other. Some authors claim that unless a complete formalization of MDE concepts and relations is given, the potentials of this approach may not be fully unfolded. Starting from studies on existing proposals, gaps and requirements, this work proposes a theoretical framework for MDE based on the set theory, language theory and first order logic. Concepts and operations related to MDE are defined over a common basis and some original formulations are developed, such as the metamodel merging function and definitions about executable models, which can be used as a foundation to build model execution engines, consolidating and expanding the theoretical field of MDE. From the applicability point of view, the proposal is validated by a proof-of-concept tool, created as part of this research, and by examples of applications.
|
46 |
Modèles, méthodes et outils pour les systèmes répartis multiéchelles / Models, methods and tools for multiscale distributed systemsRottenberg, Sam 27 April 2015 (has links)
Les systèmes informatiques sont des systèmes de plus en plus complexes, répartis sur plusieurs niveaux d’infrastructures des Technologies de l’Information et de la Communication (TIC). Ces systèmes sont parfois appelés des systèmes répartis multiéchelles. Le terme « multiéchelle » peut qualifier des systèmes répartis extrêmement variés suivant les points de vue dans lesquels ils sont caractérisés, comme la dispersion géographique des entités, la nature des équipements qui les hébergent, les réseaux sur lesquels elles sont déployées, ou encore l’organisation des utilisateurs. Pour une entité d’un système multiéchelle, les technologies de communication, les propriétés non fonctionnelles (en termes de persistance ou de sécurité), ou les architectures à favoriser, varient suivant la caractérisation multiéchelle pertinente définie ainsi que l’échelle à laquelle est associée l’entité. De plus, des architectures ad hoc de tels systèmes complexes sont coûteuses et peu durables. Dans cette thèse, nous proposons un framework de caractérisation multiéchelle, appelé MuSCa. Ce framework inclut un processus de caractérisation fondé sur les concepts de points de vue, dimensions et échelles, permettant de mettre en avant, pour chaque système complexe étudié, ses caractéristiques multiéchelles. Ces concepts constituent le cœur d’un métamodèle dédié. Le framework que nous proposons permet aux concepteurs de systèmes répartis multiéchelles de partager une taxonomie pour qualifier chaque système. Le résultat d’une caractérisation est un modèle à partir duquel le framework produit des artefacts logiciels qui apportent, à l’exécution, la conscience des échelles aux entités du système / Computer systems are becoming more and more complex. Most of them are distributed over several levels of Information and Communication Technology (ICT) infrastructures. These systems are sometimes referred to as multiscale systems. The word “multiscale” may qualify extremely various distributed systems according to the viewpoints in which they are characterized, such as the geographic dispersion of the entities, the nature of the hosting devices, the networks they are deployed on, or the users’ organization. For one entity of a multiscale system, communication technologies, non-functional properties (in terms of persistence or security) or architectures to be favored may vary depending on the relevant multiscale characterization defined for the system and on the scale associated to the entity. Moreover, ad hoc architectures of such complex systems are costly and non-sustainable. In this doctoral thesis, we propose a multiscale characterization framework, called MuSCa. The framework includes a characterization process based on the concepts of viewpoints, dimensions and scales, which enables to put to the fore the multiscale characteristics of each studied system. These concepts constitute the core of a dedicated metamodel. The proposed framework allows multiscale distributed systems designers to share a taxonomy for qualifying each system. The result of a characterization is a model from which the framework produces software artifacts that provide scale-awareness to the system’s entities at runtime
|
47 |
Modeling and verification in model-based software engineering : application to embedded systems / Modélisation et vérification dans l'ingénierie dirigée par les modèles : application aux systèmes embarquésBagnato, Alessandra 12 February 2013 (has links)
Les systèmes embarqués, y compris les dispositifs, l’intergiciel et le logiciel pour la création de sous-systèmes intelligents capables de gérer le contrôle d’appareils électroniques, font de plus en plus partie de nos vies quotidiennes : ils sont intégrés dans des infrastructures de base, (par exemple dans la gestion des routes et des chemins de fer) et sont désormais utilisés en tant que technologies-clés par des millions d'applications logicielles chaque jour. En outre, l'évolution rapide et continue des systèmes embarqués modernes a provoqué de nouveaux défis. Par exemple, la conception des processus complexes qui causent des retards dans le temps de commercialisation et la conséquente augmentation des coûts globaux. Ces systèmes sont plus enclins aux erreurs et par conséquence il devient prioritaire de fournir aux concepteurs des outils effectifs et efficaces pour les aider à surmonter les difficultés liées à la conception des systèmes globales, pour la vérification et pour la validation. Cette thèse est la définition et le développement d'une méthodologie de modélisation basée sur le profil de MARTE et sur le profil de SysML dans un contexte avionique, et orientée à la réutilisation des composantes logicielles et à leur vérification. Cette thèse vise à discuter et illustrer aussi l'efficacité d’une stratégie basée sur la combinaison d’UML, MARTE (Modeling and Analysis of Real Type and Embedded Systems) et des langages SysML sur des étapes différentes de la modélisation d'un système embarqué / Embedded Systems, including devices, middleware and software for the creation of intelligent sub-systems able of monitoring and controlling appliances, are more and more part of our world everyday lives; they are included in the basic infrastructure of society such as roads and railways and are key technologies used by millions of people every day. Moreover the continuous rapid evolution of modern embedded systems has given rise to new challenges: such as increasingly complex design processes that cause delays in time to market and cause escalation of overall design costs. Additionally, these systems are more prone to containing errors, and it becomes more relevant to provide designers with effective tools to aid them in overcoming the difficulties related to the overall system design, verification and validation. This thesis contributes to the definition and to the development of a model based methodology grounded on the OMG’s MARTE profile (Modeling and Analysis of Real Type and Embedded Systems) and on SysML profile to model requirements targeting an avionic case study, with a particular attention to the reuse of the modelled components and to the benefits of their verification. This thesis aims at discussing and illustrating the effectiveness of using a combination of UML, MARTE and SysML languages at the different steps of the embedded system modelling efforts and to provide within this thesis a set of methodological guidelines/steps and an approach to create design model, stores and verify them
|
48 |
Traceability and model management with executable and dynamic hierarchical megamodelsSeibel, Andreas January 2012 (has links)
Nowadays, model-driven engineering (MDE) promises to ease software development by decreasing the inherent complexity of classical software development. In order to deliver on this promise, MDE increases the level of abstraction and automation, through a consideration of domain-specific models (DSMs) and model operations (e.g. model transformations or code generations). DSMs conform to domain-specific modeling languages (DSMLs), which increase the level of abstraction, and model operations are first-class entities of software development because they increase the level of automation. Nevertheless, MDE has to deal with at least two new dimensions of complexity, which are basically caused by the increased linguistic and technological heterogeneity. The first dimension of complexity is setting up an MDE environment, an activity comprised of the implementation or selection of DSMLs and model operations. Setting up an MDE environment is both time-consuming and error-prone because of the implementation or adaptation of model operations. The second dimension of complexity is concerned with applying MDE for actual software development. Applying MDE is challenging because a collection of DSMs, which conform to potentially heterogeneous DSMLs, are required to completely specify a complex software system. A single DSML can only be used to describe a specific aspect of a software system at a certain level of abstraction and from a certain perspective. Additionally, DSMs are usually not independent but instead have inherent interdependencies, reflecting (partial) similar aspects of a software system at different levels of abstraction or from different perspectives. A subset of these dependencies are applications of various model operations, which are necessary to keep the degree of automation high. This becomes even worse when addressing the first dimension of complexity. Due to continuous changes, all kinds of dependencies, including the applications of model operations, must also be managed continuously. This comprises maintaining the existence of these dependencies and the appropriate (re-)application of model operations. The contribution of this thesis is an approach that combines traceability and model management to address the aforementioned challenges of configuring and applying MDE for software development. The approach is considered as a traceability approach because it supports capturing and automatically maintaining dependencies between DSMs. The approach is considered as a model management approach because it supports managing the automated (re-)application of heterogeneous model operations. In addition, the approach is considered as a comprehensive model management. Since the decomposition of model operations is encouraged to alleviate the first dimension of complexity, the subsequent composition of model operations is required to counteract their fragmentation. A significant portion of this thesis concerns itself with providing a method for the specification of decoupled yet still highly cohesive complex compositions of heterogeneous model operations. The approach supports two different kinds of compositions - data-flow compositions and context compositions. Data-flow composition is used to define a network of heterogeneous model operations coupled by sharing input and output DSMs alone. Context composition is related to a concept used in declarative model transformation approaches to compose individual model transformation rules (units) at any level of detail. In this thesis, context composition provides the ability to use a collection of dependencies as context for the composition of other dependencies, including model operations. In addition, the actual implementation of model operations, which are going to be composed, do not need to implement any composition concerns. The approach is realized by means of a formalism called an executable and dynamic hierarchical megamodel, based on the original idea of megamodels. This formalism supports specifying compositions of dependencies (traceability and model operations). On top of this formalism, traceability is realized by means of a localization concept, and model management by means of an execution concept. / Die modellgetriebene Softwareentwicklung (MDE) verspricht heutzutage, durch das Verringern der inhärenten Komplexität der klassischen Softwareentwicklung, das Entwickeln von Software zu vereinfachen. Um dies zu erreichen, erhöht MDE das Abstraktions- und Automationsniveau durch die Einbindung domänenspezifischer Modelle (DSMs) und Modelloperationen (z.B. Modelltransformationen oder Codegenerierungen). DSMs sind konform zu domänenspezifischen Modellierungssprachen (DSMLs), die dazu dienen das Abstraktionsniveau der Softwareentwicklung zu erhöhen. Modelloperationen sind essentiell für die Softwareentwicklung da diese den Grad der Automatisierung erhöhen. Dennoch muss MDE mit Komplexitätsdimensionen umgehen die sich grundsätzlich aus der erhöhten sprachlichen und technologischen Heterogenität ergeben. Die erste Komplexitätsdimension ist das Konfigurieren einer Umgebung für MDE. Diese Aktivität setzt sich aus der Implementierung und Selektion von DSMLs sowie Modelloperationen zusammen. Eine solche Aktivität ist gerade durch die Implementierung und Anpassung von Modelloperationen zeitintensiv sowie fehleranfällig. Die zweite Komplexitätsdimension hängt mit der Anwendung von MDE für die eigentliche Softwareentwicklung zusammen. Das Anwenden von MDE ist eine Herausforderung weil eine Menge von heterogenen DSMs, die unterschiedlichen DSMLs unterliegen, erforderlich sind um ein komplexes Softwaresystem zu spezifizieren. Individuelle DSMLs werden verwendet um spezifische Aspekte eines Softwaresystems auf bestimmten Abstraktionsniveaus und aus bestimmten Perspektiven zu beschreiben. Hinzu kommt, dass DSMs sowie DSMLs grundsätzlich nicht unabhängig sind, sondern inhärente Abhängigkeiten besitzen. Diese Abhängigkeiten reflektieren äquivalente Aspekte eines Softwaresystems. Eine Teilmenge dieser Abhängigkeiten reflektieren Anwendungen diverser Modelloperationen, die notwendig sind um den Grad der Automatisierung hoch zu halten. Dies wird erschwert wenn man die erste Komplexitätsdimension hinzuzieht. Aufgrund kontinuierlicher Änderungen der DSMs, müssen alle Arten von Abhängigkeiten, inklusive die Anwendung von Modelloperationen, kontinuierlich verwaltet werden. Dies beinhaltet die Wartung dieser Abhängigkeiten und das sachgerechte (wiederholte) Anwenden von Modelloperationen. Der Beitrag dieser Arbeit ist ein Ansatz, der die Bereiche Traceability und Model Management vereint. Das Erfassen und die automatische Verwaltung von Abhängigkeiten zwischen DSMs unterstützt Traceability, während das (automatische) wiederholte Anwenden von heterogenen Modelloperationen Model Management ermöglicht. Dadurch werden die zuvor erwähnten Herausforderungen der Konfiguration und Anwendung von MDE überwunden. Die negativen Auswirkungen der ersten Komplexitätsdimension können gelindert werden indem Modelloperationen in atomare Einheiten zerlegt werden. Um der implizierten Fragmentierung entgegenzuwirken, erfordert dies allerdings eine nachfolgende Komposition der Modelloperationen. Der Ansatz wird als erweitertes Model Management betrachtet, da ein signifikanter Anteil dieser Arbeit die Kompositionen von heterogenen Modelloperationen behandelt. Unterstützt werden zwei unterschiedliche Arten von Kompositionen. Datenfluss-Kompositionen werden verwendet, um Netzwerke von heterogenen Modelloperationen zu beschreiben, die nur durch das Teilen von Ein- und Ausgabe DSMs komponiert werden. Kontext-Kompositionen bedienen sich eines Konzepts, das von deklarativen Modelltransformationen bekannt ist. Dies ermöglicht die Komposition von unabhängigen Transformationsregeln auf unterschiedlichsten Detailebenen. Die in dieser Arbeit eingeführten Kontext-Kompositionen bieten die Möglichkeit eine Menge von unterschiedlichsten Abhängigkeiten als Kontext für eine Komposition zu verwenden -- unabhängig davon ob diese Abhängigkeit eine Modelloperation repräsentiert. Zusätzlich müssen die Modelloperationen, die komponiert werden, selber keine Kompositionsaspekte implementieren, was deren Wiederverwendbarkeit erhöht. Realisiert wird dieser Ansatz durch einen Formalismus der Executable and Dynamic Hierarchical Megamodel genannt wird und auf der originalen Idee der Megamodelle basiert. Auf Basis dieses Formalismus' sind die Konzepte Traceability (hier Localization) und Model Management (hier Execution) umgesetzt.
|
49 |
User Interface Test Automation and its Challenges in an Industrial ScenarioPradhan, Ligaj January 2012 (has links)
The growing demand for UI test automation has triggered the development of many tools. Researchers and developers have been continuously working to further improvise the existing approaches. If we look at GUI test evolution we can observe a clear progress from manual testing towards complete automation. Numerous approaches have been made to automate the GUI testing process. Record and playback tools, key-word driven methodologies, event flow exploration strategies, model based approaches are continuously evolving with higher level of automation. Similarly, new ideas and strategies to make these tests efficient are also emerging. Optimization of this resource consuming activity is another very important aspect in this area. Dependencies between different tests can create deadlock scenarios, while running larger test suites. A concept of Ordered Test Suite can be used to cope with such dependencies. Following the Model Driven Architecture initiative by Object Management Group, a new global trend of Model Driven Engineering is creating a big sensation in the field of model based software development. Using the same principle, studies have also been made to automatically generate tests from models. Behavioral models can be made using the model driven approaches and these models can be analyzed to generate tests automatically. This master thesis addresses different approaches made for Graphical User Interface test automation, some optimization issues and solutions, a case study done at a software company to automate User Interface testing and a model driven approach for automatic test case generation.
|
50 |
Model-based Code Generation For The High Level Architecture FederatesAdak, Bulent Mehmet 01 December 2007 (has links) (PDF)
We tackle the problem of automated code generation for a High Level Architecture (HLA)-
compliant federate application, given a model of the federation architecture including the
federate&rsquo / s behavior model. The behavior model is based on Live Sequence Charts (LSCs),
adopted as the behavioral specification formalism in the Federation Architecture Metamodel
(FAMM). The FAMM is constructed conforming to metaGME, the meta-metamodel offered
by Generic Modeling Environment (GME). FAMM serves as a formal language for
describing federation architectures. We present a code generator that generates Java/AspectJ
code directly from a federation architecture model. An objective is to help verify a federation
architecture by testing it early in the development lifecycle. Another objective is to help
developers construct complete federate applications. Our approach to achieve these
objectives is aspect-oriented in that the code generated from the LSC in conjunction with the
Federation Object Model (FOM) serves as the base code on which the computation logic is
weaved as an aspect.
|
Page generated in 0.2806 seconds