planejamento para serviços web semânticos

51
Planejamento para Serviços Web Semânticos Juliana Jabra Chahoud [email protected] Junho / 2006 Orientadora: Profa Leliane Nunes de Barros

Upload: juliana-chahoud

Post on 26-May-2015

939 views

Category:

Documents


1 download

DESCRIPTION

Apresentação utilizada na minha defesa de mestrado no IME - USP em junho de 2006

TRANSCRIPT

Page 1: Planejamento para Serviços Web Semânticos

Planejamento para Serviços Web Semânticos

Juliana Jabra Chahoud [email protected]

Junho / 2006

Orientadora: Profa Leliane Nunes de Barros

Page 2: Planejamento para Serviços Web Semânticos

Conteúdo da apresentação

n  Introdução n  Serviços Web n  Web Semântica n  OWL-S: ontologias para descrição de serviços Web n  Planejamento com ontologias n  A ferramenta WEBRPlan n  Um estudo de caso: planejamento de viagens n  Conclusões e contribuições n  WEBRPlan: Demonstração

Page 3: Planejamento para Serviços Web Semânticos

Motivação

n  Serviços Web são componentes de software que podem ser acessados por outros softwares através da Web;

n  Com o crescimento e proliferação dos serviços Web, torna-se cada vez mais difícil encontrar um serviço que possa executar uma tarefa desejada.

n  Isto é ainda mais difícil quando não existe um serviço único, mas sim combinações de serviços que sejam capazes de executar tal tarefa

n  Essa combinação de serviços para atingir uma necessidade é denominada composição de serviços e pode ser feita por um programador ou automaticamente.

n  O objetivo desse trabalho é automatizar o processo de composição de serviços.

Introdução

Page 4: Planejamento para Serviços Web Semânticos

Exemplo de composição de serviços Web

Preço de livros em dólares

Conversão de moedas

Preço de livros em reais

1 2

Introdução

Page 5: Planejamento para Serviços Web Semânticos

Composição de serviços completamente automatizada

n  A composição de serviços Web completamente automatizada pode ser caracterizada como um processo que envolve os três passos:

1) Descoberta automática - localizar serviços candidatos para a composição

2) Composição automática - determinar quais serviços devem ser executados e em que seqüência para atingir o objetivo

3) Execução automática - invocação dos serviços Web

Introdução

Page 6: Planejamento para Serviços Web Semânticos

O que é necessário para a automação

n  Descrever serviços Web de modo que eles possam ser interpretáveis por máquinas

è  Essa é a proposta da Web Semântica

n  Determinar quais serviços executar e em que ordem:

è  Problema tratado por técnicas de Planejamento em Inteligência Artificial

Introdução

Page 7: Planejamento para Serviços Web Semânticos

Principais objetivos desse trabalho

n  definir como a composição de serviços Web pode ser descrita como um problema de planejamento;

n  determinar quais técnicas de planejamento em IA podem ser usadas para a composição de serviços Web, o que envolve identificar quais são as restrições do ambiente de planejamento;

n  identificar uma maneira de descrever serviços Web como domínios de planejamento (i.e., em termos de ações, tarefas, pré-condições e efeitos) com base nos princípios da Web Semântica;

n  implementar uma ferramenta de software para dar suporte durante todas as etapas envolvidas na composição automática de serviços Web – WEBRPlan (Planejamento para WEB do Brasil)

n  implementar um conjunto de serviços Web que serão usados num estudo de caso

Introdução

Page 8: Planejamento para Serviços Web Semânticos

Estudo de Caso: planejamento de uma viagem para Europa

n  Um turista deseja visitar diversas cidades da Europa. Essa tarefa envolve: reservar hospedagens, comprar passagens aéreas ou de trem, alugar carro, comprar ingressos para pontos turísticos e criar uma agenda com seus compromissos de viagem.

