K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos

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 Conhecim...

Full description

Bibliographic Details
Main Author: Castro, Eduardo Studzinski Estima de
Other Authors: Price, Roberto Tom
Format: Others
Language:Portuguese
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/10183/17035
id ndltd-IBICT-oai-lume56.ufrgs.br-10183-17035
record_format oai_dc
collection NDLTD
language Portuguese
format Others
sources NDLTD
topic Engenharia de software
Gestão do conhecimento
Gerencia : Conhecimento
Sistemas : Informação
Desenvolvimento : Software
Software engineering
Knowledge engineering
Aspect oriented paradigm
Metadata annotations
Project of knowledge systems
spellingShingle Engenharia de software
Gestão do conhecimento
Gerencia : Conhecimento
Sistemas : Informação
Desenvolvimento : Software
Software engineering
Knowledge engineering
Aspect oriented paradigm
Metadata annotations
Project of knowledge systems
Castro, Eduardo Studzinski Estima de
K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
description 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.
author2 Price, Roberto Tom
author_facet Price, Roberto Tom
Castro, Eduardo Studzinski Estima de
author Castro, Eduardo Studzinski Estima de
author_sort Castro, Eduardo Studzinski Estima de
title K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
title_short K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
title_full K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
title_fullStr K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
title_full_unstemmed K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
title_sort k-aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos
publishDate 2009
url http://hdl.handle.net/10183/17035
work_keys_str_mv AT castroeduardostudzinskiestimade kaspectsumaabordagembaseadaemaspectosparaimplementacaodesistemasdeconhecimentos
AT castroeduardostudzinskiestimade kaspectsanapproachforbuildingknowledgesystemsusingaspects
_version_ 1718748169673637888
spelling ndltd-IBICT-oai-lume56.ufrgs.br-10183-170352018-09-30T04:06:52Z K-Aspects : uma abordagem baseada em aspectos para implementação de sistemas de conhecimentos K-Aspects: an approach for building knowledge systems using aspects Castro, Eduardo Studzinski Estima de Price, Roberto Tom Abel, Mara Engenharia de software Gestão do conhecimento Gerencia : Conhecimento Sistemas : Informação Desenvolvimento : Software Software engineering Knowledge engineering Aspect oriented paradigm Metadata annotations Project of knowledge systems 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. 2009-08-22T04:18:01Z 2009 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/10183/17035 000709217 por info:eu-repo/semantics/openAccess application/pdf reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul instacron:UFRGS