5 research outputs found
VooDooM : support for understanding and re-engineering of VDM-SL specifications
Tese mestrado informáticaThe main purpose of this work is to define steady ground for supporting the understanding and re-engineering of VDM-SL specifications.
Understanding and re-engineering are justified by Lehman’s laws of software
evolution which state, for instance, that systems must be continually adapted and as a program evolves its complexity increases unless specific work is done to reduce it.
This thesis reports the implementation of understanding and re-enginering
techniques in a tool called VooDooM, which was built in three well defined
steps. First, development of the language front-end to recognize the VDMSL
language, using a grammar-centered approach, supported by the SDF formalism, in which a wide variety of components are automatically generated from a single grammar; Second, development of understanding support, in which graphs are extracted and derived and subsequently used as input to strongly-connected components, formal concept analysis and metrication.
Last, development of re-engineering support, through the development of a relational calculator that transforms a formal specification into an equivalent model which can be translated to SQL.
In all steps of the work we thoroughly document the path from theory to practice and we conclude by reporting successful results obtained in two test cases.O objectivo principal deste trabalho é a definiçãoo de uma infra-estrutura para
suportar compreensão e re-engenharia de especificações escritas em VDM-SL.
compreensão e re-engenharia justificam-se pelas leis de evolução do software.
Estas leis, formuladas por Lehman, definem, por exemplo, que um qualquer sistema deve ser continuamente adaptado e `a medida que os programas evoluem a sua complexidade tende sempre a aumentar.
Esta tese descreve o estudo de técnicas de compreensão e re-engenharia que foram implementadas numa ferramenta chamada VooDooM. Esta implementação foi efectuada em três etapas bem definidas.
Primeiro, foi desenvolvido um parser (front-end) para reconhecer a linguagem
VDM-SL. Para tal, foi utilizada uma abordagem centrada na gramática, suportada no formalismo SDF, que está equipado com ferramentas de geração automática de diversos componentes.
Segundo, para o suporte de compreensão, foram desenvolvidas funcionalidades
para extrair e derivar grafos que são utilizados em técnicas de análise
como componentes fortemente relacionados, análise de conceitos (formal concept analysis) e métricas.
Por último, para o suporte de re-engenharia, foi prototipada uma calculadora
relacional que transforma um modelo, definido numa especificação formal, no seu equivalente relacional que pode ser traduzido para SQL.
Em todas as etapas realizadas h a preocupação de documentar o percurso
entre teoria para a prática. A análise de resultados obtida no estudo de caso
revela o sucesso da abordagem e as suas potencialidades para desenvolvimentos
futuros