Sei sulla pagina 1di 8

USANDO ONTOLOGIAS NA CONSTRUO DE MODELOS MDA (MODEL-DRIVEN ARCHITECTURE)

Jaguaraci Batista Silva1, Milton Sampaio1, Juliana Pezzin2 1Universidade Salvador (UNIFACS) Salvador, BA Brasil 2Universidade Federal do Esprito Santo (UFES) Vitria, ES Brasil
{jaguaracisilva, milton.Sampaio}@gmail.com, juliana_pezzin@hotmail.com

Abstract. The domain of an application, during the requirements identification, uses a platform independent class model the which that it destines, abstracting good part of the specification of a system without a formal verification, be either syntactic or semantic. This article proposes an architecture for use of ontology in the construction of MDA models formalizing its concepts and reducing the time of maintenances in models during its specification for one determined domain. Resumo. O domnio de uma aplicao, durante a identificao de requisitos, utiliza um modelo de classes independente da plataforma ao qual se destina, abstraindo boa parte da especificao de um sistema sem uma verificao formal, seja sinttica ou semntica. Este artigo prope uma arquitetura para utilizao de ontologia na construo de modelos MDA, formalizando seus conceitos e reduzindo o tempo de manutenes em modelos durante a sua especificao para um determinado domnio.

1. Introduo
A MDA (Model-Driven Architecture), ou Arquitetura Orientada a Modelos, prope a criao de modelos em diferentes nveis de abstrao, separando os interesses de implementao da arquitetura a ser implementada. A MDA utiliza o modelo conceitual de uma aplicao para gerao de outro em uma plataforma especfica, reduzindo drasticamente o nmero de implementaes de sistemas para o mesmo domnio de aplicao. O objetivo deste trabalho propor a aplicao do uso da ontologia na construo de um modelo MDA, devido insuficincia formal com a combinao do uso da UML e MOF. Existem vrios problemas encontrados na utilizao da MDA. Dentre eles, os discutidos em fruns so: a mistura da parte conceitual da aplicao com os comportamentos especficos nas regras de transformao de um metamodelo; a utilizao de padres arquiteturais; a sincronizao de modelos com artefatos de cdigo e a falta de formalizao deste. A UML a linguagem utilizada para construo de modelos MDA. Segundo Freitas (2003), a UML no pode ser considerada um formalismo de representao, devido ausncia de declaratividade, de um motor de inferncia e de uma semntica formal, ou seja, no se pode medir a satisfatibilidade dos

requisitos funcionais sobre um domnio conceitual. Durante a fase de elicitao de requisitos, os modelos de classes so genricos, abstraindo boa parte da especificao de um sistema. O presente artigo prope a aplicao do uso da ontologia na construo de modelos MDA, com o objetivo de formalizar os requisitos de aplicao, reduzindo o tempo de manutenes em modelos durante a especificao conceitual de um domnio de aplicao. Para isso, a estrutura textual composta por cinco partes: A parte inicial refere-se aos problemas encontrados no uso da MDA, ao objetivo do trabalho proposto e organizao do estudo. A segunda fornece uma viso geral dos seus conceitos e nveis de abstraes propostos. Na terceira parte, h uma breve apresentao do que uma ontologia e sua linguagem de representao. O quarto item constitui-se da apresentao de um modelo MDA construdo a partir de uma ontologia. As concluses e consideraes finais encontram-se na quinta e ltima parte deste artigo.

2. Modelos e nveis de abstraes em MDA


A MDA, arquitetura orientada a modelos, prope a criao de modelos em diferentes nveis de abstrao, separando os interesses de implementao de uma arquitetura especfica do modelo conceitual de uma aplicao. A MDA baseada na arquitetura MOF, que conceitua quatro nveis de modelos: M3, M2, M1, e MO. A figura 1 mostra um exemplo do uso de metanveis em MDA, uma Conta (MO) um exemplo da classe conta (M1) que implementou a classe Classe (M2), por sua vez, sendo uma instncia da classe Classe em MOF (M3).

