Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets

Abstract

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

    Similar works