n  Restrições do problema: l  o cartão de crédito do turista possui um limite de saldo; l  acomodações possuem uma dada disponibilidade de vagas; l  de acordo com a distância entre as cidades existem diferentes tipos de transporte

disponíveis; l  de acordo com o seu saldo, o turista pode pagar diferentes tipos de transporte e

acomodação; l  de acordo com a previsão de tempo diferentes pontos turísticos podem ser visitados.

n  Serviços Web criados: l  Hospedagem, Transportes, Ingressos, EuroInfo (informações sobre tempo e

distância) e Agenda.

Introdução

Page 9: Planejamento para Serviços Web Semânticos

Conhecimento prévio sobre o domínio de viagens

n  Meios de transporte: trem, carro ou avião n  Meios de transporte possuem as propriedades: custo e disponibilidade. O custo

de trem e de avião corresponde ao preço das passagens e o custo de carro ao seu aluguel.

n  Tipos de passagens: passagem aérea ou passagem de trem. Passagens possuem as seguintes propriedades: passageiro, origem, destino, data e custo.

n  Localizações: cidades, aeroportos, países, acomodações e pontos turísticos. Uma localização pode estar localizada em outras localizações.

n  Acomodações: hotéis, pousadas e albergues. Acomodações possuem as seguintes propriedades: número de vagas, custo (diária) e localização.

n  Pontos turísticos podem ser classificados em pontos turísticos de inverno ou de verão.

n  Pessoas: turistas e passageiros. Pessoas possuem cartão de crédito que por sua vez possui um saldo. Turistas, possuem agendas com datas e descrições de seus compromissos.

n  Um turista possui os seguintes compromissos: embarcar, desembarcar, retirar carro, devolver carro, visitar pontos turísticos, check-in e check-out em uma acomodação.

n  Pessoas e meios de transporte mudam de localização.

Introdução

Page 10: Planejamento para Serviços Web Semânticos

Serviços Web

Page 11: Planejamento para Serviços Web Semânticos

O que são serviços Web?

n  São componentes de software que:

l  disponibilizam uma interface (WSDL) que descreve uma coleção de operações acessíveis pela rede através de mensagens (SOAP), em formato XML

l  são independentes de linguagens e de plataformas (padrões propostos pela W3C: WSDL, SOAP, XML, HTTP)

Serviços Web

Page 12: Planejamento para Serviços Web Semânticos

Como usar um serviço Web?

Publica a URL e descrição do serviço Web

.wsdl

Serviço Web Proxy

Cliente

UDDI

1 2

3

5 6

1

2

3

5

Descobre o serviço Web Lê a descrição WSDL

Cria um proxy para o serviço Web Invoca o serviço Web através do Proxy

6

Serviços Web

Page 13: Planejamento para Serviços Web Semânticos

WSDL: exemplo do serviço para compra de ingressos

Onde o serviço está localizado

Como as mensagens serão transmitidas:

especificação do SOAP

Operações que serão permitidas:

comprarIngresso

Mensagens que serão transmitidas:

comprarIngressoRequest

comprarIngressoResponse

Serviços Web

Page 14: Planejamento para Serviços Web Semânticos

Principais utilizações dos serviços Web

n  Integração entre empresas (B2B) n  Integração entre empresas e consumidores (B2C)

n  Integração de aplicações corporativas

n  Dispositivos móveis

n  Distribuído / Peer-to-Peer

Serviços Web

Page 15: Planejamento para Serviços Web Semânticos

Web Semântica

Page 16: Planejamento para Serviços Web Semânticos

Serviços Web Semânticos

n  A linguagem WSDL descreve a interface de serviços Web de modo que serviços possam ser acessados independentemente de linguagem e plataforma.

n  Porém, para fazer a composição automática, bem como a descoberta, é necessária uma descrição de serviços Web segundo a proposta da Web Semântica:

l  conteúdo Web descrito em uma linguagem formal, interpretável por máquina, que permita fazer inferências lógicas

Web Semântica

Page 17: Planejamento para Serviços Web Semânticos

