A view-based approach for semantic service descriptions

snufflevoicelessInternet and Web Development

Oct 22, 2013 (3 years and 7 months ago)

46 views

A view
-
based approach for semantic
service descriptions

Carsten Jacob
, Heiko Pfeffer, Stephan Steglich, Li
Yan,
and

Ma
Qifeng

22.10.2013


Semantic service descriptions can be applied to enhance
automatic service selection, composition, and invocation
processes


Service providers and consumers consider service
descriptions from a different perspective


Publish and advertise a service


Service category, grounding, …


Search for a particular kind of functionality


Service effect, costs, find similar services, …


Potential for abstracted views for both parties


Move complexity inside the automatic service matching process


22.10.2013

2

Motivation


Abstracted semantic view for service provider and
consumer based on an internal representation

22.10.2013

3

Three views for service description
representation

22.10.2013

4

Embedding

22.10.2013

5

Internal service view, service model (IOPE*)

Element

Representation

Description

Name

String

Unique
name

of

the

service
.

Category

Semantic

concept

reference

(
definition

in
ontology
)

Category of the service. Services of one category
are only different with regard to their context,
QoS

parameters, and grounding.

Input
parameters

List
of

concept

references

Semantically represented input parameters.

Output
parameters

List
of

concept

references

Semantically represented output parameters.

Precondition

List
of

statements

Preconditions

for

the

execution

of

the

service
.

EffectRule

List
of

rules

Rules
specifying

the

possible

effects

of

the

service
.

Service
context

List
of

statements

Context

parameters

of

the

service
, e.g.,
location
.

QoS

Parameter

List
of

statements

Quality
of

Service
parameters
.

1 <Service
name
="LightSwitch1">

2 <
hasCategory

resource="#
LightSwitch
"/>

3 <
hasInput

resource="#
OnOffValue
"/>

4 <
hasOutput

resource="#
OnOffValue
"/>

5 <
hasEffectRule

ID="Rule1">

