Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/37513
Título: | A model repair application scenario with PROVA |
Autor(es): | Jorge, Tiago Manuel da Silva |
Orientador(es): | Cunha, Alcino |
Palavras-chave: | MDE Consistency rules Model inconsistencies Model repair Regras de consistência Inconsistência de modelos Reparação de modelos PROVA |
Data: | 10-Dez-2014 |
Resumo(s): | Model-Driven Engineering (MDE) is a well known approach to software development that
promotes the use of structured specifications, referred to as models, as the primary development
artifact. One of the main challenges in MDE is to deal with a wide diversity of evolving
models, some of which developed and maintained in parallel. In this setting, a particular
point of attention is to manage the model inconsistencies that become inevitable, since it is
too easy to make contradictory design decisions and hard to recognise them. In fact, during
the development process, user updates will undoubtedly produce inconsistencies which must
eventually be repaired. Tool support for this task is then essential in order to automate model
repair, so consistency can be easily recovered. However, one of the main challenges in this
domain is that for any given set of inconsistencies, there exists an infinite number of possible
ways of fixing it. While much of researchers recognise this fact, the way in which this problem
should be resolved is far from being agreed upon, and methods on how to detect and fix
inconsistencies vary widely. In this master dissertation a comparison between different approaches
is done and an application scenario is explored in close collaboration with industry.
An off-the-shelf model repair tool leveraging the power of satisfiability (SAT) solving is put
to test, while an incremental technique of complex repair trees is implemented and evaluated
as a promising, yet very distinctive competitor. A engenharia orientada aos modelos (MDE), uma abordagem bem conhecida no desenvolvimento de software, promove a utilização de especificações estruturadas, denominadas modelos, como o artefacto primário de desenvolvimento. Um dos principais desafios neste domínio é lidar com a grande diversidade de modelos em evolução, muitas vezes desenvolvidos e mantidos em paralelo. Neste cenário é essencial gerir as inconsistências dos modelos, que se tornam inevitáveis uma vez que facilmente se tomam decisões contraditórias e de difícil reconhecimento. De facto, durante o processo de modelação, atualizações aos modelos por parte do utilizador irão sem dúvida produzir inconsistências que devem ser reparadas. Ferramentas que suportem este processo tornam-se essenciais para automatizar a reparação dos modelos, por forma a que a consistência seja facilmente recuperada. No entanto, para qualquer conjunto de inconsistências existe um número potencialmente infinito de possíveis formas de o corrigir, facto que revela ser um dos principais problemas neste domínio. Embora grande parte dos investigadores reconheça este desafio, a forma como esta problemática deve ser abordada está longe de reunir consenso e as soluções propostas variam muito. Nesta dissertação de mestrado é feita uma comparação entre diferentes abordagens à técnica de reparação de modelos, e um cenário de aplicação é explorado em estreita colaboração com a indústria. Uma ferramenta pronta a usar e que aproveita o poder do SAT solving é posta à prova, enquanto que uma outra técnica, incremental e baseada em complexas árvores de reparação, é implementada e avaliada como uma abordagem concorrente promissora e bastante distinta. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Engenharia Informática |
URI: | https://hdl.handle.net/1822/37513 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
eeum_di_dissertacao_pg22812.pdf | 1,22 MB | Adobe PDF | Ver/Abrir |