O que é Web Semântica?

n  A Web Semântica surge como uma evolução da Web atual, com a principal preocupação em representar informações na Web de maneira que as máquinas possam interpretá-las

n  Tecnologias necessárias para sua implementação:

l  uma maneira de disponibilizar definições de termos e relações entre eles (ontologias)

l  uma linguagem que permita adicionar semântica aos documentos da Web (instâncias das ontologias)

Web Semântica

ontologias + instâncias = base de conhecimento

Page 18: Planejamento para Serviços Web Semânticos

O que é ontologia?

n  Uma especificação formal (baseada em lógica) de conceitos de um domínio e da relação que existe entre eles.

n  Ontologias servem para: l  compartilhar uma interpretação da estrutura de

informação entre pessoas ou agentes computacionais l  permitir a reutilização de uma especificação (modelo)

de um domínio do conhecimento l  fazer inferências lógicas a respeito de um domínio

n  OWL é a linguagem adotada como padrão pelo W3C para descrição de ontologias

Web Semântica

Page 19: Planejamento para Serviços Web Semânticos

OWL: características básicas

n  Classe é uma coleção de propriedades que descrevem um grupo de indivíduos (owl:Class)

n  Propriedades são usadas para criar relações (owl:ObjectProperty e owl:DatatypeProperty)

n  OWL fornece características de propriedades, restrições de tipo (owl:Restriction) e de cardinalidade (owl:Cardinality)

n  Permite construções de classes complexas (intersectionOf, unionOf e complementOf)

Web Semântica

Page 20: Planejamento para Serviços Web Semânticos

Ferramentas para ontologias

n  Ferramentas para edição de ontologias (Protégé, Oiled, OWL-editor, etc)

n  Ferramentas para construção de aplicações: para consultas em ontologias e mecanismos de inferências (Jena, Racer, Pellet, etc)

Web Semântica

Page 21: Planejamento para Serviços Web Semânticos

JENA

n  Framework em JAVA para construção de aplicações para Web Semântica, fornecendo um ambiente de programação para as linguagens RDF, RDFS e OWL. Suas principais funcionalidades são: l  APIs para RDF e para ontologias, incluindo leitura e

escrita nos documentos l  Armazenamento das informações em memória ou

persistência em banco de dados l  Linguagens para consulta em ontologias (ARQ, que

implementa SPARQL) l  Motores de inferência (RDFS, OWL, regras)

Web Semântica

Page 22: Planejamento para Serviços Web Semânticos

Ontologias usadas nesse trabalho

n  Esse trabalho, além de usar ontologias que descrevem serviços Web (mostradas a seguir), são usadas também ontologias específicas do domínio de aplicação.

n  Por exemplo, para o Estudo de Caso sobre viagens para Europa, foi construída a ontologia Euro.owl (Protégé).

Web Semântica

Page 23: Planejamento para Serviços Web Semânticos

OWL-S:

ontologias para descrição de serviços Web

Page 24: Planejamento para Serviços Web Semânticos

OWL-S: OWL-based Web Service ontology

n  Conjunto de ontologias para descrever serviços Web através da linguagem OWL que facilitam a construção de processos automáticos para Web

n  OWL-S é estruturada em quatro ontologias: l  Service.owl, l  Profile.owl, l  Process.owl e l  Grounding.owl

OWL-S

ontologias OWL-S + serviços Web = base de conhecimento

Page 25: Planejamento para Serviços Web Semânticos

Relação entre as ontologias do OWL-S [OWL-S, 2004]

OWL-S

Page 26: Planejamento para Serviços Web Semânticos

ServiceModel (Process.owl): principal ontologia para composição

n  A ontologia ServiceModel descreve: l  operações de serviços como processos atômicos e

compostos

l  a decomposição de processos compostos através de construções de controle (sequence, split, split+join, unordered, choice, if-then-else, iterate e repeat-until)

