4 research outputs found

    Semantical Correctness and Completeness of Model Transformations using Graph and Rule Transformation: Long Version

    Get PDF
    An important requirement of model transformations is the preservation of the behavior of the original model. A model transformation is semantically correct if for each simulation run of the source system we find a corresponding simulation run in the target system. Analogously, we have semantical completeness, if for each simulation run of the target system we find a corresponding simulation run in the source system. In our framework of graph transformation, models are given by graphs, and graph transformation rules are used to define the operational behavior of visual models (called simulation rules). In order to compare the semantics of source and target models, we assume that in both cases operational behavior can be defined by simulation rules. The model transformation from source to target models is given by another set of graph transformation rules. These rules are also applied to the simulation rules of the source model. The result of this rule transformation is compared with the given simulation rules of the target language.The main result in this paper states the conditions for model and rule transformations to be semantically correct and complete. The result is applied to analyze the behavior of a model transformation from a domain-specific visual language for production systems to Petri nets

    Transformação assistida de modelos: mecanismo de suporte para o desenvolvimento de cyber-physical systems

    Get PDF
    Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2014O termo Cyber-Physical System representa um dispositivo eletrome-mecânico controlado por um sistema baseado em computador, exemplos deste tipo de sistema incluem robôs, aviões, redes inteligentes, entre outros. Devido a natureza multidisciplinar dos Cyber-Physical Systems, eles normalmente são projetados utilizando diferentes modelos. A perspectiva "cibernética" deste tipo de sistema pressupõe a existência de: (i) um modelo matemático que representa a dinâmica do sistema físico, (ii) algoritmos de controle, e (iii) um projeto do sistema computacional embarcado. Dentro deste contexto, esta tese de doutorado investiga uma forma de abordar adequadamente o projeto do sistema computacional embarcado de um Cyber-Physical System baseada na modelagem funcional do mesmo. Buscando evitar desta forma a criação de modelos funcionais e arquitetônicos dissociados, e além disso, promover uma abordagem de projeto dirigido por modelos, proporcionando benefícios como a independência de plataforma, níveis de abstração mais altos, e a reutilização de informações. Como resultado da pesquisa realizada, e apresentada uma solução que ajuda a realizar a transição do modelo funcional para o modelo de arquitetura de software durante o processo de desenvolvimento de um Cyber-Physical System. Para isso, é sugerido como relacionar elementos de um modelo funcional com elementos de um modelo de arquitetura. A solução proposta, chamada de "Transformação Assistida de Modelos (AST)", fornece suporte para a transformação de modelos Simulink utilizados para a modelagem funcional em modelos arquitetônicos expressos em AADL, e aumenta a confiabilidade de que os modelos funcional e arquitetural são consistentes entre si, uma vez que diminui ocorrência de erros de inconsistência de interface (portas, tipos de dados e conexões) entre os mesmos. A AST contribui portanto, com a implantação/integração de aplicativos vericados em arquiteturas validadas tornando o processode desenvolvimento de Cyber-Physical Systems mais robusto. Durante os experimentos, realizados na forma de estudos de caso, os modelos gerados pela AST mostraram-se passíveis de análises sintáticas, verificações comportamentais, e análises de escalonabilidade e de la-tência de fluxos, o que serviu para reforçar a escolha pelo de o uso de modelos AADL durante o processo de desenvolvimento de CPS. Também foi implementado no escopo desta pesquisa, o protótipo de uma ferramenta computacional que automatiza a aplicação da solução proposta. O protótipo foi implementado utilizando a linguagem de programação Java, e empacotado como um plugin para ser usado dentro do ambiente OSATE (Open Source Architectural Environment Tool ), que é um processador de modelos AADL que roda dentro do Eclipse. O plugin em questão, chamado de AS2T, também pode ser considerado uma alternativa para estender a cadeia de transformação de modelos do ambiente TOPCASED, que é um ambiente OpenSource para desenvolvimento de sistemas embarcados críticos que também faz uso do OSATE.Abstract: Cyber-Physical System (CPS) is a denomination used to represent an electro-mechanical device controlled by a computerized system. Examples of CPS include robots, airplanes, smart grids, among others. Due to the multidisciplinary nature of CPSs, they are normally de-signed using different models. The "cybernetic" perspective assumes the existence of: (i) a mathematical model that represents the dynamics of the physical system, (ii) some control algorithms, and (iii) a design of the embedded computing system. In this context, this thesis investigates a way to adequately address the design of the architecture embedded computing system of a CPS based on apreliminary functional model. Looking forward to avoid the creation of decoupled functional and architectural models and aiming to promote a model-based design approach for CPS, the proposed approach targets using higher levels of abstraction and model-information reuse. The solution presented in this thesis is named "Assisted Transformation of Models" (AST), it focuses on discussing how to related elements of a functional model with the elements of an architectural model. AST provides support for the transformation of the Simulink models used for the functional modeling into architectural models expressed in AADL. As benets of using the proposed solution, one can see that it increases the reliability that the functional and architectonical models are consistent between themselves, especially when considering the connection interfaces between components (ports and connections data types). Experiments were conducted to validate the proposed transformation process. The generated models were analyzed in respect to the syntax correctness and also regarding additional model analyses, such as behavioral verication and schedulability analysis. The work provides a prototype tool that automates the proposed transformation process. Such tool can be used as plugin from OSATE (Open Source Architectural Environment Tool), which is an AADL processor that runs within Eclipse. The AS2T plugin can be considered an alternative to extend the chain of transformation of models of the TOPCASED environment, which is an OpenSource development environment of critical embedded systems that makes use of OSATE

    Transformation by example

    Get PDF
    La transformation de modèles consiste à transformer un modèle source en un modèle cible conformément à des méta-modèles source et cible. Nous distinguons deux types de transformations. La première est exogène où les méta-modèles source et cible représentent des formalismes différents et où tous les éléments du modèle source sont transformés. Quand elle concerne un même formalisme, la transformation est endogène. Ce type de transformation nécessite généralement deux étapes : l’identification des éléments du modèle source à transformer, puis la transformation de ces éléments. Dans le cadre de cette thèse, nous proposons trois principales contributions liées à ces problèmes de transformation. La première contribution est l’automatisation des transformations des modèles. Nous proposons de considérer le problème de transformation comme un problème d'optimisation combinatoire où un modèle cible peut être automatiquement généré à partir d'un nombre réduit d'exemples de transformations. Cette première contribution peut être appliquée aux transformations exogènes ou endogènes (après la détection des éléments à transformer). La deuxième contribution est liée à la transformation endogène où les éléments à transformer du modèle source doivent être détectés. Nous proposons une approche pour la détection des défauts de conception comme étape préalable au refactoring. Cette approche est inspirée du principe de la détection des virus par le système immunitaire humain, appelée sélection négative. L’idée consiste à utiliser de bonnes pratiques d’implémentation pour détecter les parties du code à risque. La troisième contribution vise à tester un mécanisme de transformation en utilisant une fonction oracle pour détecter les erreurs. Nous avons adapté le mécanisme de sélection négative qui consiste à considérer comme une erreur toute déviation entre les traces de transformation à évaluer et une base d’exemples contenant des traces de transformation de bonne qualité. La fonction oracle calcule cette dissimilarité et les erreurs sont ordonnées selon ce score. Les différentes contributions ont été évaluées sur d’importants projets et les résultats obtenus montrent leurs efficacités.Model transformations take as input a source model and generate as output a target model. The source and target models conform to given meta-models. We distinguish between two transformation categories. Exogenous transformations are transformations between models expressed using different languages, and the whole source model is transformed. Endogenous transformations are transformations between models expressed in the same language. For endogenous transformations, two steps are needed: identifying the source model elements to transform and then applying the transformation on them. In this thesis, we propose three principal contributions. The first contribution aims to automate model transformations. The process is seen as an optimization problem where different transformation possibilities are evaluated and, for each possibility, a quality is associated depending on its conformity with a reference set of examples. This first contribution can be applied to exogenous as well as endogenous transformation (after determining the source model elements to transform). The second contribution is related precisely to the detection of elements concerned with endogenous transformations. In this context, we present a new technique for design defect detection. The detection is based on the notion that the more a code deviates from good practice, the more likely it is bad. Taking inspiration from artificial immune systems, we generate a set of detectors that characterize the ways in which a code can diverge from good practices. We then use these detectors to determine how far the code in the assessed systems deviates from normality. The third contribution concerns transformation mechanism testing. The proposed oracle function compares target test cases with a base of examples containing good quality transformation traces, and assigns a risk level based on the dissimilarity between the two. The traces help the tester understand the origin of an error. The three contributions are evaluated with real software projects and the obtained results confirm their efficiencies
    corecore