2.2. Ontologias e Análise de Impacto
2.2.4. Ontologia Aplicada a Rastreabilidade de Software
Em [Nol07a, Nol07b] é proposta uma abordagem de rastreabilidade orientada a ontologias e integrada ao Processo Unificado [Kru03]. O objetivo dessa proposta é relacionar elementos que compõem certos diagramas UML com os conceitos de seu domínio de aplicação, utilizando para isso uma ontologia como o principal artefato para representação do conhecimento. O objetivo dessa integração é adicionar uma camada semântica entre diferentes modelos de software, apoiando assim os desenvolvedores na busca de informação relevante entre elementos de diagramas da UML.
Com o objetivo de formalizar a proposta de rastreabilidade orientada a ontologia, os seguintes objetivos específicos foram desenvolvidos:
necessidade de definir uma abordagem sistemática para projetar e manter uma ontologia de aplicação no Processo Unificado;
necessidade de definir uma estrutura ontológica para associar apropriadamente os conceitos do domínio com os artefatos de software;
necessidade de uma abordagem sistemática para mapear os conceitos presentes em diferentes artefatos de desenvolvimento com os conceitos capturados pela ontologia da aplicação;
necessidade de fornecer uma ferramenta apropriada para apoiar a rastreabilidade orientada a ontologias, estendendo uma ferramenta CASE existente.
Inicialmente foi proposta a criação de uma nova disciplina no Processo Unificado, chamada Modelagem do Conhecimento, a qual foi estruturada em três macro atividades:
Projeto, Manutenção e Verificação. A ontologia é projetada nas fases iniciais de desenvolvimento utilizando como base o Modelo de Domínio, documento este produzido durante a disciplina de Modelagem de Negócios. Este modelo utiliza a sintaxe do diagrama de classes da UML para representar os conceitos do mundo real. Com isso, a disciplina de Modelagem de Conhecimento refina a ontologia de domínio introduzindo novos relacionamentos que não podem ser expressos em diagramas de classes convencionais, como subPropertyOf. Durante a disciplina de Requisitos, novos conceitos e relacionamentos sobre o domínio vão surgindo, fornecendo assim insumos para refinar o Modelo de Domínio e a ontologia em desenvolvimento.
Uma vez que este modelo é considerado completo, os Engenheiros do Conhecimento (EC) [Mae02] podem iniciar suas atividades de manutenção. Esta macro atividade é responsável por manter a consistência entre o modelo de conhecimento gerado e a semântica dos artefatos produzidos durante o ciclo de vida de desenvolvimento. Além disso, o EC estabelece manualmente os elos de rastreabilidade entre conceitos do domínio e elementos UML.
Cada modificação na ontologia deve ser verificada pelas atividades descritas na macro atividade de Verificação. Estas atividades consistem em um processo de controle que analisa cada nova versão do modelo de conhecimento procurando por inconsistências.
Foi apresentada também uma estrutura ontológica chamada ONTrace responsável pela associação entre os recursos do domínio e os elementos dos diagramas UML. ONTrace representa um recurso descrito em uma classe OWL associada a uma propriedade (objectProperty) chamada ontraceRecover que mapeia elementos UML a conceitos do domínio. Este mapeamento inclui o relacionamento entre casos de uso, classes em um diagrama de classes e outros elementos descritos pela UML, a recursos de conhecimento, tais como classes e propriedades descritas em OWL. Para cada elo de rastreabilidade, uma instância da classe ONTrace é criada ou atualizada, mapeando algum conceito a elementos da UML.
A Figura 2.8 exemplifica um elo de rastreabilidade entre o caso de uso “UC01 – Manter Funcionário” e o conceito da ontologia “Funcionário” através da propriedade “ontraceRecover”. Adicionalmente, este elo especifica que este indivíduo é do tipo “UseCase”, que é um dos tipos definidos pela taxonomia estabelecida sobre a classe “Model”.
Figura 2.8 – Recurso ONTrace para rastreabilidade entre elementos UML.
Para ilustrar a rastreabilidade orientada a ontologias, considere um cenário de comércio eletrônico. Suponha que o caso de uso “Manter Cliente” está relacionado ao conceito da ontologia “Cliente”, enquanto outro caso de uso “Realizar Pedido” está relacionado aos conceitos “Cliente”, “Pedido” e “Produto”. Neste cenário, é possível inferir que “Manter Cliente” e “Realizar Pedido” se relacionam explicitamente através do conceito “Cliente” por um elo de rastreabilidade direto.
Neste mesmo exemplo, suponha que exista outro caso de uso chamado “Manter Funcionário”, que se relaciona com o conceito “Funcionário”. Existe também uma propriedade chamada “buscaInformacao” que relaciona os conceitos “Empregado” e “Cliente”. Neste cenário, é possível inferir um relacionamento implícito entre os artefatos “Manter Cliente” e “Manter Funcionário”, pois os conceitos que relacionam ambos estão associados pela propriedade “buscaInformacao”. É importante perceber que o uso de regras semânticas complexas em motores de inferência permite recuperar cenários muito menos óbvios que este exemplo, estendendo-se inclusive para diferentes produtos de trabalho.
Para apoiar esse trabalho, foi desenvolvida uma ferramenta chamada ONTrace IDE como uma extensão da ferramenta open source de modelagem ArgoUML [Arg12]. A ferramenta permite a extração da ontologia a partir do Modelo de Domínio, a geração de elos de rastreabilidade utilizando o recurso ONTrace da ontologia e a recuperação de elos
implícitos e explícitos. A Figura 2.9 apresenta a interface da ferramenta que permite recuperar elos de rastreabilidade explícitos e implícitos.
A avaliação da proposta foi feita por dois experimentos controlados aplicados a populações e em épocas diferentes. Este estudo empírico foi executado comparando a rastreabilidade orientada a ontologias com a tradicional rastreabilidade orientada a requisitos, considerando as perspectivas de esforço e precisão. O objetivo foi caracterizar a aplicabilidade e relevância dessa abordagem comparada a modelos amplamente empregados em empresas de desenvolvimento de software. Embora os resultados sejam limitados ao contexto dos experimentos, os mesmos parecem promissores em termos de aplicabilidade, mostrando um melhor desempenho nas perspectivas consideradas para a rastreabilidade orientada a ontologias tanto na primeira execução do experimento quanto em sua replicação. Maiores detalhes estão descritos em [Nol09].
Figura 2.9 – Interface de busca da ferramenta ONTrace IDE.