l  Propriedades de processos necessárias para automatizar a composição (IOPES) : hasInput, hasOutput, hasPrecondition e hasResult. Limitação: não existe um padrão para descrever essas propriedades.

OWL-S

Page 27: Planejamento para Serviços Web Semânticos

Exemplo de processo composto: devolve preço em reais de livros

<process:CompositeProcess rdf:ID="BookPriceProcess"> <process:hasInput rdf:resource="#BookName" /> <process:hasInput rdf:resource="#Currency" /> <process:hasOutput rdf:resource="#BookPrice" /> <process:composedOf> <process:Sequence> <process:components rdf:parseType="Collection">

<process:AtomicProcess rdf:about="BNPrice.owl#BNPriceProcess" /> <process:AtomicProcess rdf:about="CurrencyConverter.owl#CurrencyConverterProcess" />

</process:components>

</process:Sequence> </process:composedOf>

... </process:CompositeProcess>

OWL-S

Page 28: Planejamento para Serviços Web Semânticos

Ferramentas para a linguagem OWL-S

n  WSDL2OWLS: dado um serviço Web descrito na linguagem WSDL, essa ferramenta fornece uma tradução semi-automática de WSDL para OWL-S:

l  especificação completa de Grounding e

l  especificações parciais das ontologias e Process e Profile (adição manual de IOPES)

n  OWL-S API: dado um serviço Web descrito em OWL-S, essa ferramenta fornece uma maneira de ler e executar esses serviços

OWL-S

Page 29: Planejamento para Serviços Web Semânticos

Planejamento com ontologias

Page 30: Planejamento para Serviços Web Semânticos

Planejamento

n  Planejar é um processo de escolha de ações para atingir um objetivo, através da previsão dos efeitos da execução dessas ações e da descrição do estado atual do mundo.

n  Planejamento clássico: ações instantâneas, informação completa do mundo, ações determinísticas, não existência de ações exógenas.

n  Existem duas abordagens de planejamento clássico:

l  planejamento para metas de alcançabilidade

l  planejamento para decompor tarefas

Planejamento com ontologias

Page 31: Planejamento para Serviços Web Semânticos

Planejamento para metas de alcance

Um problema de planejamento pode ser descrito pelos elementos <S, s0,G, A, f >, em que:

l  S é um conjunto finito de estados;

l  s0 ∈ S é um estado inicial;

l  G ⊆ S é um conjunto de estados meta;

l  A(s) é um conjunto finito de ações aplicáveis, para cada estado s ∈ S;

l  f : S × A −> S é uma função de transição de estados que mapeia um estado s para outro estado s’, após a execução de uma ação a em s.

Plano Solução: uma seqüência de ações que quando executada em s0 leva a (alcança) um estado meta g ∈ G.

Estratégia de solução: raciocinar sobre estados e a função de transição de estados para alcançar os estados meta.

Planejamento com ontologias

Page 32: Planejamento para Serviços Web Semânticos

Planejamento para decompor tarefas (planejamento hierárquico)

Um problema de planejamento hierárquico pode ser descrito pelos elementos <S, s0,A, f, T,M, d0>, em que: n  S é um conjunto finito de estados; n  s0 ∈ S é um estado inicial; n  G ⊆ S é um conjunto de estados meta; n  A(s) é um conjunto finito de ações aplicáveis (tarefas primitivas), para cada estado s ∈ S; n  f : S × A −> S é uma função de transição de estados que mapeia a transição de um estado s para outro

estado s’ após a execução de uma ação a em s; n  T é um conjunto finito de (nomes) tarefas compostas; n  M é um conjunto de métodos para decompor tarefas compostas. Um método é um par (t,d), onde t ∈ T e

d é uma rede de tarefas. M(s) é um conjunto finito de métodos aplicáveis, para cada estado s ∈ S; n  Uma rede de tarefas é formada por um conjunto de tarefas compostas ou primitivas e uma ordem parcial