Figura 1. Exemplo de nveis de modelos MDA (Mellor, 2003, P. 48)

Cada metamodelo proposto deve ter, no mnimo, uma implementao, de forma que sua realizao pode ter um ou mais modelos. Um modelo de diagramas UML, por exemplo, capturado por um metamodelo UML, que descreve como podem ser estruturados modelos UML, os elementos que eles contm, bem como as propriedades de uma plataforma particular. Os modelos podero relacionar-se usando mapeamentos, os quais podem ser realizados automtica ou manualmente.

Em um mapeamento existem regras que so chamadas regras de mapeamento, as quais definem basicamente a aceitao de um ou mais modelos - que so as origens - e um modelo de destino a ser gerado. Essas regras so escritas em nvel de metamodelos e aplicveis a todos os modelos de origem que obedecem s especificaes de seu metamodelo. Para que seja possvel a utilizao de mapeamentos em modelos UML necessrio importar o modelo em uma ferramenta MDA, atravs do arquivo XMI (XML Metadata Interchange), que um artefato gerado a partir das linguagens XML (Extensible Markup Language), UML e MOF que utiliza DTD (Definio de Tipo de Documento), nos quais so descritas regras de sintaxe dos elementos usados no modelo MDA. A declarao de um DTD pode ser feita interna ou externamente ao documento, em que so definidas e ordenadas atravs de tags.
Tabela 1 Trecho do arquivo XMI gerado usando o Proteg

<UML:Class xmi.id = 'a45' name = 'docente' isSpecification = 'false' isRoot = 'false' isLeaf = 'false' isAbstract = 'false' isActive = 'false'> <UML:GeneralizableElement.generalization> <UML:Generalization xmi.idref = 'a46'/> </UML:GeneralizableElement.generalization> <UML:Classifier.feature> <UML:Attribute xmi.id = 'a47' name = 'dataAdmissao' visibility = 'private' isSpecification = 'false'> <UML:StructuralFeature.multiplicity> <UML:Multiplicity xmi.id = 'a48'> <UML:Multiplicity.range> <UML:MultiplicityRange xmi.id = 'a49' lower = '0' upper = '-1'/> </UML:Multiplicity.range> </UML:Multiplicity> </UML:StructuralFeature.multiplicity> <UML:StructuralFeature.type> <UML:Class xmi.idref = 'a24'/> </UML:StructuralFeature.type> </UML:Attribute> </UML:Classifier.feature> </UML:Class> A tabela 1 mostra um modelo UML no formato XMI, seguindo a padronizao definida pela OMG. O padro combina os benefcios da XML para definio, validao

e compartilhamento de formatos de documentos com os benefcios da linguagem de modelagem visual UML para especificao, visualizao, construo e documentao. O principal objetivo da XMI facilitar o intercmbio de metadados, entre ferramentas de modelagem baseadas na linguagem UML e MOF especificadas pela OMG.

3. Viso geral sobre ontologia


