Automatic Model Transformation from UML Sequence Diagrams to Coloured Petri Nets

João António Custódio Soares, Bruno Lima, João Pascoal Faria · 2018

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�\xA7ão. A terceira secçã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.

Read the paper · More papers on PaperTik