IRS-II - Projects - The Open University

fizzlargeSecurity

Nov 3, 2013 (3 years and 11 months ago)

99 views

The UPML Framework, IRS
-
I
and IRS
-
II

John Domingue, Liliana Cabral &
Enrico Motta


Knowledge Media Institute

The Open University, UK

Outline


Overview of web services


UPML


knowledge level modelling
paradigm


Classification Library


IRS
-
I Demo


quickly configuring an apple classifier


IRS
-
II


capability driven web service
invocation


Patient Shipping Scenario (Demo)


Preparation for afternoon hands on session

Web Service in a nutshell


Web of documents
-
> web of reusable
software components



A piece of software available over the
Internet which can be invoked
through a standardized (normally
XML
-
based) messaging system




Service

Registry

Service

Requester

Service

Provider

Service

Description

Web

Service

Publish

Find

Bind

WS


Usage scenario

What’s the big deal?



In
U.S. Web Services Market Analysis, 2002

IDC
predicts that Web services will become the
dominant distributed computing architecture in
the next 10 years. Web services will drive
software, services and hardware sales of $21
billion in the U.S. by 2007 and will reach $27
billion in 2010.


Web services promise easy access to remote
content and application functionality,
independently of the provider's platform, the
location, the service implementation, or the data
format.
Kuassi Mensah, Oracle


Exposure of capabilities

Application Areas


E
-
commerce


Integrating supply chains, Brokering,
Shopping bots, etc..


E
-
science


Data Analysis, Discovery, Integration, etc..


Knowledge Management


Information search, personalization,

Limitations of WS Technology


Manual Discovery


Manual Invocation


Manual (ad hoc) Mediation


Manual (ad hoc) Composition


Semantic differences remain the primary
roadblock to smooth application integration,
one which Web Services alone won't
overcome.

Until someone finds a way for applications to
understand each other, the effect of Web
services technology will be fairly limited. When
I pass customer data across [the Web] in a
certain format using a Web Services interface,
the receiving program has to know what that
format is. You have to agree on what the
business objects look like. And no one has
come up with a feasible way to work that out
yet
--

not Oracle, and not its competitors...


---

Oracle Chairman and CEO Larry Ellison

Positioning Semantic Web
Services

Web

(URI, HTML, HTTP)

Web Services

(UDDI, WSDL, SOAP)

Semantic Web

(RDF, OWL)

Semantic Web

Services

Dynamic

Static

Syntax

Semantics

Motivation


Mismatch between users view and
web service functionalities


Requires web service centred and user
(community) centred semantic representations


Users want to carry out tasks or
achieve goals


Richer semantics required for
automatic web service location,
selection, mediation, composition,
brokering

UPML Framework

UPML Framework

UPML Framework

Classification

Classification can be seen as the problem of
finding the
solution

(
class
), which best explains
a set of
known facts

(
observables
), according to
some
criterion

Solution

Observables

Candidate Sols.

Classification

Solution Criterion

Example

Observables

Candidate Sols.

Criterion

Classification

Solution

{background=green; area=china...}

Complete
-
coverage
-
criterion

(every observable has to be explained)

{chinese
-
granny, dutch
-
granny, etc..}

{chinese
-
granny}

Classification Task Ontology


70 Definitions


Provides both a theory of
classification and a vocabulary to
describe classification problems


Ontology is separated from task
specifications

Generic Classification Task


Input roles


Candidate Solutions, Match Criterion, Solution
Criterion, Observables


Output Roles


Solutions


Precondition


Both observables and candidate solutions have to
be provided


Goal


To find a solution from the candidate solutions
which is admissible with respect to the given
observables, solution criterion and match criterion

Classification Task (1/2)

Classification Task (2/2)

Specific Classification Tasks


Single
-
Solution Classification Task


Single
-
solution assumption


Optimal Classification Tasks


Goal requires optimality

Problem Solving Library


Based on heuristic classification
model


Includes both data
-
directed and
solution
-
directed methods


Supported by a method ontology

Heuristic Classification Model

Clancey, AI Journal, 27, 1985

Heuristic Match

Abstraction

Data

Data

Abstractions

Solutions

Abstractions

Refinement

Solutions

Method Ontology: Main Concepts


Abstractors


Mechanism for performing abstraction on
observables


Abstractor: Obs*
-
> Obs


Refiners


Mechanism for specialising a solution


Refiner: Sol
-
> Sol*