Assim como XMI, a linguagem OWL (Ontology Web Language) uma linguagem XML. possvel expressar a estrutura dos conceitos, relacionamentos e descrever caractersticas especiais sobre estes, atravs de axiomas lgicos para formar uma ontologia. Segundo Guizzard (2000), em cincia da computao, o termo ontologia se refere a um artefato de engenharia, constitudo de um vocabulrio de termos organizados em uma taxonomia, suas definies um conjunto de axiomas formais usados para criar novas relaes e para restringir as suas interpretaes segundo um sentido pretendido. Ainda na rea da cincia da computao, uma ontologia pode ser utilizada para criar um vocabulrio. Falbo (2002) cita que, neste caso, a ontologia pode ser vista como um modelo para domnio de aplicaes, sendo usada basicamente para especific-los e desenvolv-los aumentando o reuso. Seja qual for a categoria, uma ontologia formada por conjuntos de conceitos, relaes, propriedades, axiomas e instncias. Um conceito pode ser abstrato ou concreto, elementar ou composto, real ou fictcio. Em um conceito podem existir taxonomias. O conceito homem, por exemplo, pode ser um subconceito do conceito pessoa. Podem tambm existir relaes entre conceitos. Por exemplo: entre os conceitos de pessoa e carro, o relacionamento ser-dono. As propriedades representam os relacionamentos entre os conceitos. Os axiomas so regras ou afirmaes da verdade sobre conceitos. Um exemplo de axioma afirmar que toda pessoa tem uma me. Existem tambm, na base de conhecimentos, instncias que so um conhecimento prvio existente na ontologia. Na base de conhecimentos podem estar inclusos os conhecimentos intencional (TBox) e extencional (ABox). So usados em DL (Description Logic) para realizar o mapeamento da linguagem em OWL, a fim de processar o conhecimento e encontrar informaes implcitas numa ontologia com o uso de uma ferramenta de raciocnio. Busca-se testar o TBox atravs de um sistema dedutivo a satisfatibilidade, subclassificao, equivalncia e disjuno. Com relao ao ABox, possvel checar a consistncia, as instncias, o retorno e a realizao. Com estes testes pode-se, por exemplo, checar a hierarquia de classes, suas relaes, regras na atribuio de valores aos seus atributos. Enfim, diminui-se bastante o tempo de verificao de modelos.

4. Construo de modelos MDA usando ontologias


Nesta proposta, a construo de um modelo MDA baseado em ontologia segue a padronizao MOF, utilizando no intercmbio de dados artefatos gerados baseados em XMI schema entre os metanveis. Segundo a especificao da OMG, no metanvel M2 possvel concretizar as classes especificadas em M3 (MOF). Dessa forma, um modelo de nvel 2 pode ser utilizado para construo de modelos MDA, sendo implementado no metanvel M1, criando um modelo independente de plataforma, atravs de uma

ferramenta de construo de diagramas UML, em virtude de todas as ferramentas se basearem no metamodelo UML. A gerao de mapeamentos e regras para plataforma especfica ocorre: no metanvel M1, utilizando ferramentas de construo de modelos MDA; aps a construo do modelo conceitual no metanvel M1, usando a ferramenta de edio de ontologia Protg (ABDALLA, 2005).

Figura 2. Diagrama UML da ontologia criada como exemplo

Os conceitos, relaes e propriedades identificados na ontologia so definies formais e semnticas. Na ontologia criada na figura 2, uma pessoa, por exemplo, significa um professor ou um aluno que trabalha em uma universidade, as definies dos conceitos no podem ser ambguas. O axioma publica >=1, significa que um bom docente tem mais de uma publicao, seja um artigo ou livro. A ontologia construda seguindo os requisitos funcionais da aplicao, e seu modelo ser verificado quanto satisfao destes.

Figura 3. Arquitetura utilizada para construo de modelos a partir de uma ontologia

A figura 3 apresenta a arquitetura proposta, comeando a partir da construo de uma ontologia para o domnio da aplicao at a transformao do modelo formalmente verificado em outro para uma plataforma especfica. Todo o modelo conceitual da ontologia dever ser verificado formalmente, criando instncias de classes na ferramenta de ontologia e usando lgica de descrio atravs da ferramenta Racer (ABDALLA, 2005). Segundo Ribeiro (2005), o Racer (Reasoner for Aboxes and Concept Expressions Renamed) pode realizar um raciocnio automtico, usando lgica de descrio, realizando o mapeamento da DL (Description Logics) sobre o arquivo OWL gerado a partir da ontologia. Essas inferncias podem ser submetidas utilizando o Rice (Racer Interactive Client Environment) (ABDALLA, 2005), que faz o uso de uma interface grfica para importar arquivos OWL.

Figura 4. Verificao formal do domnio da aplicao atravs do Rice

