Engenharia de Software (ES) é um domínio vasto, no qual ontologias são instrumentos úteis para lidar com problemas relacionados à semântica e gestão do conhecimento. Quando ontologias de ES são construídas e utilizadas isoladamente, alguns problemas permanecem, em particular aqueles relacionados com integração do conhecimento. Ao longo dos anos, temos produzido várias ontologias relacionadas a subdomínios da ES, tais como Medição de Software, Processo de Software, Requisitos, Gerência de Configuração, Gerência de Projetos de Software e Teste de Software. Nesse contexto, enfrentamos alguns problemas, tais como o mesmo conceito aparecer com diferentes significados em diferentes ontologias e o mesmo termo ser usado para designar diferentes conceitos em diferentes ontologias.
Em domínios grandes e complexos, como é o caso de ES, representar todo o domínio como uma única ontologia resultará em uma ontologia grande e monolítica, que é difícil de manipular, utilizar e manter. Por outro lado, representar cada subdomínio separadamente é demasiadamente dispendioso, fragmentado e, mais uma vez, difícil de manipular. Considerando essa questão, nós investigamos como desenvolver e organizar ontologias em uma arquitetura que permita integrar ontologias existentes e adicionar novas ontologias, mantendo a consistência entre elas.
Nossa proposta consiste em organizar as ontologias de ES em uma rede de ontologias que suporte a criação, integração e evolução das suas ontologias. Uma rede de ontologias é um conjunto de ontologias relacionadas entre si através de uma variedade de relações, tais como alinhamento e dependência. Uma ontologia em rede, por sua vez, é uma ontologia incluída em tal rede, compartilhando conceitos e relações com outras ontologias.
SEON é uma rede de ontologias em Engenharia de Software que fornece um conjunto bem fundamentado de ontologias de referência em ES e mecanismos para construir e integrar novas ontologias na rede.
A arquitetura de SEON é organizada em camadas. Resumidamente, na base, tem-se UFO (Unified Foundational Ontology) para fornecer o conhecimento geral e comum para classificar conceitos e relações na rede. No centro, ontologias do núcleo são usadas para representar o conhecimento geral do domínio, sendo a base para as ontologias de domínio da rede. Por fim, tem-se as ontologias de domínio, que descrevem conhecimentos mais específicos de subdomínios da Engenharia de Software.
Sendo uma rede de ontologias, SEON é como um organismo vivo e está em constante evolução. Requer um esforço contínuo e a longo prazo, com ontologias sendo adicionadas e integradas de maneira incremental e gradativa.
SEON foi inicialmente apresentada nesta publicação:
A especificação de SEON está disponível no site de SEON. Ela apresenta as ontologias em rede de SEON, o grafo de SEON e também uma versão operacional das ontologias implementada em OWL.