Candidate Exclusion Criterion


A criterion which is used to decide when a search
path is a dead
-
end


Default criterion rules out inconsistent solutions

3 Heuristic Classification PSMs


Two Data
-
directed


Admissible Solution Classifier


Finds one admissible solution according to the given
criteria


Uses
backtracking hill climbing


Optimal Classifier


Performs complete search looking for optimal solution


Uses
best
-
first

strategy


Uses candidate exclusion criterion to prune search space


One Solution
-
directed


Goes down the solution hierarchy, acquiring
observables as needed


Ask for observables with max discrimination power

Task
-
Method Hierarchy

a
b
s
t
r
a
c
t
i
o
n
h
e
u
r
i
s
t
i
c
-
c
l
a
s
s
i
f
i
c
a
t
i
o
n
-
p
s
m
c
l
a
s
s
i
f
i
c
a
t
i
o
n
r
a
n
k
-
s
o
l
u
t
i
o
n
s
r
e
f
i
n
e
m
e
n
t
b
a
s
i
c
-
h
e
u
r
i
s
t
i
c
-
m
a
t
c
h
s
e
l
e
c
t
-
a
b
s
t
r
a
c
t
o
r
o
n
e
-
s
t
e
p
-
a
b
s
t
r
a
c
t
i
o
n
c
o
l
l
e
c
t
-
r
e
f
i
n
e
r
s
a
p
p
l
y
-
r
e
f
i
n
e
r
s
a
b
s
t
r
a
c
t
i
o
n
-
p
s
m
r
e
f
i
n
e
m
e
n
t
-
p
s
m
r
a
n
k
-
s
o
l
u
t
i
o
n
s
-
p
s
m
Example


Apple Domain


Originally developed in Amsterdam


Solutions = Apple Types = {granny,
noble, delicious...}


Hierarchy of Apple Types


Features = {bkg
-
colour, fg
-
colour,
rusty....}


Pretty trivial really!

C
l
a
s
s
ifi
c
a
t
io
n T
a
s
k
O
n
t
ol
og
y
H
e
u
ri
s
ti
c

C
l
a
s
s
ifi
ca
ti
o
n
O
n
t
ol
og
y
A
p
p
l
e

H
e
u
ri
s
ti
c

C
l
a
s
s
ifi
c
a
t
i
o
n
A
p
p
li
c
a
t
io
n
C
l
a
s
s
ifi
c
a
t
io
n T
a
s
k
S
p
e
c
i
fi
c
at
i
o
n
C
l
a
s
s
ifi
c
a
t
io
n
-
t
o-
C
l
a
s
s
-
Re
p
r
e
s
e
n
t
a
ti
o
n
M
a
pp
in
g On
to
l
o
g
y
A
p
p
l
e
D
o
ma
in
M
o
de
l
H
e
u
ri
s
ti
c

C
l
a
s
s
ifi
ca
ti
o
n
P
S
Ms
Demo

IRS
-
II: Integrating UPML
and Web Services

The Internet Reasoning
Service is an infrastructure for
publishing, locating, executing
and composing
semantic web
services
, organized according
to the
task/method/domain

framework

Features of IRS
-
II (1/2)


Based on Soap messaging standard


Provides API for client applications


Provides built
-
in brokering and
service discovery support


Provides
capability
-
centred

service
invocation

Features of IRS
-
II (2/2)


Publishing support for variety of
platforms


Java, Lisp, Web Applications, Java Web Services


Enables publication of ‘standard code’



Provides clever wrappers automatically, which
turn code into web services


One
-
click publishing of web services


Integrated with standard Web Services
world


Published code appears as


Semantic web service to IRS


‘Ordinary’ web service to web service world

Task Spec

(def
-
class exchange_rate_provision (goal
-
specification
-
task) ?task


((has
-
input
-
role :value has_source_currency


:value has_target_currency)


(has
-
output
-
role :value has_exchange_rate)


(has_source_currency :type currency :cardinality 1)


(has_target_currency :type currency :cardinality 1)


(has_exchange_rate :type positive
-
number)


(has
-
precondition


:value (kappa (?psm)


(and (currency (role
-
value ?psm has_source_currency))


(currency (role
-
value ?psm has_target_currency)))))


(has
-
goal
-
expression


:value (kappa (?psm ?sol)


(= ?sol (the_official_exchange_rate


(role
-
value ?psm has_source_currency)


(role
-
value ?psm has_target_currency)))))))