6 [(#lightSwitch1 #
hasInput

#
OnValue
)
--
> (#lightSwitch1 #
hasEffect

#Bright1)]

7 </
hasEffectRule
>

8 <Bright ID="Bright1"/>

9 <
hasContextParameter
>

10 <
ServiceContext

ID="EffectContext1">

11 <
hasLocation

resource="#Room15"/>

12 </
ServiceContext
>

13 </
hasContextParameter
>

14 </Service>

22.10.2013

6

LightSwitch example

<Input ID=”#
OnOffValue
”>


<
oneOf

parseType
=”Collection”>



<Thing about=”#
OnValue
”>



<Thing about=”#
OffValue
”>


</
oneOf
>

</Input>

<Input ID=”#
OnValue
”>


<
hasValue

parseType
=”String”>
on
</
hasValue
>

</Input>

<Input ID=”#
OffValue
”>


<
hasValue

parseType
=”String”>
off
</
hasValue
>

</Input>


22.10.2013

7

Example: definition of concepts


Categories are defined by their
features


Input or output parameter


Precondition


Effect rule


Service provider


Browses the category tree and
adds service (and category if
necessary)


Lists the features of the service
to enable an automatic
classification

22.10.2013

8

Service provider view

Element

Input
and

transformation

Category

Selection of a proper category class from the tree
OR

string input
(name and domain)

Input
and

output

parameter

List of allowed values
OR

suitable range
OR

selection of a proper
existing concept

Precondition

List of possible values
OR

range
OR

facts (referring to concept
classes)

Effect

rule

Rule

with

condition

and

effect



[
卥S癩v敉D

桡h䥮灵t

存[



[
卥S癩v敉D

桡h䵡tc桥摐d散潮摩瑩潮

孙[



[
ServiceID
]
hasContext

[Z]

Service
context

Property and value
OR

complex description (also defining new
concepts)

QoS

parameter

Property and value
OR

complex description (also defining new
concepts)

22.10.2013

9

Service provider view


transformation rules


Three phases

1.
User specifies goal by selecting a general effect

2.
User selects possible sub
-
effects, which are presented to specify
the effect in more detail

3.
User selects additional effects from proposals


22.10.2013

10

Service requester view

Example:

(E) call
-
setup

(E‘) to nearby restaurant

(E‘+H) send SMS to
friends in buddylist

22.10.2013

11

Exemplary service classification


Parse service effect rules to create
effect tree if a new service is
published


Semantic relationships among
effects enable the definition of sub
effects


According to the user‘s choice
proper service categories are
marked


Final selection is based on


Available input parameters
(manually provided or derived)


QoS

parameters, user ratings, …

22.10.2013

12

Service requester view
-

transformation

int

step=0;

node root = null;



WHILE (step <
maxEffectsPerRule
) {


r =
getNextRule
();


IF (
r.numberOfEffects
() = step) {


IF (
r.factsFulfilled
() = true) {


FOR (all Leaves){


IF (L
eaf

l.getEffects
().


isSubsetOf
(
r.getEffects
())){


createNode
(Effects);


}


}


}


}


ELSE {


step++;


}

}


Semantic Web Services description


Based on OWL
-
S


Object references defined in ontologies (OWL/RDF) to
enable inference (SWRL, Jena rules, …) and classification
using reasoner programs



Workflow descriptions for consideration of
compositions


Web Services Business Process Execution Language (WS
-
BPEL), Web Service Choreography Interface (WSCI),
Business Process Modeling Language (BPML)

22.10.2013

13

Grounding

22.10.2013

14

Possible Embedding in IP Multimedia
Subsystem (IMS)

22.10.2013

15

Example user subscription

Thank you for your attention!

Carsten Jacob
(carsten.jacob@fokus.fraunhofer.de)

22.10.2013

16

BACKUP

22.10.2013

17

22.10.2013

18

Excursion: Semantic Web technologies


Explicit formal specification of objects or concepts and their
relationships


Gruber (1993): “an explicit specification of a
conceptualization”


Describes
:


Classes


Individuals


Attributes/ Properties


Relationships


More expressiveness:
class

relationships

(
disjointness
, ...),
cardinalities
,
property

characteristics

(
symmetry
, ...),

restrictions
, ...

22.10.2013

19

Excursion: Ontology

Gruber, T. R.. (1993). Toward principles of the design of ontologies used for
knowledge sharing. Presented at the Padua workshop on Formal Ontology, March
1993, later published in International Journal of Human
-
Computer Studies, Vol. 43,
Issues 4
-
5, November 1995, pp. 907
-
928.


Layering
:


OWL
Lite
:
basic

functionality


OWL DL:
all conclusions are computable
,
ensures

decidability


OWL
Full
:
no

restrictions

concerning

the

OWL
vocabulary


Characteristics
:


XML, human
readable

text


Distributable
,
support

for

classification

and

inconsistency

checks
, extensible, ...


Standardized
,
widely
-
used
,
tool

support



Web
-
oriented
: e.g.,
resource

identification
, Open World
Assumption

(OWA), but
no

Unique Name
Assumption

(UNA)

22.10.2013

20

Excursion: Web Ontology Language (OWL)

http://www.w3.org/TR/owl
-
ref/


22.10.2013

21

Excursion: OWL Example

<?xml version="1.0"?>

<rdf:RDF


...


xml:base="http://www.co
-
ode.org/ontologies/pizza/2005/10/18/pizza.owl">


<owl:Ontology rdf:about="">


...


<owl:imports rdf:resource="http://protege.stanford.edu/plugins/owl/protege"/>


</owl:Ontology>


...


<owl:Class rdf:ID="Pizza"/>


<owl:Restriction>


<owl:onProperty>


<owl:ObjectProperty rdf:ID="hasTopping"/>


</owl:onProperty>


<owl:allValuesFrom>


<owl:Class>


<owl:unionOf rdf:parseType="Collection"><owl:Class rdf:ID="FruitTopping"/>


...


<owl:Class rdf:ID="CheeseTopping"/></owl:unionOf>


</owl:Class>


</owl:allValuesFrom>


</owl:Restriction>


</owl:intersectionOf>


</owl:Class>


...

http://www.co
-
ode.org/ontologies/

pizza/2005/10/18/pizza.owl

22.10.2013

22

Possible Embedding in IMS

22.10.2013

23

Service composition example