90 likes | 242 Views
Marta Sabou VU Amsterdam. Debbie Richard Macquarie Sydney. Sander van Splunter VU Amsterdam. An Experience Report on. Using DAML-S. Preliminaries. The paper:. - written by starters for starters - starters feedback for the DAML-S coalition. This talk:. - presents the domain
E N D
Marta Sabou VU Amsterdam Debbie Richard Macquarie Sydney Sander van Splunter VU Amsterdam An Experience Report on Using DAML-S
Preliminaries The paper: - written by starters for starters - starters feedback for the DAML-S coalition This talk: - presents the domain - presents the major technical issues - shortly discusses the conclusions of the paper
Our domain: SW@VU BibTex files [more files] Bib2Rdf(WS) Esesame(WS) [duplicates] SameIndividual Isesame(WS) As(WS) PortalCreator Portal Our goal: - automate portal creation 1) describe these components 2) “intelligent”configuration ex: 1) already an RDF file -> no need for translation 2) one file -> do not check duplicates
Conceptual Unclarities Port hasProcess Profile Process operation preCondition parameter (I/O/P/E) IMsg refersTo Condition MsgPart ParamDescr parameter (I/ O) OMsg effect restrictedTo MsgPart Thing ConditionalEffect Thing network endpoint program action 1) Different models within DAML-S 2) Unclear links 3) How does it all relate to SE terms?
A more complex service First intuition: - model one Profile/Process - provide 3 different groundings Profile Process Grounding1 Grounding2 Grounding3 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
SIA - First Attempt Profile: Pr1 (I(RdfFile), O(RdfFile)) ProcessModel:AP:P1(I(RdfFile),O(RdfFile)) Profile Process Grounding1 Grounding2 Grounding3 WSDLGrounding1: WsdlAPG: Gr (P1->op1) * RDFFile->IMsg Rule 2: 1-to-1 grounding from I/O to MsgPart WSDLGrounding2: WsdlAPG: Gr (P1->op2) WSDLGrounding3: WsdlAPG: Gr (P1->op3) !!! * Type polymorphism is possible, but not parametric polymorphism. WSDL: Service(PortType:SIA( 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
SIA - 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: CP:Choice { 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->op1) WsdlAPG: Gr2 (P2->op2) WsdlAPG: Gr3 (P3->op3) Profile1 Profile2 Profile3 Process1 Process2 Process3 WSDL: Service(PortType:SIA( op1 (IMsg(url), OMsg(stream)) op2 (IMsg(string), OMsg(stream)) op3 (IMsg(url,pse,ln,rep), OMsg(stream)))) WsdlAPG1 WsdlAPG2 WsdlAPG3
SIA -Complex structures Profile: Pr1 (I(RdfFile), O(RdfFile)), Pr2, Pr3 ProcessModel: CompositeProcess: CP:Choice { CompositeProcess:CP1: Sequence{AP:DR1(I(url),O(RdfFile)), AP:T1(I(RdfFile),O(RdfFile))} CompositeProcess:CP2: Sequence{AP:DR2, AP:T1} CompositeProcess:CP3: Sequence{AP:DR3, AP:T1}} Profile1 Profile2 Profile3 DR1 DR2 DR3 TR1 TR1 TR1 Mapping rule 1: AtomicProcess-> WSDL op In 0.9 still mapping each AtomicProcess. WSDL: Service(PortType:SIA( op1 (IMsg(url), OMsg(stream)) op2 (IMsg(string), OMsg(stream)) op3 (IMsg(url,pse,ln,rep), OMsg(stream))))
Conclusions - 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