Grounding



Soap
-
based




Done at task


level

Toplevel Exchange Rate Method

(def
-
class exchange
-
rate
-
provider (primitive
-
method) ?psm


((has
-
input
-
role :value has_source_currency


:value has_target_currency)


(has
-
output
-
role :value has
-
exchange
-
rate)


(has_source_currency :type currency :cardinality 1)


(has_target_currency :type currency :cardinality 1)


(has
-
exchange
-
rate :type positive
-
number)


(has
-
precondition


:value
(
kappa
(?s)


(stock_available


(role
-
value ?psm has_target_currency))))))



Exchange Rate Methods

(def
-
class european
-
exchange
-
rate
-
provider (exchange
-
rate
-
provider) ?psm
()


:own
-
slots


((applicability
-
condition


(kappa (?psm)


(european
-
currency


(role
-
value ?psm 'has_source_currency))))


(tackles
-
task
-
type exchange_rate_provision)))



(def
-
class non
-
european
-
exchange
-
rate
-
provider (exchange
-
rate
-
provider)
?psm ()


:own
-
slots


((applicability
-
condition


(kappa (?psm)


(non
-
european
-
currency


(role
-
value ?psm 'has_source_currency))))


(tackles
-
task
-
type exchange_rate_provision)))


IRS Server

Domain Models

Method Specifications

+ Registry of Implementors

Task Specifications

+ SOAP
Binding

IRS
Publisher

S O A P

IRS
Client

SOAP

IRS
Publisher

IRS
Publisher

IRS
Publisher

Lisp

Java

Java WS

IRS
-
II Framework

Patient Shipping Scenario

Patient Shipping Scenario

Money Related Services

Medical Related Services

Patient Shipping Demo

Task Spec

Method Spec

Supporting Definitions

Hospital Bed Service Task

Hospital Bed Service PSM

Hip Hip Hospital PSM

Multiple Hospital PSMs

Valid Relations


Classes are unary relations


e.g. (currency ?x)


Slots are binary relations


e.g. (has
-
author ?x ?y)


Standard relations in akt
-
reference
ontology

=, ==, <, >, member

Java API


achieveTask


createOntology


getOntologyProperties


updateOntologyProperties


deleteOntology


saveTaskDescription


getTaskDescription


deleteTaskDescription


savePSMDescription


getPSMDescription


deletePSMDescription


publishHttpGetRequest


publishLispFunction


publishJavaClass


publishWebServiceWSDL

LispWeb Server

IRS
-
II
Architecture

IRS
-
II Server

PSM Publisher Registry

OCML

UPML Library

Wilbur

OWL
-
S
Handler

OWL Handler

OWL

OWL
-
S

RDF

Browser

Invocation

Client

Task/PSM

Editors

Publishing

Clients

SOAP

Handler

S
O
A
P

Publishing Platforms

Web Service

Java Code

Web Application

SOAP

Browser

Handler

Publisher

Handler

Invocation

Handler

J

a

v

a



A

P

I

Generic Publishing Platform
Architecture

IRS
-
II Publishing Platform

HTTP Server

SOAP

Handler

Service

Registrar

Service

Invoker

PSM Service Registry

IRS
-
II Server

Invocation Client

SOAP

SOAP

Publishing

Clients

SOAP

Web Service 1

Web Service 2

Web Service 3

Web Service 4

IRS Browser/Editor
Demo



User Name: knowledgeweb

Password: summerschool

IRS, OWL
-
S and WSMO


IRS
-
II and WSMO model user requests
(task or goal)


IRS
-
II has task (goal) based invocation


IRS
-
II and WSMO model mediation


OWL
-
S and WSMO include non
-
functional
properties


WSMO splits composition into
orchestration and choreography


Formalisms


OWL
-
S: OWL


DL (handling conditions?)


IRS
-
II: OCML (import/export to RDF(S), OWL,
OWL
-
S, WSMO (planned))


WSMO: WSML
-

F
-
Logic (OWL Compatibility?)


Summary


Web services require rich semantic
annotation to automate location
selection, mediation etc


UPML framework composed of
ontology supported tasks, problem
solving methods and domain models


Classification Library


IRS
-
II integrates web services with
PSMs


PSMs tied to tasks via tackles task and
applicability conditions


A Stack of Standards?

HTTP

XML
-
S

XML

SOAP

WSDL

URI

RDF

RDF
-
S