7 research outputs found

    Automated Verification by Declarative Description of Graph Rewriting-Based Model Transformations

    Get PDF
    Usually, verification of graph rewriting-based model transformations is performed manually, however, the industrial applications require automated methods. In several cases, transformation developers are interested in the offline analysis, when only the definition of the transformation and the specification of the modeling languages are taken into account. Hence, the analysis must be performed only once, and the results are independent from the concrete input models. For this purpose, transformations should be specified in a formalism that can be automatically analyzed. Based on our previous work that presented the mathematical background, this paper provides a platform-independent, declarative formalism for the specification of graph rewriting-based model transformations, and demonstrates its applicability on a case study of refactoring mobile-based social network models. Our results prove that several functional properties of the model transformations can be automatically verified, moreover, the capabilities of our methods can be extended in the future

    PTL: A Model Transformation Language based on Logic Programming

    Get PDF
    In this paper we present a model transformation language based on logic programming. The language, called PTL (Prolog based Transformation Language), can be considered as a hybrid language in which ATL (Atlas Transformation Language)-style rules are combined with logic rules for defining transformations. ATL-style rules are used to define mappings from source models to target models while logic rules are used as helpers. The implementation of PTL is based on the encoding of the ATL-style rules by Prolog rules. Thus, PTL makes use of Prolog as a transformation engine. We have provided a declarative semantics to PTL and proved the semantics equivalent to the encoded program. We have studied an encoding of OCL (Object Constraint Language) with Prolog goals in order to map ATL to PTL. Thus a subset of PTL can be considered equivalent to a subset of ATL. The proposed language can be also used for model validation, that is, for checking constraints on models and transformations. We have equipped our language with debugging and tracing capabilities which help developers to detect programming errors in PTL rules. Additionally, we have developed an Eclipse plugin for editing PTL programs, as well as for debugging, tracing and validation. Finally, we have evaluated the language with several transformation examples as well as tested the performance with large models

    Formalization and Rule-Based Transformation of EMF Ecore-Based Models

    No full text
    Abstract. With models becoming a common-place in software and systems development, the support of automatic transformations of those models is an important asset to increase the efficiency and improve the quality of the development process. However, the definition of transformations still is quite complex. Several approaches – from more imperative to more declarative styles – have been introduced to support the definition of such transformations. Here, we show how a completely declarative relational style based on the interpretation of a model as single structured term can be used to provide a transformation mechanism allowing a simple, precise, and modular specification of transformations for the EMF Ecore platform, using a Prolog rule-based mechanism.

    Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets

    Get PDF
    A dependência da sociedade em sistemas de software cada vez mais complexos torna a tarefa de testar e validar estes sistemas cada vez mais importante e desafiante. Em vários casos, múltiplos sistemas independentes e heterogéneos formam um sistema de sistemas responsável por providenciar serviços aos utilizadores e as ferramentas e técnicas atuais de automação de testes aos mesmos oferecem pouco suporte e apoio para para o desempenho desta tarefa.Este trabalho está inserido num projeto de maior escala que tem como objetivo produzir uma ferramenta de Model-based Testing que automatizará o processo de teste de sistemas distribuídos, a partir de diagramas de sequência UML. Estes diagramas definem graficamente a interação entre os diferentes módulos de um sistema e os seus atores de uma forma sequencial, facilitando a compreensão do funcionamento do sistema e possibilitando a definição de secções críticas dos sistemas distribuídos como situações de concorrência e paralelismo. Esta dissertação pretende desenvolver um dos componentes deste projeto que terá como objetivo a conversão dos diagramas descritivos do sistema em Petri Nets. Petri Nets são um formalismo de modelação que é indicado para descrição de sistemas distribuídos pela sua capacidade de definição de tarefas de comunicação e de sincronização, e pela possibilidade de execução usando ferramentas como CPN Tools.O objetivo será a definição de regras de tradução Model-to-Model que permitirão a conversão de modelos, de modo a possibilitar a integração com o sistema desejado, tirando partido de frameworks existentes de transformação de modelos (por exemplo, EMF - Eclipse Modeling Framework). Com isto conseguimos esconder a complexidade da análise do sistema ao utilizador (Software Tester) introduzindo automação, geração e execução de testes a partir dos diagramas de casos de teste, e apresentando os resultados (Erros e Cobertura de Código) visualmente.Este documento está dividido em quatro secções. A primeira secção apresenta o contexto e motivação para a dissertação e define o problema e objetivos. A segunda secção consiste no resumo dos conceitos necessários à compreensão da dissertação, o estado da arte dos estudos neste domínio e análise das ferramentas para implementar a solução. A terceira sec�\xA7ão explica a arquitetura e as escolhas tecnológicas para a solução proposta. Finalmente, a última secção explica as conclusões para este estudo e define o plano para trabalho futuro.The dependence of our society on ever more complex software systems makes the task of testing and validating this software increasingly important and challenging. In many cases, multiple independent and heterogeneous systems form a system of systems responsible for providing services to users, and the current testing automation tools and techniques provide little support for the performance of this task.This dissertation is part of a larger scale project that aims to produce a Model-based Testing tool that will automate the process of testing distributed systems, from UML sequence diagrams. These diagrams graphically define the interaction between the different modules of a system and its actors in a sequential way, facilitating the understanding of the system's operation and allowing the definition of critical sections of distributed systems such as situations of concurrency and parallelism.This dissertation intends to develop one of the components of this project that will be in charge of the conversion of the descriptive diagrams of the system in Petri Nets. Petri Nets are a modeling formalism that is indicated for describing distributed systems by their ability to define communication and synchronization tasks, and by the possibility of executing them in runtime using tools such as CPN Tools.The objective will be to define Model-to-Model translation rules that will allow the conversion of models, in order to allow integration with the target system, taking advantage of existing model transformation frameworks (e.g. EMF - Eclipse Modeling Framework). With this, we have been able to hide the complexity of the system analysis to the user (Software Tester) introducing the possibility of automation, generation and execution of tests from the diagrams of test cases, and presenting the results (Errors and Code Coverage) visually.This document is divided in four sections. The first section introduces the context and motivation for the dissertation and defines the problem and goals. The second section consists in the summarization of concepts required to understand this dissertation, the state of the art of studies in this domain and an analysis of the tools to implement the solution. The third section explains the architecture and technological choices for the proposed solution. Finally, the last section explains the conclusions for this study and defines the future work plan

    Programming Robots for Activities of Everyday Life

    Get PDF
    Text-based programming remains a challenge to novice programmers in\ua0all programming domains including robotics. The use of robots is gainingconsiderable traction in several domains since robots are capable of assisting\ua0humans in repetitive and hazardous tasks. In the near future, robots willbe used in tasks of everyday life in homes, hotels, airports, museums, etc.\ua0However, robotic missions have been either predefined or programmed usinglow-level APIs, making mission specification task-specific and error-prone.\ua0To harness the full potential of robots, it must be possible to define missionsfor specific applications domains as needed. The specification of missions of\ua0robotic applications should be performed via easy-to-use, accessible ways, and\ua0at the same time, be accurate, and unambiguous. Simplicity and flexibility in\ua0programming such robots are important, since end-users come from diverse\ua0domains, not necessarily with suffcient programming knowledge.The main objective of this licentiate thesis is to empirically understand the\ua0state-of-the-art in languages and tools used for specifying robot missions byend-users. The findings will form the basis for interventions in developing\ua0future languages for end-user robot programming.During the empirical study, DSLs for robot mission specification were\ua0analyzed through published literature, their websites, user manuals, samplemissions and using the languages to specify missions for supported robots.After extracting data from 30 environments, 133 features were identified.\ua0A feature matrix mapping the features to the environments was developedwith a feature model for robotic mission specification DSLs.Our results show that most end-user facing environments exist in the\ua0education domain for teaching novice programmers and STEM subjects. Mostof the visual languages are developed using Blockly and Scratch libraries.\ua0The end-user domain abstraction needs more work since most of the visualenvironments abstract robotic and programming language concepts but not\ua0end-user concepts. In future works, it is important to focus on the development\ua0of reusable libraries for end-user concepts; and further, explore how end-user\ua0facing environments can be adapted for novice programmers to learn\ua0general programming skills and robot programming in low resource settings\ua0in developing countries, like Uganda
    corecore