Title: An Experience Report
1An Experience Report on
Using DAML-S
2Preliminaries
3Our domain SW_at_VU
Our goal - automate portal creation 1) describe
these components 2) intelligentconfiguration
ex 1) already an RDF file -gt no need for
translation 2) one file -gt do not check
duplicates
4Conceptual Unclarities
1) Different models within DAML-S
2) Unclear links
3) How does it all relate to SE terms?
5A more complex service
In OOP one functionality offered for different
sets of parameters (parametric polymorphism)
Example SIA - same functionality - discover
the same individuals - different sets of
parameters - sia(rdf) - send an rdf file -
sia(url) - send the URL of the file -
sia(server, repos, user, passw) - extract rdf
6SIA - First Attempt
WSDLGrounding1 WsdlAPG Gr (P1-gtop1)
RDFFile-gtIMsg Rule 2 1-to-1 grounding from
I/O to MsgPart
WSDLGrounding2 WsdlAPG Gr (P1-gtop2)
WSDLGrounding3 WsdlAPG Gr (P1-gtop3) !!!
Type polymorphism is possible, but not
parametric polymorphism.
WSDL Service(PortTypeSIA( op1 (IMsg(url),
OMsg(stream)) op2 (IMsg(string),
OMsg(stream)) op3 (IMsg(url,pse,ln,rep),
OMsg(stream))))
In 0.9. one or more inputs to 1 MsgPart -
still a problem
7SIA - A bottom-up approach
Profile Pr1 (I(RdfFile), O(RdfFile)) Pr2
(I(RdfStream),O(RdfFile)) Pr3
(I(server),I(url),I(psw),I(ln),O(RdfFile))
ProcessModel CompositeProcess CPChoice AP
P1(I(RdfFile),O(RdfFile)) AP
P2(I(RdfStream),O(RdfFile)) AP
P3(I(server),I(url),I(psw),I(ln),O(RdfFile))
WSDLGrounding WsdlAPG Gr1 (P1-gtop1) WsdlAPG
Gr2 (P2-gtop2) WsdlAPG Gr3 (P3-gtop3)
Profile1
Profile2
Profile3
Process1
Process2
Process3
WSDL Service(PortTypeSIA( op1 (IMsg(url),
OMsg(stream)) op2 (IMsg(string),
OMsg(stream)) op3 (IMsg(url,pse,ln,rep),
OMsg(stream))))
WsdlAPG1
WsdlAPG2
WsdlAPG3
8SIA -Complex structures
Mapping rule 1 AtomicProcess-gt WSDL op
In 0.9 still mapping each AtomicProcess.
WSDL Service(PortTypeSIA( op1 (IMsg(url),
OMsg(stream)) op2 (IMsg(string),
OMsg(stream)) op3 (IMsg(url,pse,ln,rep),
OMsg(stream))))
9Conclusions
- Imprecise conceptual model - different models
within DAML-S - unclear links between models -
no correspondence to SE concepts - Mapping to
WSDL limits DAML-S expressivity - how to model
parametric polymorphism? - how to model complex
structures? - Difficult to learn - limited
tool support - few examples - lot of knowledge
required