Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/48023

TítuloGerador de código para uma Framework C++ a partir de diagramas de estado UML
Autor(es)Dias, Francisco Alberto de Castro e
Orientador(es)Lopes, Sérgio F.
Palavras-chaveUML
Geração de código
Framework FSM
XMI
Máquinas de Estado
Code generation
State machines
Data2016
Resumo(s)No auge da era informática e dada a demanda que existe por parte da sociedade de uma resposta rápida para a implementação de sistemas complexos, a geração de código de forma automática, é uma mais valia no processo de desenvolvimento de software. A linguagem de modelação UML vem, por sua vez, estabelecer uma norma no desenvolvimento de software e permitir ao desenvolvedor visualizar o produto do seu trabalho recorrendo a diagramas estruturais e comportamentais. O objetivo desta dissertação tem por base a junção destes dois conceitos, geração de código a partir de diagramas de UML mais especificamente diagramas de estado. Embora existam soluções comerciais que conseguem gerar código a partir de modelos UML este para além de volumoso e mais complexo, é um código que não tem em consideração a sua manutenção e atualização de forma manual, sendo pouco otimizado e de difícil leitura e edição. Este torna-se então o segundo objetivo deste projeto, a geração de código que instancia uma framework de máquinas de estado finitas. Esta particularidade, vai tornar o código fonte gerado mais simples: quer em complexidade de leitura; quer em quantidade de linhas de código, tornando o processo de geração muito mais eficaz e rápido. É desenvolvida uma ferramenta para realizar o processo de geração de código. Esta recebe como entrada um ficheiro XMI que é o formato standard para partilha de dados de diagramas UML e converte-o numa estrutura de objetos, posteriormente escrita para um ficheiro de texto sobre a forma de código, no formato C++. O código resultante é compilado com a framework de máquinas de estado, criando um ficheiro binário completo pronto a executar. O resultado da aplicação prática da ferramenta permite comprovar que o código gerado, é mais fácil de ler e editar, dada a camada de abstração que a framework oferece para criar e executar uma máquina de estados. A framework foi concebida para ser utilizada por programadores, e isso permite reduzir muito a quantidade de código gerado em comparação com outras soluções comerciais e tornar a geração de código mais rápida. O formato escolhido para a ferramenta é um ficheiro executável que pode ser facilmente incorporado em qualquer software UML, independentemente da existência de um mecanismo de extensão ou das suas caraterísticas.
At the height of the computer era and given the society’s demand for a rapid response when implementing complex systems, automatic code generation, becomes an important asset in the software development process. The UML modeling language, establish a new standard on the software development and allow the developer to visualize the result of his work using structural and behavioral diagrams. The objective of this dissertation is based on the combination of these two concepts, code generation from UML diagrams, specifically state diagrams. While there are commercial solutions that can generate code from UML models, the code generated by these tools, in addiction to being very bulky and complex does not take into account the manual maintenance and updating process of the code, resulting in a less optimized structure which is difficult to read and edit . This, there for, becomes the second objective of this project, code generated is to instantiate a finite state machines’ framework. This feature will result in a simple, well structured source code regarding reading complexity and the number of lines of code needed, making the generation process much more efficient and fast. A tool to make the code generation process was developed. Said tool receives as input a XMI file format, which is the standard format for sharing UML diagrams’ data, and converts it into a structure of objects that later writes to a text file, following the C++ code format. The resulting code is then compiled with the libraries of the state machine framework, resulting in a complete binary file ready to run. The results of the practical application of the tool allowed to prove that the generated code was easier to read and edit, given the abstraction layer provided by the framework. The framework was designed to be used by programmers, and this contributed to greatly reduced the amount of code generated compared to other commercial solutions, making the generation process much faster. The format chosen for the tool was an executable file that can be easily embedded in any UML software, regardless of the existence of an extension mechanism or its characteristics.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado integrado em Engenharia Eletrónica Industrial e de Computadores
URIhttps://hdl.handle.net/1822/48023
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado
DEI - Dissertações de mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Francisco Alberto de Castro e Dias.pdfDissertação de Mestrado8,46 MBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID