Re: Definition of Choreography

Paul Prescod <[email protected]>
Newsgroups gmane.comp.web.services.ws-arch
Message-ID <[email protected]>
Mathews, Walden wrote:
> Paul,
>...

> There's a lot of overlap in that.
> 
> A state is a set of (pre) conditions. 

Is that true? I think a state is more than that.

 > ...  A guard is just a small elaboration of a precondition.

Could you tell me your definition of "guard" is? I think that there is 
more than one definition.

http://www.cse.unsw.edu.au/~cs2110/PDF/precondguards-notes.pdf says :

 > The two concepts of preconditions and guards are frequently confused,
 > but in this lecture we will attempt to show that they are very
 > different.

 > Preconditions and guards appear to be similar, but in fact
 > they [are] diametrically opposed concepts.

> In general, preconditions are assumptions that are necessary for 
> the successful completion of behaviour. They are the part of 
 > the contract, between the user of an operation and the
 > implementor of an operation, that must be met by the user
 > of the operation.
> 
> Guards are used to select between different states and 
 > inputs. A guard ensures that some condition is satisfied;
 > there is no assumption.

Perhaps you could endorse this definition or provide one.

> All that's left is the event
 > (trigger).  Are you saying that the mention of events in such
> a model adds an unacceptable complexity?  I wouldn't think so.

I think that the imposition of event ordering adds unneccessary 
complexity. The "state" can always be represented as a ticket or token 
in the message and expressed merely as a precondition. But I only 
express it that way to build a bridge between the state machine model 
and the in-message model. But I don't think there is even a need to 
think in terms of states: just use preconditions directly tied to 
business needs ("declared business rules").

> I think the "state machine" is closer to what you are proposing
> than it is to the procedural alternative.

Well "procedural" is a way of implementing a "procedure". A state 
machine is also fine as an implementation technique. My point is that 
neither of them needs to be in the public interface to a service.

  Paul Prescod
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.