Spelling suggestions: "subject:"model deriven"" "subject:"model dcdriven""
171 |
Uma abordagem para criação, reúso e aplicação de refatorações no contexto da modernização dirigida a arquitetura / An approach to create, reuse and apply refactoring in the context of architecture driven modernizationDurelli, Rafael Serapilha 12 April 2016 (has links)
A Modernização Dirigida a Arquitetura (do inglês - Architecture-Driven Modernization (ADM)) é uma iniciativa do Object Management Group (OMG) no sentido de padronizar os tradicionais processos de reengenharia de software utilizando metamodelos. O metamodelo mais importante da ADM é o Knowledge Discovery Metamodel (KDM), cujo objetivo é representar todos artefatos de um determinado sistema, de forma independente de linguagem e plataforma. Um passo primordial durante processos de modernização de software é a aplicação de refatorações. No entanto, até o presente momento, há carência de abordagens que tratam das questões referentes a refatorações no contexto da ADM, desde a criação até a aplicação das mesmas. Além disso, atualmente, não existe uma forma sistemática e controlada de facilitar o reúso de refatorações que são específicas do KDM. Diante disso, são apresentados uma abordagem para criação e disponibilização de refatorações para o metamodelo KDM e um apoio ferramental que permite aplicá-las em diagramas de classe da UML. A abordagem possui dois passos: (i) o primeiro envolve passos que apoiam o engenheiro de modernização durante a criação de refatorações para o KDM; (ii) o segundo resume-se na especificação das refatorações por meio da criação de instâncias do metamodelo Structured Refactoring Metamodel (SRM) e posterior disponibilização delas em um repositório. O apoio ferramental, denominado KDM-RE, é composto por três plug-ins do Eclipse: (i) o primeiro consiste em um conjunto de Wizards que apoia o engenheiro de software na aplicação das refatorações em diagramas de classe UML; (ii) o segundo consiste em um módulo de propagação de mudanças, permitindo manter modelos internos do KDM sincronizados; (iii) o terceiro fornece apoio à importação e reúso de refatorações disponíveis no repositório. Além disso, o terceiro módulo também contém uma linguagem específica de domínio, a qual é utilizada para auxiliar o engenheiro de software a instanciar o metamodelo SRM. Foi realizado um experimento, buscando reproduzir os cenários em que engenheiros de software realizam refatorações em instâncias do metamodelo KDM. Os resultados mostraram que a abordagem, bem como o apoio ferramental podem trazer benefícios para o engenheiro de software durante a atividade de aplicação de refatorações em sistemas, representados pelo metamodelo KDM. / Architecture Driven Modernization (ADM) is an initiative of the Object Management Group (OMG) whose main purpose is to provide standard metamodels that enable the conduction of modernization activities as reverse engineering and software transformation. In this context, the most important metamodel is the Knowledge Discovery Metamodel (KDM), whose objective is to represent software artifacts in a language- and platform-agnostic fashion. A fundamental step during software modernization is refactoring. However, there is a lack of approaches that address how refactoring can be applied in conjunction with ADM. In addition, few efforts have investigated how refactorings can be reused and systematically applied within the context of KDM representations. We propose an approach for creating and cataloging refactorings tailored to KDM. Our approach is twofold: (i) the first part comprises steps that help the software modernization engineer create KDM-compliant refactorings; (ii) the second part has to do with turning these refactoring descriptions into Structured Refactoring Metamodel (SRM) and making them available to be reused. To automate these activities, we developed a tool that makes it possible to apply refactorings to Unified Modeling Language (UML) class diagrams. Our tool, named KDM-RE, comprises three Eclipse plug-ins, which can be briefly described as follows: (i) a set of Wizards aimed at supporting the software modernization engineer during refactoring activities; (ii) a change propagation module that keeps the internal metamodels synchronized; and (iii) a plug-in that supports the selection and reuse of the refactorings available in the repository. Moreover, we developed a domain specific language to minimize the effort required to instantiate SRMs. We carried out an evaluation that simulates how software modernization engineers would go about refactoring KDM instances. Our results would seem to suggest that our approach, when automated by our tool, provides several advantages to software modernization engineers refactoring systems represented by KDMs.
|
172 |
Uma abordagem de desenvolvimento de linha de produtos orientada a modelos para a construção de famílias de sistemas embarcados críticos / A model-driven product line development approach to build safety-critical embedded familiesQueiroz, Paulo Gabriel Gadelha 20 January 2015 (has links)
Sistemas embarcados críticos (SEC) correspondem aos sistemas embarcados para aplicações críticas, que são aplicações nas quais falhas podem por vidas em perigo. A crescente imersão deste tipo de sistema em nossas atividades cotidianas aumentou sua demanda, e consequentemente, a necessidade por novas técnicas de desenvolvimento que possam aumentar a produtividade dos desenvolvedores. Linha de produtos (LP) é uma técnica de reúso, na qual famílias de produtos similares são desenvolvidos em conjunto, e portanto, objetiva-se o desenvolvimento em larga escala. Com a utilização de LP, pode-se reusar requisitos e arquitetura de forma sistemática. Entretanto, o reúso no domínio de sistemas embarcados críticos ainda é visto de forma cética. Por outro lado, o domínio de SEC tem obtido avanços de desenvolvimento por meio de técnicas orientadas a modelo. A Engenharia orientada a modelos (MDE) concentra-se na importância de modelos no ciclo de vida do sistema, tornando-os parte do produto final. Assim, mantêm-se os modelos simples, e a maioria da complexidade do software passa a pertencer às transformações, que podem ser obtidas automaticamente por motores de transformação. Isso ajuda a aumentar a qualidade do produto final, bem como facilitar a futura evolução do software, que poderá ser feita mudando-se os modelos de alto nível e obtendo-se, de forma automática, o novo produto. MDE é particularmente útil no domínio de SEC, pois a partir de modelos corretos do problema, a chance de introdução de erros durante a codificação é menor se geradores de aplicações forem utilizados em vez de codificação manual. Além disso, o aumento no nível de abstração proporcionado pelo MDE permite que técnicas de validação e verificação sejam usadas desde os estágios iniciais de desenvolvimento, tais como co-design e co-simulação. Portanto, este trabalho visa defender a tese de que é possível oferecer os benefícios do desenvolvimento em larga escala para o domínio de SEC e ainda continuar se beneficiando de técnicas de MDE. Para corroborar esta tese, define-se uma abordagem de desenvolvimento de linha de produtos de sistema com uso de técnicas de engenharia orientada a modelos para o desenvolvimento de famílias de sistemas embarcados críticos. Além disso, apresenta-se um estudo de caso de marca-passo elaborado segundo as indicações da abordagem proposta que indicam a viabilidade de sua utilização. / Safety-critical embedded systems (SCES) correspond to embedded systems for critical applications, i.e., applications where lives can be lost if they fail. The increasing immersion of this type of system in our daily activities increased their demand and, consequently, the need for new development techniques that can increase developers productivity. Product Line (LP) is a promising technique for reuse, in which families of similar products are developed together and, therefore, it aims at large-scale development. With the use of LP we can reuse requirements and architecture systematically. However, developers remain sceptical about reuse in the SCES domain, mainly due to problems in the past, such as the failure of the spacecraft Ariane 5. In addition, advances in development of techniques for the SEC domain have been obtained, for example through model-driven engineering (MDE) approaches. MDE focuses on the importance of models in the software life cycle, making them part of the final product. So, it keeps models simple, and most of the software complexity belongs to the transformations that can be obtained automatically by transformation engines. This helps increasing the quality of the final product, and facilitate the future development of software that can be done by changing the high level models and obtaining, automatically, the new product. MDE is particularly useful in the SCES domain because, from correct models of the problem, the chance of introducing errors during coding is smaller if generators are used in the development instead of manual coding. In addition, the increased level of abstraction provided by MDE allows the use of validation and verification techniques since the early stages of development, such as co-design and co-simulation. Therefore, this work aims to defend the thesis that it is possible to offer the benefits of large-scale development for the SCES domain and still continue to benefit from MDE techniques. In support of this thesis, we define a system product line approach using model-driven techniques for the development of safety-critical embedded families. In addition, we present a case study prepared according to the directions of approach.
|
173 |
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.Canovas, Sergio Roberto de Mello 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.
|
174 |
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.
|
175 |
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.
|
176 |
Sam : un environnement d'exécution pour les applications à services dynamiques et hétérogènes / Sam : an execution environment for the apllications based on dynamic and heterogeneous services.Simon, Eric 07 March 2011 (has links)
Ces dernières années, le contexte d'exécution des applications a beaucoup évolué. Nous sommes passés, en moins de 15 ans, d'applications monolithiques et statiques faiblement distribuées à des applications réparties à grande échelle ayant un comportement très dynamique. Les plates-formes d'exécution qui étaient autrefois fermées sont désormais ouvertes à des équipements nomades et aux contextes des utilisateurs comme dans l'informatique ubiquitaire ou la domotique. Les éléments logiciels, dans ce nouveau contexte, peuvent apparaitre ou disparaître de façon imprédictible (ils sont dits « dynamiques ») et sont souvent issus de technologies hétérogènes (Web Service, OSGi, UPnP, etc.). Le caractère imprévisible de l'environnement, et le fait qu'il faille s'y adapter rend, apparemment, les plates-formes d'exécution non déterministes. Il est impératif de pouvoir maîtriser l'évolution des applications dynamiques. Cette thèse définit une plate-forme pour l'exécution répartie de services hétérogènes. Cette plate-forme fournit un modèle homogène de l'état des services à l'exécution et des opérations d'administration du cycle de vie d'un service, indépendamment des plates-formes réelles. Cette plate-forme fournit également des mécanismes qui permettent d'étendre la supervision et l'administration à d'autres préoccupations (déploiement, versionnement, etc.). Les propriétés d'introspection et de réflexion ainsi obtenues permettent de contrôler l'évolution à l'exécution de l'architecture d'une application et par là même de maîtriser les applications dynamiques. Cette thèse fournit un prototype d'une telle plate-forme nommée SAM-RT. / During recent years, the execution context of modern applications has evolved. We have moved, in less than 15 years, from monolithic and static applications that were weakly distributed to large-scale distributed applications with very dynamic behavior. The execution platforms, which were otherwise closed, are now open to mobile devices and to user's contexts as is the case with ubiquitous computing and home applications. Software units in this new context can appear and disappear very unpredictably (this iscalled dynamic behavior) and are often a series of heterogeneous technologies (e.g., Web Services, OSGi, UPnP). The unpredictability of the environment, and the fact that we must adapt to it, makes the execution platforms seem non-deterministic. It is imperative to control the evolution of dynamic applications. This dissertation defines an execution platform for the distributed execution of heterogeneous services. This platform provides a homogeneous model of the execution state of services and of the administration operations related to the lifecycle of a service, regardless of the underlying technologies. This platform also provides mechanisms to extend monitoring and administration to other concerns (e.g., deployment, versioning). The introspection and reflection properties provided are used to control the evolution of the application's architecture and thereby control dynamic behavior. This dissertation provides a prototype of such a platform named SAM-RT.
|
177 |
CoMDD: uma abordagem colaborativa para auxiliar o desenvolvimento orientado a modelos / CoMDD: a collaborative model driven development approachFernandes Neto, David 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
|
178 |
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.
|
179 |
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.
|
180 |
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.
|
Page generated in 0.0629 seconds