Durante o desenvolvimento de software, diversos artefatos inter-relacionados são gerados, tais como: requisitos, modelos, códigos-fonte, entre outros. Apesar das vantagens obtidas com a adoção das ferramentas atuais de controle de versão em projetos de software, os sistemas tradicionais têm controlado as versões no nível de arquivos, dificultando o versionamento dos relacionamentos entre artefatos e a composição de artefatos complexos. Existem poucos esforços no sentido de proporcionar uma granularidade mais fina no controle de versão de artefatos estruturados ou semi-estruturados. Além disto, os principais mecanismos para comparação e fusão de versões encontram-se orientados à linhas de texto, dificultando o cálculo das diferenças entre versões de artefatos estruturados como grafos, e.g., diagramas UML. Assim, os sistemas atuais não proveem uma base apropriada para construção de mecanismos para apoiar atividades da Engenharia de Software (ES), como reusabilidade, rastreabilidade e análise do impacto de mudanças. De forma a mitigar este problema, considerou-se a aplicação de tecnologias da Web Semântica em projetos de software, provendo um formalismo para possibilitar um versionamento com granularidade mais fina e mecanismos automatizados para apoiar outras atividades da Engenharia de Software. Neste contexto, foi proposta uma infraestrutura, denominada GALO, para controle de versão de software, com base nas tecnologias da Web Semântica, buscando proporcionar um versionamento com granularidade mais fina e também reduzir os recursos necessários para o cálculo do delta entre versões. Para isto, considerou-se relacionamentos de agregação no modelo de versionamento, representado por uma ontologia. Além disso, criou-se um método heurístico, chamado ApproxMap, para calcular os deltas entre versões, que pode assumir uma complexidade de O(n2), no seu pior caso. Ele busca encontrar um mapeamento entre blank nodes, i.e., recursos não identificados, de dois grafos RDF, que reduza o tamanho do delta entre versões. Buscando avaliar a infraestrutura GALO, desenvolveu-se uma prova de conceito, com a instanciação da ontologia e a construção de um protótipo. Nela, os conceitos definidos na ontologia retrataram com sucesso as situações exploradas. As tecnologias da Web Semântica também foram aplicadas com sucesso, sendo base para mecanismos que apoiam outras atividades da ES. Elas proporcionaram o controle de versão de relacionamentos entre artefatos, além de verificações, validações e inferências de conhecimentos. O ApproxMap também foi aplicado com sucesso no cálculo do delta de versões dos artefatos da prova de conceito e dos demais experimentos realizados. Ele obteve um desempenho satisfatório, sendo o algoritmo que mais se aproximou dos valores ótimos. Assim, recomenda-se a aplicação da infraestrutura GALO e do seu algoritmo ApproxMap na construção de sistemas para controle de versão de artefatos, como os produzidos por processos com desenvolvimento iterativo e incremental.
Identifer | oai:union.ndltd.org:IBICT/oai:agregador.ibict.br.BDTD_ITA:oai:ita.br:3187 |
Date | 12 December 2014 |
Creators | Juliano de Almeida Monte-Mor |
Contributors | Adilson Marques da Cunha |
Publisher | Instituto Tecnológico de Aeronáutica |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações do ITA, instname:Instituto Tecnológico de Aeronáutica, instacron:ITA |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.2061 seconds