terça-feira, 6 de janeiro de 2015

Metodologias do Conhecimento - K-Aspects

O Knowledge Aspects é uma abordagem para a implementação de sistemas de conhecimento em linguagens orientadas a objetos usando o paradigma orientado a aspectos 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)[61].
  • 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 implantação de Sistemas de Conhecimento usando orientação a aspectos (
  • K-Annotations).
  • Um conjunto de bibliotecas para realizar a interpretação das anotações e sua execução em aspectos (Biblioteca K-Aspects).
  • E uma ferramenta para geração de documentação do Modelo de Conhecimento a partir das anotações no código (KA-DocGen).

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. A abordagem mostra-se bastante produtiva e utilizada em conjunto com a metodologia XP.K, posto ambas serem complementares.

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.

Processo de Uso de K-Annotations

O processo de uso de k-annotations define os passos necessários para que a implementação OO do componente do modelo conceitual seja gerada com sucesso. Esse processo é definido para ser reutilizado em diferentes projetos de SCs, independente do domínio de aplicação.

O processo, figura a seguir, inicia quando o engenheiro de desenvolvimento recebe uma especificação do modelo conceitual. É necessária a implementação da especificação usando OO acrescido de k-annotations. Após a implementação do componente do modelo conceitual, o interpretador de aspectos recebe como entrada a implementação elaborada pelo engenheiro de desenvolvimento, a biblioteca de anotações, a biblioteca de aspectos e a biblioteca para tratamento de facets, axiomas e regras (as bibliotecas são reusáveis em diferentes projetos). Se o código não apresentar nenhum problema, o interpretador gera o byte-code (código intermediário usado por linguagens interpretadas), esse código intermediário da implementação do modelo e dos aspectos é então costurado pelo weaver (fornecido junto com o interpretador de aspectos) para a implementação da semântica associada às anotações via aspectos. O resultado da interpretação é a implementação executável do componente conceitual em uma máquina virtual (Java ou C#). Além da implementação do componente conceitual, o compilador também invoca a ferramenta KA-DocGen, que gera a documentação da implementação do componente conceitual, para que mais facilmente seja possível realizar revisões entre a especificação e a implementação.



Figura Processo de Uso de K-Annotations

Nenhum comentário:

Postar um comentário