Return to search

K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos / K-Aspects: an approach for building knowledge systems using aspects

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. / This work defines K-Aspects (Knowledge Aspects), an approach for implementing Knowledge Systems (KS) with object-oriented languages using the aspect-oriented paradigm (AO) and metadata annotations. This approach defines a strong link between the knowledge model (KM) and its implementation in the object-oriented paradigm (OO). K-Aspects provides a set of documentational annotations to make the association between the implementation model and the knowledge conceptual model easier to read; a set of annotations to enable the separation of concerns, using aspect orientation, of the implementation of the different requirements of the knowledge system; a set of libraries to perform the interpretation and execution as aspects of annotations; and a tool for documentation generation of the KM extracted from the annotations on the code. The approach aims to support both knowledge engineers and development engineers in KS projects, by providing to the knowledge engineers a well-defined way to elaborate the KS specification, which results in a specification presented in an object oriented language, making it easily understandable and extensible by development engineers that can thus implement the knowledge system preserving its conceptual knowledge structure and keeping a clear distinction of the requirements associated to the KM from the other requirements. K-Annotations add aspect oriented resources to the OO conceptual knowledge model, providing features to manage separately the multiple crosscutting concerns of a KS, partitioning the system in aspects that implement specific features, activated by annotations inserted in the knowledge conceptual model. Annotations distinguish, clearly and visually, within the code, KM elements from the rest of the code, making easier the code reading by the knowledge engineers. The most important function of the annotations is to provide information necessary for interpreting knowledge elements during runtime. Annotations identify several crosscutting concerns related to the model constructs. Annotations are managed and executed by the aspect libraries. This approach was validated by re-coding, using K-Annotations, a complex commercial KS on the domain of oil reservoir quality analysis. The model of this system represents a domain ontology on which problem-resolving methods for rock interpretation and classification are performed. The analysis of the results identified several advantages of using K-Aspects as: a clear distinction of the KM implementation among other requirements; native support for knowledge model constructs; and high traceability between the knowledge conceptual model and its implementation. Moreover, the use of K-Aspects reduces repetitive implementation tasks and code dispersion because of the automatic code generation. The provided aspect libraries enable the encapsulation of inferences and the execution of several tasks. The libraries manage the constructs of the model thus providing reusability among multiple KS projects.

Identiferoai:union.ndltd.org:IBICT/oai:lume56.ufrgs.br:10183/17035
Date January 2009
CreatorsCastro, Eduardo Studzinski Estima de
ContributorsPrice, Roberto Tom, Abel, Mara
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguageEnglish
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Formatapplication/pdf
Sourcereponame:Biblioteca Digital de Teses e Dissertações da UFRGS, instname:Universidade Federal do Rio Grande do Sul, instacron:UFRGS
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0021 seconds