toward semantic web e-commerce
DESCRIPTION
Toward Semantic Web E-Commerce. Massimo Paolucci, Katia Sycara, Takuya Nishimura, Naveen Srinivasan. Overview. Present DAML-S VM a generic processor for the DAML-S Process Model that can be used to interact with any DAML-S Web service Process Model semantics Architecture of the DAML-S VM - PowerPoint PPT PresentationTRANSCRIPT
Toward Semantic Web E-Commerce
Massimo Paolucci, Katia Sycara, Takuya Nishimura, Naveen Srinivasan
Overview
• Present DAML-S VM a generic processor for the DAML-S Process Model that can be used to interact with any DAML-S Web service– Process Model semantics– Architecture of the DAML-S VM– Example of execution using Amazon’s Web
service– Performance evaluation
Crucial Problems
• Capability based discovery– Web services should find each other on the
basis of what they do
• Semantic interoperation– Web services “understand” the information that
they exchange and use it to solve their problems
Requirements of Interaction
• Shared Knowledge of interaction protocols:– What information the provider needs– When does it need it
• Shared understanding of content of messages– Ontologies that act like “dictionaries”– Logic framework for correct interpretation
• Agreement on ports and low level details
Web Services Interaction
• Provider publishes – Process Model – Grounding, WSDL
• Requester uses them to initiate the interaction with the provider
Provider Requester
ProcessModel
Grounding
WSDL
Process Model
• Detailed view of the Web Service– Provides description of how the Web service
accomplishes its tasks
• Interaction protocol– Specifies when Web service requires inputs
from requesters– Specifies what information (and when) Web
service sends to the requesters
Operationally
• Process Model describes a workflow – Atomic Processes– Composite Processes
• Sequence, Split&joint
• Conditionals, Non-deterministic choices
• Loops
Process
• Processes are defined by – Inputs that they require– Outputs that they generate– Preconditions that should be satisfied for the
correct execution of the process– Effects that result from the execution of the
process
Process Model Execution RulesBased on formal execution semantics (Ankolekar et al 2002)
executed(atomic(Process)) executedGrounding(Process)
executed(sequence(Process,List)) executed(first(List)), executed(sequence(Process,rest(List)))
executed(split(Process,List)) exec(first(List)), exec(split(Process,rest(List)))
executed(splitJoint(Process,List)) exec(first(List)), exec(splitJoint(Process,rest(List))), complete(first(List)), complete(splitJoint(Process,rest(List)))
executed(if(Cond,ThenProcess,ElseProcess)) ( Cond, executed(ThenProcess) ) XOR executed(ElseProcess)
executed(choice(Process,List)) executed(oneOf(List))
Grounding
• Specify mapping to WSDL– Atomic Processes map to Operations– Inputs/Outputs described as messages– Specify XSLT transformations for mapping to
and from DAML and XSD types
Transforming XSD to DAML
Book
author
title
publisher
price
Bookauthor
Personnameage
titlepublisher
Companynameaddress
price
XSD DAML
DAML-S Virtual Machine
SOAP
Provider Web Service Description
WSDL
DAML-SProcessModel
DAML-SGround
ing
DAML Inference Engine
Jess
DAML Jess KB
Process Model Execution Rules
Grounding Execution Rules
DAML-S Processor
Axis’s Web Service Invocation Framework
DAMLSWebServiceInvoker
Webservice Invocation
Web Services
Jena
APPLICATION
Requester
DAML-S VM
Features DAML-S VM
• DAML-S VM a generic processor for the DAML-S Process Model – It can interact with any DAML-S Web service
– Uses only DAML-S as representation of Web services
– Based on the Process Model formal semantics– Shows how to integrates DAML-S within Web
services technology such as Axis and WSIF
DAMLzon: DAML-S for Amazon.com
• WSDL2DAML-S used to generate DAML-S for Amazon’s Web Service
• DAML-S VM used to interact with Amazon Web service
Process Model for Amazon.com
Book SearchBook SearchReserve BookReserve Book
WSDL2DAML-S
• WSDL2DAMLS allows easy translation of WSDL documents in DAML-S– Automatic generation of Grounding
– Partial generation of Process Model and Profile
– Up to 80% of work required to generate a DAML-S description is done automatically
• Combined with Java2WSDL to provide Java2DAML-S
WSDL2DAML-S<wsdl>
</wsdl>
<portType>
</portType>
<operation>
</operation>
<input></input>
<output></output>
<fault></fault>
<damls>
</damls>
<ProcessModel>
</ProcessModel>
<AtomicProcess>
</ AtomicProcess >
<inputs>
</inputs>
<outputs>
</outputs>
Example WSDL2DAML-S
• Atomic Processes are generated automatically
• Need to be specified– Composite Processes
– mapping XSD to DAML
Process Model for Amazon.com
Generated AutomaticallyGenerated Automatically
To Be SpecifiedTo Be Specified
Performance Measures
• We compared the performance of using DAML-S in its interaction with Amazon.com
• Two experiments– Compared Amazon client with DAML-S VM
client on browsing task– Used DAML-S VM client on
browsing+reserving task• Analyzed distribution of time
Results Experiment 1• Compared Amazon client
with DAML-S VM client on browsing task
• 98 runs total over 4 days in varying load conditions
• Results in milliseconds
Amazon Client DAML-S VM
Average execution time
2007 ms
(1760 ms)
2021 ms
(1861 ms)
Strd Deviation
1134 ms
(565 ms)
776 ms
(450 ms)
Distribution
0
5
10
15
20
25
30
35
40
45
1500 2000 2500 3000 3500 4000 4500 5000 5500 >5500
Amazon Client
DAML-S Client
Time required by DAML-S VM
Time required for DataTransformation
Amazon Invocation Time
Results Experiment 2
• DAML-S VM client on browsing+reserving task
– No client for Browsing+Reserving provided by Amazon
• Analyzed data by computing:– Time required by DAML-S VM to
execute Process Model– Time required for data transformation
to fit Amazon requirements– Time required to invoke an operation
on Amazon
• 98 runs total over 4 days in varying load conditions
• Results in milliseconds
Time of
DAML-S VM
Time of data transform.
Invocation Time
Averagepercentage
83 3%
156 5%
279792%
Strd dev 107 146 1314
Conclusion
• DAML-SVM is a generic DAML-S port that can be used to interact with any Web DAML-S service– It conforms with the DAML-S semantics– It is based on DAML inference engine
• The use of DAML-S does not result in a performance penalty