=Paper=
{{Paper
|id=Vol-123/paper-8
|storemode=property
|title=Proposta de Um Metodo para o Desenvolvimento de Aplicacoes para a Web Semantica Utilizando MDA
|pdfUrl=https://ceur-ws.org/Vol-123/17_wss2004_final.pdf
|volume=Vol-123
}}
==Proposta de Um Metodo para o Desenvolvimento de Aplicacoes para a Web Semantica Utilizando MDA==
Proposta de Um Método para o Desenvolvimento de Aplicações para
a Web Semântica Utilizando MDA
Leonardo M. Cunha1, Carlos J. P. de Lucena1
1
Laboratório de Engenharia de Software, Departamento de Informática,
Pontifícia Universidade Católica do Rio de Janeiro, PUC-Rio,
R. Marquês de São Vicente, 225, Gávea,
Rio de Janeiro, RJ, Brasil, 22453-900, + 55 21 2540-6915 x103
e-mail: [leocunha, lucena]@les.inf.puc-rio.br
Resumo
Uma solução de gerência do conhecimento, utilizando as tecnologias da Web Semântica, foi elaborada para
o Laboratório de Engenharia de Software da Pontifícia Universidade Católica do Rio de Janeiro. Durante
este processo percebeu-se a necessidade de um método que possibilitasse o desenvolvimento de aplicações
que tratam dados anotados segundo uma ontologia ao contrário de métodos ad hoc que levam a
redundância de informações e re-trabalho. Neste artigo discutem-se os trabalhos em andamento e como este
tema será desenvolvido utilizando uma abordagem do Object Group Management (OMG) chamada de
Model Driven Architecture (MDA).
Abstract
This paper describes an ongoing research work carried out at the Software Engineering Laboratory of the
Computer Science Department at the Catholic University of Rio de Janeiro. This work tries to leverage the
construction of Semantic Web applications through the use of Object Group Management’s Model Driven
Architecture (MDA). An annotation tool was developed to manage the knowledge of a group of researchers
and now some applications to access the semantically annotated data need to be developed. For that
purpose, the use of MDA seems quite applicable.
1. Introdução
Segundo Sure et alli [1] a Gerência do Conhecimento (Knowledge Management - KM)
vem se tornando um importante fator de sucesso em organizações onde a aplicação do
conhecimento é crucial, por exemplo em empresas, passando por universidades e
principalmente em grupos de pesquisa. Entretanto, implementar uma iniciativa de KM é
uma tarefa complexa e desafiante. Neste contexto, uma solução interessante é adicionar
semântica aos dados disponíveis. Isto permite que diferentes sistemas apliquem técnicas de
raciocínio (reasoning) e desta forma infiram novos dados e forneçam serviços
personalizados para os usuários finais. Esta é a solução proposta pela Web Semântica [2, 3]
e suas tecnologias associadas.
A solução proposta pela Web semântica pode ser resumida, informalmente, na fórmula:
Dados + Semântica (ontologias) + Inferências = Serviços “inteligentes” para
usuários finais
Esta distinção pode ser também encontrada no trabalho de Fensel et alli [4],onde o alcance
do potencial da Web Semântica está “sujeito” ao desenvolvimento de uma gama de
ferramentas e tecnologias:
- Linguagens formais para representar ontologias; editores para construir, alinhar,
unir e reutilizar ontologias;
- Serviços de inferência (reasoning) que permitam consultas avançadas e
mapeamento entre diferentes terminologias;
- Ferramentas de anotação para ligar (to link) fontes de informação, desestruturadas
ou semi-estruturadas, como metadados;
- Ferramentas para acesso e navegação que possibilitem a utilização “inteligente”
para usuários e serviços de tradução e integração de diferentes ontologias. Isto
possibilitaria o intercâmbio de dados descritos em diversas especificações (standards)
(especialmente nos casos de comércio eletrônico Business-to-Business e KM).
O presente artigo é o resultado de um trabalho que tem por objetivo o estudo e a integração
das soluções da Web Semântica com a área de Engenharia de Software. A princípio, foram
estudados os conceitos que embasam a Web Semântica, como ontologias [5, 6, 7, 8],
linguagens para sua representação [9, 10], editores para sua criação [11, 12, 13] assim
como métodos e metodologias [14, 15] para a criação das mesmas.
A partir destas atividades foi possível a determinação de um estudo de caso que
possibilitasse a aplicação dos conceitos da Web Semântica. O estudo de caso escolhido foi
o desenvolvimento de uma solução de gerência do conhecimento, que armazena e
disponibiliza as informações dos pesquisadores e sua produção, no Laboratório de
Engenharia de Software (LES) da PUC-Rio. Este estudo de caso compreendeu a adaptação
de uma ferramenta geradora de portais (Milestone Portalware) baseada método OOHDM
(Object Oriented Hypermedia Design Method) [16, 17] através da incorporação de
semântica, por meio de uma ontologia, aos dados oferecidos pelo portal criado pela
ferramenta [18].
A partir dos dados anotados oferecidos pela ferramenta adaptada foi possível o
desenvolvimento de aplicações que utilizassem-nos. As aplicações desenvolvidas foram
respectivamente um framework para a geração de relatórios, como Lattes [19] e RPA [20],
e um outro para a formação de grupos de interesse, por exemplo entre pesquisadores de
uma mesma área de pesquisa.
A partir do desenvolvimento destas aplicações, a nova etapa que se impõe é a efetiva
integração das áreas de Web Semântica e Engenharia de Software. Isto, acredita-se,
dar-se-á pela utilização de um conceito há muito difundido, mas que vem ganhando espaço
tanto na área acadêmica [21, 22, 23] como na comercial, que é o de Model Driven
Development. Duas das iniciativas que se destacam atualmente são as da Microsoft,
chamada de Software Factories [24], e a do Object Group Management (OMG), chamada
de Model Driven Architecture (MDA) [25, 26].
Como as ontologias podem ser consideradas modelos, este trabalho propõe a utilização das
mesmas, através de uma abordagem MDA, para a construção de aplicações que tratem
dados anotados semanticamente. Por outro lado, há a possibilidade de “inserção” de
semântica em várias aplicações já desenvolvidas utilizando modelos descritos seguindo
padrões como o Meta-Object Facility (MOF) [27].
Este artigo encontra-se organizado da seguinte forma: na próxima seção é introduzida a
abordagem MDA. Na seção 3 são discutidos a evolução do estudo de caso assim como o
desenvolvimento de um método para a criação de aplicações semânticas. Na seção seguinte
são apresentados brevemente alguns trabalhos relacionados e na seção 5, as atividades já
realizadas, em andamento e futuras.
2. Model Driven Architecture
Como a Web Semântica pode ser considerada uma extensão da World Wide Web (WWW)
conhecida hoje através do fornecimento de um significado bem definido para os dados
disponíveis [1], a diversidade de plataformas e tecnologias é também considerável. Tanto
na WWW como na maior parte das áreas em tecnologia da informação, homogeneidade em
plataformas de hardware, sistemas operacionais, protocolos e linguagens de programação é
algo quase impossível de ser alcançado. A adequação destes recursos às soluções para as
organizações é sempre limitada ao tipo de meta que se pretende atingir.
A iniciativa Model Driven Architecture (MDA) definida pelo OMG se apresenta como
uma solução para o problema apresentado no parágrafo anterior. MDA é baseada na idéia
de separar a especificação das funcionalidades de um sistema dos detalhes de sua
implementação em uma plataforma específica. As principais metas a serem alcançadas são
portabilidade, interoperabilidade e reusabilidade através da separação arquitetural de
interesses (concerns).
MDA oferece uma abordagem para resolver o problema através de:
- Especificação de um sistema independentemente da plataforma na qual ele será
desenvolvido;
- Especificação de plataformas; escolha de uma plataforma específica; e
- Transformações da especificação do sistema em uma plataforma particular.
Além de se basear em modelos para o desenvolvimento de aplicações, MDA também
possibilita o reaproveitamento do grande número de sistemas já desenvolvidos utilizando
MOF/UML, incentiva a técnica de Design by Contract [28], e promove as ferramentas já
desenvolvidas para o gerenciamento de modelos MOF/UML, como a plataforma Eclipse
[29].
Como o objetivo inicial deste trabalho é a integração da Web Semântica com a Engenharia
de Software, verificou-se que há possibilidades de associação entre estas duas áreas como
será discutido na próxima seção.
3. Evolução do Estudo de Caso e Discussão da Proposta de um Método para o
Desenvolvimento de Aplicações para a Web Semântica utilizando MDA
Conforme descrito anteriormente, um estudo de caso [18] foi projetado e está sendo
implementado para solucionar a gerência do conhecimento dos projetos desenvolvidos e
em desenvolvimento no Laboratório de Engenharia de Software da PUC-Rio. Como
resultado deste estudo de caso já se encontra em fase de testes o portal adaptado que
fornece informações anotadas segundo uma ontologia e dois frameworks, apresentados a
seguir, que utilizam estas informações.
O framework OntoREx tem o propósito de extrair relatórios no formato XML, que sigam
uma estrutura genérica, porém bem definida, a partir de uma base de conhecimento
anotada segundo uma ontologia. Uma das instâncias que foi gerada deste framework foi
uma ferramenta que permite a geração do currículo Lattes [19] de um pesquisador a partir
das informações fornecidas pelo portal adaptado. Outra possível instância que será
implementada é a geração de informações para o projeto RPA@PUC (Rede de Perfis
Acadêmicos da PUC-Rio) que armazena e disponibiliza dados sobre a produção acadêmica
da PUC-Rio através da Internet [20].
Um segundo framework foi desenvolvido para a formação de grupos de interesse a partir
de uma base de conhecimento, anotada em DAML+OIL. A base de conhecimento deve
seguir os conceitos de qualquer ontologia que trate de pessoas e de objetos
(palavras-chave, áreas de pesquisa etc) nos quais as pessoas possuam interesse. Este
interesse deve ser determinado através do cálculo de um perfil, que por sua vez, deve ser
baseado em alguma heurística, como por exemplo, quantas publicações um determinado
pesquisador possui com a palavra-chave Hipermídia.
Estes dois frameworks caracterizam alguns dos tipos de aplicações semânticas que podem
ser desenvolvidas com o auxílio de ontologias. Mas como possibilitar que estas aplicações
sejam reaproveitadas em diferentes sistemas operacionais ou diferentes linguagens de
programação? Como aproveitar a capacidade de inferir sobre estas informações ao
desenvolvermos uma aplicação? Nós acreditamos que através da utilização de MDA estas
e outras oportunidades podem ser alcançadas.
A linguagem que é utilizada em MDA para a descrição dos seus modelos, MOF/UML, é
complementar em vários aspectos a Ontology Web Language (OWL) [10], que é a
recomendação atual do World Wide Web Consortium (W3C) para linguagem de descrição
de ontologias. As técnicas de Design by Contract podem ser favorecidas com a utilização
de ontologias e máquinas de inferência como as oferecidas pela Web Semântica. Outros
pontos que talvez venham a gerar resultados interessantes são a utilização das ferramentas
e tecnologias já disponíveis para o gerenciamento de modelos que apóiam o
desenvolvimento de modelos MOF/UML e a utilização de UML como linguagem de
representação gráfica para ontologias.
Num primeiro momento, nosso foco está voltado para identificação de quais informações
disponíveis numa ontologia podem auxiliar no processo de desenvolvimento das
aplicações. Portanto, pretende-se que dada uma ontologia, possibilite-se a criação de
aplicações que utilizem dados descritos segundo esta ontologia através de um método que
será definido utilizando-se da abordagem de MDA. Assim, possibilita-se que um
engenheiro do conhecimento desenvolva ontologias e forneça dados mais claros e precisos
auxiliando os engenheiros de software na criação de aplicações para a Web Semântica.
De acordo com Guarino [30], ontologias podem ser classificadas como alto nível, de
domínio, de tarefa e de aplicação. Cada um destes tipos de ontologia deverá ser levado em
consideração quando do desenvolvimento do método, uma vez que o escopo das
informações disponíveis é completamente diferente. No estudo de caso que está em
desenvolvimento, trabalhou-se com uma ontologia de domínio e reflexo disso no
desenvolvimento das aplicações é que foi possível generalizá-las a ponto de torná-las
frameworks. Ontologias de aplicação provavelmente podem muito mais informações do
que uma ontologia de domínio e portanto seu auxílio pode ser importante não só para a
construção de diagramas estáticos (classes), mas também dinâmicos (seqüência,
colaboração etc).
Além da questão da classificação das ontologias, que deve ser aprofundada, há também o
nível de expressividade da sub-linguagem de OWL utilizado. A princípio, OWL Lite não
parece suficiente para o tratamento de sistemas mais complexos, uma vez que existirão,
por exemplo, restrições de cardinalidade que não somente as de 0 ou 1. Já OWL DL parece
atender aos objetivos apresentados neste trabalho, já que há a garantia de completude
computacional (computational completeness) e decidibilidade (decidability). Já OWL Full,
apesar do alto poder de expressividade não oferece garantias computacionais, o que a torna
inadequada para este trabalho.
Para alcançar esta meta e demonstrar a contribuição do trabalho, a continuidade do estudo
de caso, sua evolução e manutenção serão necessárias e, caso haja necessidade, novos
casos de uso serão projetados.
4. Trabalhos Relacionados
O OMG lançou uma chamada de trabalhos para a definição de um padrão para a
transformação de modelos descritos em UML em ontologias descritas em OWL através da
abordagem de MDA. Algumas propostas iniciais foram submetidas e na proposta final os
proponentes se uniram e submeteram um trabalho conjunto [31].
A proposta final submetida à chamada do OMG prevê a realização tanto da transformação
de modelos UML em OWL quanto de modelos OWL em UML. Entretanto o enfoque é
mantido na transformação de UML em OWL, o que é claramente influenciado por ser o
OMG a organização que vem gerenciando este projeto.
Outro trabalho relacionado importantes é o de Gaševic et alli [32] que possui uma
abordagem similar à da proposta final submetida ao OMG. Tanto a proposta final
submetida ao OMG quanto o de Gaševic et alli [32] se diferenciam deste no enfoque que é
o de atentar para as transformações de UML para OWL.
Dentre outros trabalhos relacionados que precisam ser mais estudados está o projeto HERA
[33], que objetiva a geração de apresentações hipermídia em sistemas de informação
baseados na Web.
5. Considerações Finais
Para alcançar as metas definidas, alguns trabalhos já foram desenvolvidos:
- Desenvolvimento da ontologia sobre projetos de pesquisa [18];
- Personalização do Milestone Portalware para a ontologia desenvolvida;
- Desenvolvimento inicial deste trabalho e sua apresentação como pôster em dois
workshops [34] [35];
- Co-orientação de dois alunos de mestrado que desenvolveram as ferramentas para
a utilização dos dados anotados semanticamente.
Entre os trabalhos em andamento destacam-se:
- A implantação do Milestone Portalware personalizado para o Laboratório de
Engenharia de Software e sua adaptação às necessidades específicas deste projeto que usa
uma ontologia e não o modelo conceitual definido pela ferramenta;
- O aperfeiçoamento e a adaptação da ferramenta de anotação semântica
desenvolvida em uma disciplina;
- O acompanhamento e comparação de trabalhos relacionados.
Entre os próximos passos deste trabalho estão: uma análise crítica das aplicações geradas;
sua reimplementação em plataformas diferentes das já implementadas; elaboração de um
método para sistematizar este tipo de desenvolvimento de aplicações baseados em
ontologias; e a realização de mais estudos de caso.
Referências Bibliográficas
[1] Sure, Y., Staab S. and Studer, R. 2003. On-To-Knowledge Methodology. In Staab, S.
and Studer, R. Eds. Handbook on Ontologies. Series on Handbooks in Information
Systems, Springer.
[2] Berners-Lee, T., Hendler, J. and Lassila, O. 2001. The Semantic Web. Scientific
American, (May 2001).
[3] Berners-Lee, T. 2002. Semantic Web Road map. Presentation available at
[4] Fensel, D. Hendler, J., Lieberman, H., Whalster, W. 2003. Introduction. In Fensel, D.
Hendler, J., Lieberman, H., Whalster, W. Eds. 2003. Spinning the Semantic Web:
bringing the World Wide Web to its full potential. Cambridge, Mass: The Mit Press.
[5] Gruber, T. R. 1993, A translation approach to portable ontologies. Knowledge
Acquisition, 5(2): 199-220, available at
[6] Neches, R., Fikes, R.E., et al., 1991, Enabling Technology for Knowledge Sharing, AI
Magazine, 12(3), 36-56.
[7] Guarino, N., 1995, Formal ontology, conceptual analysis and knowledge
representation, Intl. J. Human-Computer Studies 43(2/3): 625-640.
[8] Borst, W.N. 1997. Construction of Engineering Ontologies, Technical Report.
University of Twente, Enschede, NL. Center for Telematica and Information
Technology.
[9] DAML+OIL (March 2001) Reference Description. World Wide Web Committee
(W3C), available at
[10] Smith, M. K., Welty, C., McGuinness, D. L., 2004, OWL Web Ontology Language
Guide, W3C Recommendation 10 February 2004 available at
[11] Bechhofer, S., Horrocks, I, Goble, C. & Stevens, R., 2001, OilEd: a Reason-able
Ontology Editor for the Semantic Web, Proceedings of KI2001, Joint German/Austrian
Conference on Artificial Intelligence, September 19-21, Vienna. Springer-Verlag
LNAI Vol. 2174, pp 396-408.
[12] Grosso, W.E., Eriksson, H., Fergerson, R.W., Gennari, S., Tu, S., Musen, M.A., 1999,
Knowledge Modeling at the Millennium (The Design and Evolution of Protégé 2000),
Stanford Medical Institute.
[13] Staab, S., Maedche, A., 2000, Ontology engineering beyond the modeling of concepts
and relations. In Proceedings of the ECAI-2000Workshop on Ontologies and Problem-
Solving Methods. Berlin, August 21-22.
[14] ONTOWEB GROUP, 2002. Deliverable 1.4: A survey on methodologies for
developing, maintaining, evaluating and reengineering ontologies, available at
[15] Brauner, D. F., Brandão, A. A. F., Cunha, L. M., Lucena, C. J. P., 2003. Um estudo de
caso para Avaliação do Knowledge Unified Process para o Desenvolvimento de
Ontologias, Monografias em Ciência da Computação nº 50/03, Departamento de
Informática, PUC-Rio, 73 p.
[16] Rossi, G., Schwabe, D. and Lyardet, F., 1999, Web Application Models Are More
than Conceptual Models, In Proceedings of the ER'99, Paris, France, November 1999,
Springer, 239-252.
[17] Schwabe, D. and Rossi, G., 1998, An object-oriented approach to Web-based
application design, Theory and Practice of Object Systems (TAPOS), October 1998,
207-225.
[18] Cunha, L.M.; Brandão, A.A.F.; Orlean, D.; Albarello, A.B.; Schroeder, B.; Lucena,
C.J.P.; Following Up a Case Study for the Semantic Web. Monografias em Ciência da
Computação nº 32/03, Departamento de Informática, PUC-Rio, 7 p., 2003.
[19] Plataforma Lattes. Currículo Lattes, available at
[20] Projeto RPA@PUC (Rede de Perfis Acadêmicos da PUC-Rio). Available at
[21] Workshop on Model Driven Architecture: Foundations and Application (MDAFA)
2003, CTIT Technical Report series nr. 03-27 (Eds: Rensink A.), CTIT, University of
Twente, 2003, ISSN: 1381-3625, pp. 91-96
[22] Model-Driven Architecture: Foundations and Applications 2004 (MDAFA 2004),
(Eds: Assmann U.), Linkoping University, 2004, pp. 219-233.
[23] Workshop on Ontologies to Complement Software Architectures - How to Use
Ontologies and Modularization to Explicitly Describe the Concept Model of a Software
Systems Architecture at OOPSLA 2003, Anaheim, CA, USA, October 26-30
[24] Greenfield, J., Short, K., Cook, S., Kent, S., Software Factories: Assembling
Applications with Patterns, Models, Frameworks, and Tools, John Wiley & Sons,
2004, ISBN 0471202843.
[25] Miller, J. and Mukerfi, J. 2003 MDA Guide Version 1.0. Object Management Group.
Document Number: omg/2003-05-01.
[26] Frankel, D. Model Driven Architecture: Applying MDA to Enterprise Computing,
John Wiley & Sons, OMG Press, January, 2003.
[27] Object Management Group, Meta-Object Facility (MOF™), version 1.4, available at
[28] Meyer, B., 1992, Applying Design by Contract, IEEE Computer, October 1992.
[29] Eclipse Project. Available at
[30] Guarino, N.: Formal Ontology and Information System. Proceedings of FOIS’98,
Trento, Italy, 6-8 June 1998. Amsterdam, IOS Press, pp. 3-15.
[31] Frankel, D. S., Hayes, P., Kendall, E. F., McGuiness, D. L., A Model-Driven
Semantic Web: Reinforcing Complementary Strengths, MDA Journal, Business
Process Trends, July 2004, available at
Lat visited: 10/08/2004
[32] Gaševic , D., Damjanovic, V., Devedžic , V. "Analysis of MDA Support for
Ontological Engineering , In Proceedings of the 4th International Workshop on
Computational Intelligence and Information Technologies, Nis, Serbia and
Montenegro, 2003, pp. 55-58, available at
[33] Houben, G., Barna, P., Frasincar, F., Vdovjak, R. Hera: Development of Semantic
Web Information Systems. ICWE 2003: 529-538
[34] Cunha, L. M., Barbosa, S. D.J., Lucena, C. J. P. Leveraging the Construction of
Semantic Web Applications Using the Model Driven Architecture. In Ashish, N;
Globe, C.(eds). Semantic Web Technologies for Searching and Retrieving Scientific
Data 2003. Proceedings of the Workshop at the 2nd International Semantic Web
Conference - ISWC2003, CEUR Workshop Proceedings, ISSN 1613-0073, v. 83, pp.
1-3, Sanibel Island, Florida, USA, Outubro 20, 2003. Available at
[35] Cunha, L. M., Barbosa, S. D.J., Lucena, C. J. P. Leveraging the Construction of
Semantic Web Applications Using the Model Driven Architecture. Poster presented in
the " Workshop on Model Driven Architecture: Foundations and Applications", June
26-27, 2003, University of Twente, Enschede, The Netherlands, 2003.