- From: Drew McDermott <drew.mcdermott@yale.edu>
- Date: Tue, 11 Mar 2003 09:52:04 -0500 (EST)
- To: Saied.Tazari@zgdv.de
- Cc: www-ws@w3.org
[Saied Tazari] I am working on a user-centric broker agent in the context of a national research project in Germany (see the extended abstract submitted to KIMAS'03 for a summary of our ideas about the broker agent under http://www.zgdv.de/departments/z3/Z3Staff/stazari/index_html_en). I have a problem regarding the flow control in composite processes (more precisely in a simple sequence without any preconditions and effects): How can I specify that one of the inputs of an atomic process must be a subset of one of the outputs of the preceeding atomic process? Consider the following example: ... How can I formulate that a concrete value given for selectedLocationList_In within a concrete sequence of these two processes must be a subset of the concrete value delivered for availableLocationList_Out? We have a technique in DAML-S for indicating that the two values must be identical: <rdf:Description rdf:about="...whole process id..."> <process:sameValues rdf:parsetype="daml:collection"> <process:ValueOf process:atClass="#GetPostitCompositionPrerequisites" process:theProperty="#availableLocationList_Out"/> <process:ValueOf process:atClass="#StickPostit" process:theProperty="#selectedLocationList_In"/> </process:sameValues> </rdf:Description> However, what you want is slightly different. Why not introduce a "select" step that picks one from a list? Then you could have a sequence GetPostitCompositionPrerequisites >out> availableLocationList_Out =availableLocationList_In >in> PickOne >out> selectedLocationList_Out =selectedLocationList_In >=> StickPostit You would need two 'sameValues' declarations to make this work. -- Drew McDermott
Received on Tuesday, 11 March 2003 19:26:51 UTC