- 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