Na figura 4 possvel visualizar o resultado da inferncia sobre um domnio da aplicao. Neste exemplo, todos os conceitos foram satisfeitos. O modelo exemplificado ser intercambiado para uma ferramenta UML, o que possibilitar a atribuio de tipos, esteretipos e outros elementos do metamodelo UML, alm de outros perfis disponveis no metanvel M2. Segundo a especificao da OMG, o padro de intercmbio de dados na arquitetura orientada a modelos (MDA) o XMI; a ferramenta UML utilizada para gerar um modelo independe de plataforma (PIM); a Poseidon (POSEIDON, 2006) foi utilizada para importar o arquivo XMI gerado pelo Protg e criar um modelo da aplicao, no nvel M1. Isso se deve em funo das diferenas encontradas nos arquivos XMI exportados pelas ferramentas Protg e Poseidon, sendo o arquivo XMI gerado pelo Poseidon aceito para importao pela ferramenta MDA utilizada. A OptimalJ (OPTIMALJ, 2006) foi utilizada como ferramenta de transformaes de modelos PIM em PSM.

Figura 5. Criao do PSM para banco de dados

Na figura 5 possvel identificar elementos de tabelas, a saber: chaves primrias e secundrias e tipos de dados que so especficos para banco de dados. Com o uso de uma ferramenta MDA, como a OptimalJ, possvel transformar modelos automaticamente, cuja ferramenta utilizada na arquitetura por ser bastante intuitiva, e em virtude de o seu desenvolvimento no ter sido descontinuado. Nesta proposta foi possvel identificar dois exemplos de transformaes de modelos: de PIM para PIM, sendo utilizado neste caso um mapeamento do modelo OWL para UML, e a transformao de modelos PIM para banco de dados relacional (PSM), com a utilizao da ferramenta OptimalJ.

5. Concluses
A definio formal de conceitos para um domnio de aplicao uma alternativa vlida para evitar o aumento de manutenes em modelos. Durante o desenvolvimento deste trabalho pde-se perceber uma grande quantidade de ferramentas para conceber transformaes de modelos, e muitas delas apoiadas pela iniciativa de pesquisadores que as mantm livres para uso comercial ou pessoal. Com o uso da arquitetura proposta, a ausncia de definio semntica para classes, atributos e seus relacionamentos da linguagem UML puderam ser contornados. A partir da criao de um mecanismo de validao de modelos de domnio de aplicao usando lgica descritiva, pode-se garantir que as especificaes contidas so verdadeiras por terem sido usadas provas matemticas para sua satisfatibilidade. Uma boa perspectiva com vistas a um trabalho futuro utilizar algum modelo de processo de software para medir a qualidade dos artefatos produzidos, benefcios e comparar o uso desta arquitetura em relao a outras existentes.

7. Referncias
Abdalla et al. Mdulo de Gesto do Conhecimento. Universidade Federal da Bahia, http://twiki.im.ufba.br/bin/view/Residencia/Cursos, Abril, 2005. Guizzard, Giancarlo. Uma abordagem metodolgica de desenvolvimento para e com reuso, baseada em ontologias formais de domnio. Programa de Mestrado em

Informtica Universidade Federal do Esprito http://wwwhome.cs.utwente.nl/~guizzard/MSc/, Julho, 2000.

Santo,

Vitria,

Falbo, R.A., Guizzardi, G., Duarte, K.C. An Ontological Approach to Domain Engineering. Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering, SEKE'2002, pp. 351- 358, Ischia, Italy, 2002. Freitas, F. Ontologias e Websemntica. IV ENIA Encontro Nacional de Inteligncia Artificial, Campinas, Minicurso. In Anais do XXIII Congresso da Sociedade Brasileira de Computao, 52 p, 2003. Mellor, J. Stephen et al. MDA Destilada: Princpios da Arquitetura Orientada por Modelos. Editora Cincia Moderna Ltda., p. 15-169, 2003. OptimalJ. Model-Driven Development http://www.compuware.com/products/optimalj/, Julho, 2006. for Java.

Poseidon. Poseidon for UML 4.2. http://gentleware.com/index.php, Julho, 2006. Ribeiro, M.. Raciocnio em Lgica de Descries. Universidade Federal da Bahia, http://twiki.im.ufba.br/bin/view/Residencia/Cursos, Abril, 2005.

Potrebbero piacerti anche