K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos - Castro, Eduardo Studzinski Estima de (2009)
Esse trabalho define K-Aspects (Knowledge Aspects), uma abordagem para a implementação de Sistemas de Conhecimento (SC) em linguagens orientadas a objetos usando o paradigma orientado a aspectos (OA) e anotações de metadados. Essa abordagem define uma forte correspondência entre o Modelo de Conhecimento (MC) e sua implementação no paradigma da orientação a objetos (OO). K-Aspects fornece um conjunto de anotações documentacionais para facilitar a leitura da associação entre o modelo de implementação e o modelo conceitual do conhecimento; um conjunto de anotações para facilitar a separação de interesses na implementação do SC usando OA; um conjunto de bibliotecas para realizar a interpretação das anotações e sua execução em aspectos; e uma ferramenta para geração de documentação do MC a partir das anotações no código. A abordagem busca atender tanto os engenheiros de conhecimento quanto os engenheiros de desenvolvimento em projetos de SC. Os engenheiros de conhecimento tem ao seu alcance um modo adequado para elaborar a especificação do MC que resulta em uma especificação em uma linguagem orientada a objetos, permitindo aos engenheiros de desenvolvimento implementarem o sistema preservando a estrutura do modelo conceitual e mantendo clara distinção entre os requisitos associados ao MC dos demais requisitos. K-Annotations adicionam recursos de OA ao modelo conceitual do conhecimento OO, oferecendo facilidades de tratamento separado de diversas funcionalidades transversais de um SC, através do particionamento do sistema em aspectos que implementam funcionalidades específicas, ativadas através das anotações inseridas no componente do modelo conceitual. Anotações distinguem, clara e visualmente, no código, os elementos do MC em relação ao restante do código do programa, facilitando a leitura do código pelos engenheiros de conhecimento. A função principal das anotações é prover as informações necessárias para a interpretação dos elementos de conhecimento durante a execução do programa. Anotações identificam as funcionalidades transversais relativas aos construtos do modelo e são gerenciadas pela biblioteca de aspectos. A abordagem foi validada re-escrevendo com o uso de K-Annotations um sistema de conhecimento no domínio da análise da qualidade de reservatórios de petróleo. O modelo desse sistema representa uma ontologia de domínio sobre o qual métodos de solução de problemas para interpretação e classificação de rochas são aplicados. A análise dos resultados identificou um conjunto de vantagens no uso de K-Aspects, como distinção clara entre a implementação do MC e a implementação dos demais requisitos, suporte nativo aos construtos providos no modelo de conhecimento e alto grau de rastreabilidade entre o modelo e sua implementação. Além disso, provê redução de tarefas repetitivas de implementação e redução da dispersão de código a partir da geração automática de código. As bibliotecas de aspectos garantem o encapsulamento de inferências e tarefas. As bibliotecas tratam os construtos do modelo para garantir a reutilização em diferentes projetos de SCs.