a view-based approach for semantic service descriptions
DESCRIPTION
A view-based approach for semantic service descriptions. Carsten Jacob , Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng. Motivation. Semantic service descriptions can be applied to enhance automatic service selection, composition, and invocation processes - PowerPoint PPT PresentationTRANSCRIPT
A view-based approach for semantic service descriptions
Carsten Jacob, Heiko Pfeffer, Stephan Steglich, Li Yan, and Ma Qifeng
22.04.23
• 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.04.23 2
Motivation
• Abstracted semantic view for service provider and consumer based on an internal representation
22.04.23 3
Three views for service description representation
C
C1 C2
C11 C12
Concept basedService Provider View
Effect basedService Requester View
Internal Representation
Concept
Transformation
Effect
Tranf
orm
ation
E E
E’
E’’
E’+G
E’+H
E’+G+I
22.04.23 4
Embedding
Service Request
Service Composition Discovery
Service Discovery & Matching
Service Binding & Execution
Service Publication
22.04.23 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.04.23 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.04.23 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.04.23 8
Service provider view
A
B C
1
12
13
1 3Service1
1 2 5Service5
1 4Service2
1 6 7Service4
Category tree and features: Services:
A
B C
1
12
13 D 1
4
E 12 5
F 16 7
New category tree and features:
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• [ServiceID] hasInput [X]• [ServiceID] hasMatchedPrecondition [Y]• [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.04.23 9
Service provider view – transformation rules
• Three phases1. User specifies goal by selecting a general effect2. User selects possible sub-effects, which are presented to specify
the effect in more detail3. User selects additional effects from proposals
22.04.23 10
Service requester view
E E
E’
E’’
E’+G
E’+H
E’+G+IEffect based
Service Requester View
Requested Effect
Possible Sub-Effects
Possible Side Effects
Example:(E) call-setup(E‘) to nearby restaurant(E‘+H) send SMS to friends in buddylist
22.04.23 11
Exemplary service classification
Video TextVoiceLocation Person
ContactFindBook
... ......
Bar VolleyballRestaurantBuddy Cinema
• 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.04.23 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 (Leaf 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.04.23 13
Grounding
22.04.23 14
Possible Embedding in IP Multimedia Subsystem (IMS)
LCAI Proxy
Services/Application Servers
BindingsIMS Domain
SIP Messages
Service Enablers
CSCF HSS
WebServices
SIPSIP Client
22.04.23 15
Example user subscription
A
A1 A2
A1a A2a A2b
A2 A2aA2b
A
User subscription
Available services on the user‘s mobile phone
Service knowledgerepository
BACKUP
22.04.23 17
22.04.23 18
Excursion: Semantic Web technologies
Describing data
Describing knowledge
Making use of knowledge
Trust and Proof
XML XMLSchemaNamespaces
RDF RDFSchemaOWL
ReasonersRule languages
Proof languages...
Query languages
Describing data
Describing knowledge
Making use of knowledge
Trust and Proof
XML XMLSchemaNamespaces
RDF RDFSchemaOWL
ReasonersRule languages
Proof languages...
Query languages
following Tim Berners-Lee XML2000, http://www.w3.org/2000/Talks/1206-xml2k-tbl/
• 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.04.23 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.04.23 20
Excursion: Web Ontology Language (OWL)
http://www.w3.org/TR/owl-ref/
22.04.23 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.04.23 22
Possible Embedding in IMS
Semantic Service Matching
Sh/Si
S-CSCF
AS
HSS
Application Server
Application Logic
AS-ILCM AS-OLCM
ISCCx
iFC
SIP INVITE/SUBSCRIPTION
1
2
AS Selection ~> iFC
Rule1
Rule2
...
RuleN
LCAI_SE
LCAI SE
3S
E S
election
4
Rule Update
22.04.23 23
Service composition example
<S_ID=1>
<S_ID=2>
<S_ID=3>
<S_ID=4>
<S_ID=5>
1
1 2
1 2
1 2
1 2
1 2
1 2
1
1 2
1 2
1
1Global Output
Global Input