(ou total) entre elas; n  d0 é a rede de tarefas inicial; Plano Solução: Uma rede de tarefas primitivas que pode ser executada em s0 Estratégia de solução: raciocinar sobre os métodos (alternativos) de decomposição das tarefas compostas

contidas na rede de tarefas inicial (d0)

Planejamento com ontologias

Page 33: Planejamento para Serviços Web Semânticos

Planejamento para metas de alcance: exemplo

Ação: viajar(SaoPaulo,Paris) Prec: {em (SaoPaulo) , tempassagem(SaoPaulo,Paris)} Efeitos de Adição: {em(Paris)} Efeitos de Eliminação: {em(SaoPaulo), tempassagem(SaoPaulo,Paris)}

Ação: visitar(TorreEiffel) Prec: {em ( Paris)} Efeitos de adição: {visitada(TorreEiffel)}

s0: {em(SaoPaulo), tempassagem(SaoPaulo,Paris)}

G: visitada(TorreEiffel)

Plano solução: viajar( SãoPaulo, Paris) è visitar( TorreEiffel)

Planejamento com ontologias

Page 34: Planejamento para Serviços Web Semânticos

Planejamento para decompor tarefas: exemplo

Planejamento com ontologias

Tarefa: comprar_pass_aérea(Barcelona,Paris) Prec: {saldo_cartao(C) , custo_pass_aerea(Barcelona, Paris,P1), (C>= P1)} Efeitos de adição: {passagem_comprada(Barcelona, Paris), saldo_cartao(C – P1)} Efeitos de eliminação: {saldo_cartao(C)}

Tarefa: viajar_de_aviao(Barcelona,Paris) Prec: {passagem_comprada(Barcelona, Paris), em(Barcelona)} Efeitos de adição: {em(Paris)} Efeitos de eliminação: {em(Barcelona)}

Método(viajar,d1) Prec: {distancia(Barcelona,Paris) > 500 km} Rede de Tarefas d1: {comprar_pass_aérea(Barcelona,Paris) viajar_de_aviao(Barcelona,Paris)}

Método(viajar,d2) Prec: { } Rede de Tarefas d2: {comprar_pass_trem(Barcelona,Paris), viajar_de_trem(Barcelona,Paris)}

Tarefa: viajar(Barcelona,Paris) s0: {em(Barcelona), saldo_cartao(C), custo_pass_aerea(Barcelona, Paris, P1) custo_pass_trem(Barcelona, Paris, P2)}

Plano solução: comprar_pass_aérea(Barcelona,Paris) è viajar_de_aviao(Barcelona,Paris)

Page 35: Planejamento para Serviços Web Semânticos

Planejamento para serviços Web: as suposições feitas em planejamento clássico

Na Web, não é possível fazer a maioria das suposições feitas no planejamento clássico: l  informação incompleta do mundo: a Web possui uma coleção massiva de

informações e que nem sempre podem ser acessadas l  ainda que todo o conteúdo da Web pudesse ser acessado, qualquer aplicação

deve coletar informação na Web somente quando necessária l  não se pode ter certeza sobre os efeitos da execução de uma ação (ações

não-determinísticas) l  podem ocorrer mudanças no estado do mundo que independem das ações

definidas no domínio de planejamento (ações exógenas) l  podem ocorrer transições de estado que não sejam instantâneas (ações com

duração de tempo) l  serviços Web podem descrever nomes de processos e dados (nomes de ações

e literais) que podem ser subclasses ou equivalência de outros nomes de conceitos

Planejamento com ontologias

Page 36: Planejamento para Serviços Web Semânticos

Como fazer planejamento de serviços Web?

Nesse trabalho foram adotadas as seguintes soluções: 1.  Serviços Web devem ser descritos como instâncias das ontologias do OWL-S 2.  Uso de técnicas de planejamento hierárquico para decompor processos

compostos de serviços Web 3.  Tarefas primitivas e compostas são processos

