2.4. ANTİOKSİDANLAR
2.4.3. Diyabet ve Oksidatif Stres
Figura 7.5: Abordagem de Kim e Lee para construção de serviços Web semânticos - extraído de [Kim and Lee, 2007]
traído dos diagramas UML para que transformações em XSLT possam criar o documento OWL-S.
7.6 Comparação entre as ferramentas
As ferramentas supracitadas apresentam abordagens distintas. Algumas se limi- tam a criação de ontologias de serviços Web enquanto outras, além da ontologia, criam o serviço Web. Para efeito de comparação dos trabalhos relatados supracitados com a fer- ramenta AutoWebS, levando-se em consideração os requisitos para uma ferramenta de alto nível de abstração para a criação de serviços Web semânticos, sumarizamos na Ta- bela 7.1 uma comparação entre elas. Na Tabela 7.1, sim significa que a ferramenta atende integralmente o requisito correspondente e não é o caso contrário, quando a ferramenta não atende ao requisito. Quando assinalado parcialmente, a ferramenta em questão não atende completamente o requisito correspondente.
Requisitos
R0 R1 R2 R3 R4 R5 R6
OWL-S Editor não não sim sim não sim parcialmente
CODE sim sim sim não parcialmente parcialmente sim
ASSAM não não sim sim não sim não
Yang e Chung sim não sim não não sim parcialmente
Kim e Lee sim não sim sim não parcialmente parcialmente
AutoWebS sim sim sim sim sim sim sim
Tabela 7.1: Comparação entre os trabalhos relacionados
O plugin OWL-S Editor [Elenius et al., 2005] requer que o usuário entenda o ambiente Protégé, o que pode levar a uma curva de aprendizado acentuada. Portanto, não atende o requisito R0. A ferramenta também não atende requisito R1, pois o seu propósito não é a criação de serviços Web, seu propósito é a criação da ontologia do serviço Web
7.6 Comparação entre as ferramentas 102
(requisito R2), usando ontologias pré-existentes (requisito R3). Esta ferramenta também não implementa o requisito R4, pois não oferece um ambiente de desenvolvimento que integra todas as funcionalidades necessárias para a criação de um serviço Web semântico, uma vez que são necessários o uso de recursos externos como, por exemplo, o Axis2 para criação do serviço Web. Em relação ao requisito R5, podemos afirmar que a ferramenta o implementa. Entretanto, tanto os requisitos R2 e R5 merecem uma ressalva, pois para as transformações XSLT não é oferecido na ferramenta nenhum mecanismo para criá-las. Quanto ao requisito R6, a arquitetura da ferramenta Protégé provê um suporte básico à integração de novas funcionalidades. Assim, classificamos como parcialmente implementado tal requisito.
A ferramenta CODE [Srinivasan et al., 2005] provê um mecanismo para abstra- ção da linguagem OWL-S e também para criação do serviços Web através dos utilitários Java2WSDLe WSDL2OWL-S. Estes utilitários realizam as transformações automáticas e proporcionam certo nível de abstração, desta forma atendendo os requisitos R0 e R1. Na ferramenta, a ontologia OWL-S é gerada automaticamente (requisito R2), entretanto de forma incompleta, necessitando do processamento manual para completar as subontolo- gias ServiceProfile e ServiceModel, dessa forma atendendo apenas parcialmente o requi- sito R5, pois o código OWL-S resultante não é completo e executável. Na ferramenta não existem mecanismos para importar os conceitos definidos em uma ontologia para mode- lagem do serviço Web, ou seja, não atende aos requisitos R3 e R4. Esta ferramenta se beneficia da plataforma Eclipse, pois novos módulos que provêem novas funcionalidades podem ser integrados à ferramenta, evidenciando sua conformidade com o requisito R6.
A ferramenta ASSAM [Heß et al., 2004] não está em conformidade com o requisito R0, pois exige do usuário um profundo conhecimento sobre os Schemas XML usados na definição dos elementos da interface do serviço Web, definidos no documento WSDL, e, também, da linguagem OWL. O conhecimento sobre os Schemas XML e OWL são necessários para à construção dos mapeamentos entre os inputs e outputs do serviço Web e as ontologias pré-existentes (requisito R3). Além disso, a associação manual entre os conceitos de uma ontologia e os elementos WSDL pode ser difícil de ser realizada, uma vez que o número de combinações possíveis pode ser grande. Esta ferramenta tem como propósito a criação da ontologia do serviço Web (requisito R2), porém não está integrada a um ambiente de desenvolvimento e não oferece funcionalidades para criação do código fonte do serviço Web muito menos do documento WSDL, evidenciando sua inconformidade com os requisitos R1 e R4. A ontologia do serviço Web é gerada sintaticamente e semântica correta (requisito R5), entretanto a arquitetura da ferramenta não provê suporte a integração de novas funcionalidades, portanto não atende o requisito R6.
7.6 Comparação entre as ferramentas 103
Yang and Chung, 2006a] contempla apenas a criação da ontologia OWL-S, não se pre- ocupando com o serviço Web, ou seja, não atende o requisito R1. Esta abordagem usa a linguagem UML que é amplamente usada como linguagem de modelagem, tornando-a acessível e prática, sem a necessidade de uma curva de aprendizagem acentuada, portanto implementando o requisito R0. A abordagem, através de transformações XSLT aplicadas nos modelos UML, cria automaticamente a ontologia OWL-S (requisito R2). Entretanto, nesta abordagem não é possível usar conceitos definidos em uma ontologia de domínio para descrever semanticamente os elementos do serviço Web. Assim, não contemplando o requisito R3. Em relação ao requisito R4, podemos afirmar que ele não é implementada pela abordagem de Yang e Chung, pois não existe um ambiente de desenvolvimento que integra todas as funcionalidades necessárias para a criação de um serviço Web semântico. Mas os artefatos de código, neste caso somente a ontologia do serviço Web, são validados através de um processo de validação (requisito R5). Yang e Chung implementaram sua abordagem usando uma ferramenta CASE UML proprietária. Isto significa que os docu- mentos XMI que representam os modelos UML não são compatíveis com outras ferra- mentas UML. Por se tratar de uma ferramenta proprietária e com o código fonte fechado, não é possível fazer extensões. Assim, não permitindo a inserção de novas funcionalida- des (requisito R6) na ferramenta CASE UML. Entretanto, a especificação da abordagem é independente de ferramenta e, portanto, ela pode ser implementada em outra ferramenta como, por exemplo, o perfil UML pode ser criado usando-se a infraestrutura do Eclipse Modeling. Assim, consideramos que esta abordagem atente parcialmente o requisito R6.
O trabalho de Kim e Lee [Kim and Lee, 2007], igualmente ao trabalho de Yange e Chung, contempla apenas a criação da ontologia OWL-S, não se preocupando com a implementação do serviço Web, ou seja, não atende o requisito R1. A abordagem faz uso dos diagramas da UML e especifica um método de três passos para construção da ontolo- gia OWL-S (requisito R0). O documento XMI que representa os modelos UML - classes, sequência ou atividade - é transformado automaticamente no documento OWL-S através de transformações XSLT (requisito R2). Para modelagem dos serviços Web é permitido usar conceitos definidos em uma ontologia de domínio. Esta ontologia, em um primeiro passo da metodologia desenvolvida, é importada e representada usando-se os elementos do diagrama de classes da UML (requisito R3). O requisito R4 não é implementado na abordagem de Kim e Lee, pois não existe um ambiente de desenvolvimento que inte- gra todas as funcionalidades necessárias para a criação de um serviço Web semântico. O requisito R5, que diz respeito aos artefatos de códigos gerados, é atendido parcial- mente, pois a abordagem é capaz de gerar a ontologia OWL-S sem a subontologia Service Grounding. Já em relação ao requisito R6, mantemos a mesma justificativa do trabalho de Yang e Chung, pois a abordagem foi implementada em uma ferramenta CASE UML e existem alguns desafios de interoperabilidade, principalmente os relacionados à especi-
7.6 Comparação entre as ferramentas 104
ficação da UML. Desta forma, consideramos que esta abordagem atente parcialmente o requisito R6.
CAPÍTULO
8
Conclusão
Neste capítulo encerra-se esta dissertação. Em seguida apresentamos uma síntese dos temas abordados nos capítulos anteriores e tecemos alguns comentários que julgamos oportunos para conclusão deste trabalho. Apresentamos na Seção 8.1 as principais con- tribuições desta dissertação. Na Seção 8.2 ressaltamos algumas limitações da abordagem proposta e apontamos, na Seção 8.3, alguns melhorias e trabalhos futuros.
Este trabalho apresentou uma ferramenta MDD para a criação de serviços Web semânticos. Esta ferramenta implementa um processo MDD - com o uso de um perfil UML, um metamodelo para linguagem OWL-S e transformações entre modelos e texto - para tornar o desenvolvimento de um serviço Web semântico mais intuitivo e prático.
Iniciou-se esta dissertação apresentando a dificuldade em se criar serviços Web semânticos, abordando desde as linguagens de baixo nível usadas para descrição semân- tica dos serviços Web como, por exemplo, a linguagem OWL-S, até as limitações das principais ferramentas. Devido a complexidade da gramática da linguagem OWL-S é di- fícil construir manualmente uma ontologia do serviço Web e a curva de aprendizado desta linguagem é acentuada.
Em seguida, no Capítulo 2, foram apresentadas as principais características, conceitos e tecnologias dos serviços Web semânticos, bem como as tecnologias do MDD usados para gerenciar a complexidade inerente dos serviços Web semânticos.
No Capítulo 3 foram apresentadas as similaridades entre as linguagens de es- pecificação de ontologias e a linguagem de modelagem UML. As similaridades entre as linguagens são fundamentais para a especificação do perfil UML que a ferramenta AutoWebS usa. Mostrou-se também os elementos da linguagem OWL que são direta- mente usados e, portanto, necessários para criação de serviços Web semânticos, apresen- tando como esses elementos podem ser representados com elementos da UML.
Apresentada a fundamentação teórica do trabalho, em seguida iniciou-se a apre- sentação da ferramenta proposta e dos requisitos fundamentais para uma ferramenta de alto nível de abstração para a criação de serviços Web semânticos. A ferramenta em ques- tão emprega uma abordagem MDD para a geração de serviços Web semânticos a partir de modelos UML. A ferramenta oferece um ambiente que integra várias funcionalidades
106
necessárias para modelar, implementar, compilar e fazer o deploy de serviços Web semân- ticos. Ao longo do Capítulo 4 foram apresentadas a arquitetura da ferramenta, explici- tando seus componentes e tecnologias relacionadas, o perfil UML usado para representar elementos da OWL em UML, o processo de importação de ontologias OWL através de transformações XSLT, o metamodelo para linguagem OWL-S, as regras de mapeamento QVT usadas para transformar um modelo UML em um modelo OWL-S e, por fim, o funcionamento da ferramenta.
A abordagem implementada pela ferramenta proporciona aos desenvolvedores dos serviços Web semânticos concentrar seus esforços na criação de modelos em vez de escrever códigos ou criar descrições semânticas. Associado a isto, o fato de que os modelos criados a partir de perfis UML são modelos UML válidos e devido a ampla utilização da UML como linguagem de modelagem, esta abordagem torna a ferramenta AutoWebS acessível a um público maior do que aquele formado por especialistas da área da Web semântica.
A dissertação apresentou um estudo de caso no Capítulo 5 que demonstra o uso do AutoWebS na criação de um serviço Web semântico para um serviço provido por uma plataforma de middleware de contexto que não utiliza a tecnologia dos serviços Web semânticos. Neste estudo de caso evidenciamos a utilidade e praticidade do AutoWebS, apresentando como a ferramenta foi usada para criar um serviço Web semântico usando os conceitos definidos em uma ontologia de domínio OWL, abstraindo o modelo de comunicação usado pela plataforma de middleware de contexto e, também, realizando a conversão da representação dos elementos de contexto de chave-valor para ontologia.
No Capítulo é apresentado um experimento controlado que avalia o AutoWebS em relação a uma suíte de aplicativos composta pelo OWL-S Editor e o plugin Axis2 da IDE Eclipse. O experimento tem como objetivos obter indicativos da qualidade dos arte- fatos de códigos gerados pela ferramenta AutoWebS, comparar os tempos de desenvolvi- mento de serviços Web semânticos obtidos pela ferramenta AutoWebS e pela suíte de apli- cativos, mensurar o esforço despendido e a dificuldade no uso da ferramenta AutoWebS e na suíte de aplicativos OWL-S Editor e Axis2, além de verificar se abordagem de inte- gração de ferramentas para criação de serviços Web semânticos é mais eficiente do que a abordagem tradicional. Os resultados obtidos do experimento controlado são promissores e demonstram que os tempos obtidos com a ferramenta AutoWebS para criação dos servi- ços Web semânticos foram inferiores aos tempos obtidos pela suíte de aplicativos OWL-S Editor e Axis2. Os serviços Web gerados pelas duas ferramentas no experimento contro- lado são semelhantes, uma vez que usam o mesmo middleware para criação de serviços Web, o middleware Axis2. Já as ontologias dos serviços Web diferiram. Quando usado o AutoWebS obteve-se um número menor de erros ou inconsistências na ontologia do serviço Web do que quando foi usada a suíte de aplicativos. A análise qualitativa mostrou
8.1 Contribuições 107
que a ferramenta AutoWebS contribuiu positivamente para o diminuição do cansaço e do tempo de desenvolvimento dos serviços Web semânticos.
8.1 Contribuições
Recentemente muitos pesquisadores têm voltado seus esforços para criação de abordagens para composição de serviços Web. Essas abordagens, a maioria, partem do pressuposto que os serviços Web estão desenvolvidos e suas ontologias especificadas em alguma linguagem de descrição semântica. Também existem outras abordagens que tratam a questão da composição somente para serviços Web que usam tipos primitivos nos parâmetros de suas operações, negligenciando os tipos complexos definidos em Schemas XML e/ou conceitos definidos em ontologias.
A criação de um serviço Web semântico atômico, isto é, a implementação do ser- viço Web e a especificação da sua ontologia, ainda é um problema recorrente que merece atenção, pois a maioria das ferramentas não suporta todas as etapas do desenvolvimento de um serviço Web semântico. As poucas ferramentas que suportam todas as etapas falham em algum ponto, seja na qualidade dos artefatos gerados como, por exemplo, a incom- pletude da ontologia do serviço Web criada a partir de conversores WSDL2OWLS, ou no layoute apresentação da ferramenta como, por exemplo, a ferramenta OWL-S Editor que necessita de uma curva de aprendizado muito acentuada.
A principal contribuição dessa dissertação é a especificação e o desenvolvimento de uma ferramenta, denominada AutoWebS, para criação de serviços Web semânticos que implementa uma abordagem MDD. O AutoWebS oferece ao usuário um ambiente gráfico onde é possível usar os conceitos definidos em uma ontologia de domínio para modelar a interface de serviços Web semânticos. A ferramenta AutoWebS cria automaticamente a ontologia do serviço Web e o esqueleto de código fonte a partir de modelos UML. Utilizando a ferramenta, é possível modelar serviços Web semânticos de uma forma independente de plataforma através da UML.
Outras contribuições importantes desta dissertação são: a especificação e imple- mentação de um perfil UML cuja finalidade é permitir a representação de alguns ele- mentos da linguagem OWL em UML e também permitir a modelagem de serviços Web semânticos; as regras de transformações XSLT para transformar os elementos de uma on- tologia OWL que são necessários para criação de serviços Web semânticos, em elementos da UML; a especificação e implementação do metamodelo em Ecore para a linguagem OWL-S; a especificação e implementação da transformação Modelo para Modelo (M2M) na linguagem QVT para transformar um modelo UML em um modelo correspondente ao metamodelo OWL-S; e a transformação Modelo para Texto (M2T) para que, a partir de um modelo OWL-S, criar-se um arquivo OWL-S.
8.2 Limitações 108
8.2 Limitações
A ferramenta AutoWebS apresenta algumas limitações, porém as limitações não inviabilizam o seu uso. As limitações atuais do AutoWebS são:
• A ferramenta AutoWebS propõe-se a criação de serviços Web semânticos atômicos, limitando-se a criação de serviços Web e seu ontologia.
• A versão atual do algoritmo para criação do script XSLT para o elemento xsltTransformationda ontologia do serviço Web limita-se a criação de scripts XSLT para conceitos de ontologias que possuem propriedade dos tipos primitivos defini- dos no Schema XML ou outros conceitos definidos como classes OWL. Para os casos mais complexos como, por exemplo, definições de listas, tal algoritmo não consegue fazer sua interpretação corretamente e, portanto, não é capaz de gerar o scripXSLT.
• Na importação da ontologia de domínio um conjunto de transformações XSLT criam um modelo UML em arquivo XMI com a extensão .uml. Entretanto, o editor UML usado pelo AutoWebS, o editor Papyrus, não renderiza o digrama UML automaticamente na interface gráfica da ferramenta. O Papyrus usa dois outros arquivos auxiliares para renderizar o diagrama UML. Os arquivos com a extensão .di e .notation definem as coordenadas de cada elemento do modelo UML. Sem esses arquivos o editor Papyrus não renderiza os elementos do modelo UML, necessitando que o usuário faça este trabalho. Para modelos com poucos elementos este trabalho é fácil, porém quando o modelo é grande, este trabalho torna-se árduo e cansativo.
• A interface gráfica da ferramenta é outro ponto que merece atenção e foi eviden- ciado na avaliação subjetiva da ferramenta durante o experimento controlado. A disposição dos botões e menus e o acesso as funcionalidades precisam ser revistos. • Em um experimento controlado, a quantidade de participantes e réplicas são fatores importantes que podem ameaçar a sua validade (ver Seção 6.3.7). No experimento controlado aplicado a ferramenta AutoWebS foi necessário adequar o seu projeto de forma que apenas dois participantes e dezesseis execuções foram realizadas. Entre- tanto esta adequação não tira a validade do experimento controlado e a análise esta- tística dos resultados pode ser realizada usando-se o método estatístico Wilconxon para amostrar pequenas [Corder and Foreman, 2009, Berenson and Levine, 1996].
8.3 Trabalhos Futuros
Como trabalho futuro propõe-se, com base nos desenvolvimentos realizados neste trabalho, evoluir a ferramenta AutoWebS com a criação de outro conjunto de es-
8.3 Trabalhos Futuros 109
tereótipos, propriedades e restrições UML para proporcionar a criação de composição de serviços Web. Um novo perfil UML aplicado a elementos do diagrama de estados ou di- agrama de sequência podem ser usados para modelar o comportamento e a composição de serviços Web, semelhante aos trabalhos de Yang e Chung [Yang and Chung, 2006b, Yang and Chung, 2006a] e Kim e Lee [Kim and Lee, 2007]. Além da definição e imple- mentação do perfil UML será necessário a criação de novas regras de transformações modelo para modelo e modelo para texto, mas não será necessário alterar o metamodelo OWL-S, uma vez que ele está bem definido e atende a toda especificação da linguagem OWL-S.
Propõe-se também a criação de uma GUI para a especificação de condições (Preconditions, Effects e Results) que são usados nas ontologias dos serviços Web. Atualmente tais condições são especificadas por intermédio de comentários no modelo UML (elemento Comment da UML).
As limitações atuais da ferramenta devem ser supridas. Pretende-se melhorar o algoritmo para geração dos scripts XSLT para o elemento xsltTransformation da ontologia do serviço Web. É previsto também uma evolução da interface gráfica da ferramenta e principalmente a maneira como as funcionalidades são acessadas através dos botões e menus.
Para geração automática dos artefatos de código fonte do serviço Web, atual- mente a ferramenta faz uso do framework da Apache Axis2. Entretanto, a arquitetura da ferramenta possibilita o uso de outros mecanismos para geração dos artefatos do ser- viço Web como, por exemplo, os frameworks Metro1, Spring WS2e CXF3. Dessa forma, espera-se integrar esses frameworks a ferramenta AutoWebS.
Finalmente, espera-se aumentar o grau de avaliação da ferramenta através da realização de novos estudos de caso e experimentos controlados.
1http://metro.java.net
2http://static.springsource.org/spring-ws/sites/2.0/ 3http://cxf.apache.org/