Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/48023
Título: | Gerador 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-chave: | UML Geração de código Framework FSM XMI Máquinas de Estado Code generation State machines |
Data: | 2016 |
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. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e de Computadores |
URI: | https://hdl.handle.net/1822/48023 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DEI - Dissertações de mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Francisco Alberto de Castro e Dias.pdf | Dissertação de Mestrado | 8,46 MB | Adobe PDF | Ver/Abrir |