OWL-S (serviços Web são naturalmente descritos em uma estrutura hierárquica) 4.  O estado do mundo é representado como instâncias de ontologias: de serviços e

do domínio de aplicação (base de conhecimento) + as informações da Web

5.  Pré-condições (de ações primitivas ou de métodos de decomposição) especificam consultas à base de conhecimento ou consultas à Web

6.  Para verificar se uma pré-condição é verdadeira, é usado um motor de inferência junto com ontologias

Planejamento com ontologias

Page 37: Planejamento para Serviços Web Semânticos

Planejamento para decompor tarefas: exemplo utilizando consultas na base de conhecimento

Planejamento com ontologias

Tarefa:comprar_pass_aérea(euro:Barcelona,euro:Paris) Prec: {SELECT ?C WHERE { euro:cartao euro:saldo ?C} , SELECT ?P1 WHERE {?pass rdf:type euro:passagemAerea. ?pass euro:de euro:Barcelona. ?pass euro:para euro:Paris. ?pass euro:custo ?P1} (C >= P1)} Efeitos de adição: {(euro:pass_comprada, euro:Barcelona, euro:Paris), (euro:cartao, euro:saldo, C – P1)} Efeitos de eliminação: {(euro:cartao, euro:saldo, C)}

Método(viajar,d1) Prec: { (SELECT ?x WHERE { ?dist rdf:type euro:dist. ?dist euro:de euro:Paris. ?dist euro:para euro:Barcelona. ?dist euro:valor ?x}) x > 500 km} Rede de Tarefas d1: {comprar_pass_aérea (euro:Barcelona,euro:Paris) viajar_de_aviao (euro:Barcelona,euro:Paris)}

Tarefa: viajar(Barcelona,Paris)

Tarefa: viajar_de_aviao(Barcelona,Paris) ...

Page 38: Planejamento para Serviços Web Semânticos

A ferramenta WEBRPlan

Page 39: Planejamento para Serviços Web Semânticos

Dificuldades para a implementação da ferramenta WEBRPlan

1.  A maioria dos sistemas de planejamento não fazem: l  chamadas externas para a verificação de pré-

condições (na Web);

l  raciocínio sobre ontologias

2.  Não existem Serviços Web descritos diretamente em OWL-S

3.  Não é possível descrever processos compostos, pré-condições e efeitos em WSDL. Assim, tradutores automáticos de WSDL para OWL-S são limitados.

A ferramenta WEBRPlan

Page 40: Planejamento para Serviços Web Semânticos

Sistema de planejamento JSHOP2

JSHOP2 é um sistema de planejamento hierárquico que possui características desejadas para o planejamento de serviços Web:

l  redes de tarefas totalmente ordenadas, o que permite conhecer o estado corrente do mundo em cada etapa do processo de planejamento, facilitando a verificação de pré-condições;

l  possui um grande poder de expressividade, por exemplo, nas pré-condições pode-se misturar computações numéricas e chamadas a programas externos (consultas a base de conhecimento ou Web).

A ferramenta WEBRPlan

Page 41: Planejamento para Serviços Web Semânticos

WEBRPlan

Ferramenta implementada em JAVA que possui quatro funções principais:

1.  Seleção de serviços Web para composição e seleção das ontologias relacionadas ao domínio de aplicação

2.  Conversão das descrições dos serviços em WSDL para OWL-S + inserção de processos compostos e IOPES

3.  Conversão das descrições dos serviços em OWL-S para tarefas e métodos de planejamento hierárquico + inserção das chamadas a um avaliador de pré-condições

4.  Composição de serviços Web, dada uma rede de tarefas especificada pelo usuário, utilizando o planejador JSHOP2 e o JENA (JENA2)

A ferramenta WEBRPlan

Page 42: Planejamento para Serviços Web Semânticos

Integração do JSHOP2 com o JENA e a Web

A ferramenta WEBRPlan

Page 43: Planejamento para Serviços Web Semânticos

Execução do plano

