Karl,
very interesting. You
are suggesting semantics of "PendingAndTerminating" and "ObservedAndTerminating"
are identical to their counterparts (i.e., "Pending" and "Observed",
respectively), in all aspects other than the acknowledgement of receiving
a termination request. As a matter of fact once the termination decision
is reached by the provider, the agreement state will transition from either
of these states to "Terminated" state immediately (while
internal clean up may be taking place). This also means if the termination
request is rejected, then the states revert back to their counterpart states.
With this interpretation, a transition
is possible from "PendingAndTerminating" to "ObservedAndTerminating"
until the termination decision is reached.
Furthermore, in "ObservedAndTerminatating"
state, the service quality must be observed just as in "Observed"
state.
If we agree with this interpretation,
I can add new transitions from "PendingAndTerminating" and "ObservedAndTerminating"
to their counterparts. We also need new text to clarify the transitions
from these states to "Terminated" -- triggered by when
termination decision is made, (and not when internal clean up may be taking
place).
Karl Czajkowski <karlcz@univa.com> wrote on
04/06/2006 11:39:14 AM:
>
>
> I think there is another semantics of concern about the implied
> obligations, i.e. the "payment" or "penalties".
Let us assume in all
> cases that no service delivery guarantees will be expected once the
> client sends the terminate request.
>
> The issue I am trying to raise is that it is not just an atomic "state
> at which the termination is received". If I, as a broker,
am in the
> process of computing acceptance when the termination is received,
I
> would like to reserve the right to decide LATER whether I had accepted
> or rejected the agreement. I cannot make this decision
> instantaneously but must synchronize with a potentially complex
> brokering process. If allowed to by the specification, I could
return
> immediately with the state I know (PendingAndTerminating) and still
> would be able to enter other states to reflect what happened.
>
> So, PendingAndTerminating->ObservedAndTerminating->Terminated
would
> mean that I have decided, due to the non-deterministic things I was
> doing as a broker, that I was not able to complete your terminate
> request before accepting. I will bill you as having terminated
an
> accepted agreement, i.e. in order to cover my own obligations with
the
> services I was brokering (who may have accepted my offers before I
> could request termination).
>
> On the other hand, PendingAndTerminating->Terminated would mean
that I
> have decided that I was able to complete your terminate request before
> accepting. I will bill you as having terminated a pending agreement,
> i.e. I do not have to cover obligations with brokered services because
> I either terminated them early or never even got around to making
> offers.
>
> The issue is that at the time I, the broker, receive your terminate
> request I do not really know the distributed state of my own brokering
> process and I cannot tell you whether I will have to go into
> ObservedAndTerminating or not. So, if we do not allow the
> PendingAndTerminating->ObservedAndTerminating transition, then
I
> cannot respond to show any "terminating" state until I am
able to
> synchronize my distributed process and make this determination.
>
> If you buy any of this, I think there is also an issue of having
> distinct final states (maybe sub-states?) for Terminated to encode
the
> history of whether the agreement had been accepted or not.
>
>
Regards.
Asit Dan, Ph.D.
SWG SOA Design Requirements
Phone: (914) 766-1767
Internet: asit@us.ibm.com
ICSOC 06 PC Chair (http://www.icsoc.org)