n  apesar de fazer coleta de informações e consulta a uma base de conhecimento on-line, o JSHOP2 gera um plano para ser executado off-line.

n  somente nesse instante os efeitos da execução dos processos são adicionados a base de conhecimento

A ferramenta WEBRPlan

Page 44: Planejamento para Serviços Web Semânticos

Um estudo de caso: planejamento de viagens

Page 45: Planejamento para Serviços Web Semânticos

Metodologia de desenvolvimento do estudo de caso

Resolver o problema de planejamento de viagens de três maneiras diferentes:

1.  Descrever o problema diretamente como tarefas e métodos do planejador JSHOP2

2.  Uso do planejador JSHOP2 fazendo consultas a base de conhecimento formada pela ontologia de viagens (Euro.owl) e suas instâncias. Aqui, precondições e e efeitos são termos da ontologia. Uso do JENA.

3.  Planejamento de viagens diretamenta na Web. Construção e tradução dos serviços de viagem para tarefas e métodos do JSHOP2. Uso do JENA e de cliente.

Estudo de caso

Page 46: Planejamento para Serviços Web Semânticos

Dados do estudo de caso

n  Foram implementados 5 serviços Web contendo: l  11 operações transacionais (não instanciadas), l  12 operações de coleta de informação (na base de conhecimento ou na Web), l  Um conjunto de 4 ontologias para cada serviço criado e l  Conceitos definidos na ontologia Euro.owl (editada no Protégé).

Estudo de caso

Page 47: Planejamento para Serviços Web Semânticos

Conclusões e contribuições

Page 48: Planejamento para Serviços Web Semânticos

Conclusões

n  Neste trabalho foi mostrado como a composição de serviços Web pode ser descrita como um problema de planejamento;

n  Foi identificado que planejamento hierárquico com pré-condições como chamadas de programas externos é uma técnica que pode ser usada a composição de serviços Web;

n  Foi definida uma maneira de descrever serviços Web como domínios de planejamento (i.e., em termos de ações, tarefas, pré-condições e efeitos) com base nos princípios da Web Semântica;

n  Foi implementado um conjunto de serviços Web para um estudo de caso sobre planejamento de viagens

n  Foi implementada a ferramenta WEBRPlan para dar suporte durante todas as etapas envolvidas na composição automática de serviços Web.

Conclusões e contribuições

Page 49: Planejamento para Serviços Web Semânticos

Conclusões

n  Foram estudadas e/ou empregadas as seguintes tecnologias:

l  Ontologias e Web Semântica

l  JENA, SPARQL, Protégé, OWL, RDF, RDFS

l  XML, Java, Eclipse

l  Serviços Web, WSDL, Tomcat, Axis e os protocolos HTTP e SOAP

l  OWL-S, OWL-S API, WSDL2OWL-S

l  Planejamento em IA e o planejador JSHOP2

Conclusões e contribuições

Page 50: Planejamento para Serviços Web Semânticos

Contribuições

n  propor e implementar uma combinação original de tecnologias para realizar a composição de Serviços Web:

JSHOP-2 + JENA + OWL-S

n  explicar e implementar um processo completo de composição de serviços Web segundo a proposta da Web Semântica

n  desenvolver uma interface entre o planejador e o motor de inferência, evitando-se alterar a implementação do planejador

n  adotar uma nova maneira de representar pré-condições e efeitos em OWL-S

n  disponibilizar a ferramenta de software WEBRplan, para ser usda em outros domínios de aplicação, diferentes do estudo de caso: WEBRplan ferramenta pode ser vista como um produto gerado pelo trabalho de mestrado

n  construção incremental do estudo de caso como uma forma didática para a compreensão do uso de 3 tecnologias emergentes: (1) planejamento, (2) planejamento com ontologias e (3) planejamento com ontologias para serviço Web.

Conclusões e contribuições

Page 51: Planejamento para Serviços Web Semânticos

WEBRPlan: demonstração