W3C home > Mailing lists > Public > public-ws-chor@w3.org > April 2003

RE: Terminology - What is a process? Was: Internal processes and/or external choreographies (was RE: Ev ents and States ...

From: Jean-Jacques Dubray <jjd@eigner.com>
Date: Wed, 16 Apr 2003 10:13:55 -0400
To: "'Steve Ross-Talbot'" <steve@enigmatec.net>, "'Jean-Jacques Dubray'" <jjd@eigner.com>
Cc: "'Howard N Smith'" <howard.smith@ontology.org>, <public-ws-chor@w3.org>
Message-ID: <009801c30422$7d59eb70$096e050a@JJD>


Steve:

I am far from being a specialist of pi-calculus but isn't the mission of
the working group to develop a metamodel of web service choreographies
which would enable to capture the choreography description for the
purposes of: modeling what is going to happen, enforcing what should
happen, executing what we want to happen, audit what has happened, ...
(note some of these statements could be doomed out of scope). Tools and
run-time engines could use this metamodel in the traditional way
(author, execute, enforce, ...) a choreography description saved and
consumed in the format specified by ws-chor and semantically complete
for the purposes identified).

Now I don't see pi-calc being anywhere near semantically complete to be
able to express web service choreography. I am not saying that pi-calc
and ws-chor are unrelated, but also I don't see the requirement that the
metamodel has to be based on pi-calc. 

For instance, pi-calc does not have the notion of message exchange
pattern at its core. The fundamental concept in pi-calc is a port but
nothing specifies how the ports could be related in higher level
constructs (MEP). Pi-calc does not seem to have the notions of time out,
or timing period. Pi-calc does not seem to be able to express that the
choreography can be dependent on the content of the messages, and so on.

I am not trying to undermine the theory which I find very interesting
and significant. I am just trying to bring it into perspective with
ws-chor. Beyond that, I am also a strong believer in metamodels (for
instance comparing Java metamodel and the one of C++ can be very
enlightening). At the end of the day, people are
working/dealing/wrestling (consciously or unconsciously) with the
metamodel (concepts and their relationships). If the metamodel is not
rich enough one would end up repeating a lot of low level construct, if
it is incomplete, it will limit the applicability of the specification,
...


JJ- 
 

>>-----Original Message-----
>>From: public-ws-chor-request@w3.org
[mailto:public-ws-chor-request@w3.org]
>>On Behalf Of Steve Ross-Talbot
>>Sent: Tuesday, April 15, 2003 4:00 PM
>>To: Jean-Jacques Dubray
>>Cc: 'Howard N Smith'; public-ws-chor@w3.org
>>Subject: Re: Terminology - What is a process? Was: Internal processes
>>and/or external choreographies (was RE: Ev ents and States ...
>>
>>
>>JJ and Howard,
>>
>>Whilst we could send such a question to Prof Milner he is pretty
>>pressed for time. Lucian is a better bet because he understand the Web
>>Services architecture and certainly has Prof Milner's blessing. He is
>>also busy but I am happy to
>>pass on the request if you wish me to do so.
>>
>>My own observations suggest that pi and/or higher order pi is rich
>>enough and appropriate to use as a basis for expressing
choreographies.
>>
>>Cheers
>>
>>Steve T
>>
>>On Tuesday, April 15, 2003, at 07:06  pm, Jean-Jacques Dubray wrote:
>>
>>>
>>>
>>>
>>> Following your comment that "everything" is a process, shouldn't we
>>> expect that any 100% pi-c based solution will follow the same fate
of
>>> other "uni-cratic" systems like Java, C, SQL, COBOL, ... i.e. severe
>>> limitations/complexities outside the realm of applications for which
>>> they were designed (e.g. EJBs versus Classes).
>>>
>>> From what I can see the web-service architecture has a rich set of
>>> constructs that can only be diluated if everything becomes a
"process".
>>>
>>> The way I understand the role of ws-chor is to provide a metamodel
with
>>> which one can model "choreographies" message exchange between web
>>> services. If there is a requirement for this metamodel to be as
simple
>>> as possible, there is also a requirement that this metamodel must be
>>> rich enough such that expressing choreographies does not become
>>> "heary".
>>> Of course we can always talk about tool(s) breaking that hearyness,
but
>>> then the babel effect comes into place where each tool coming with
its
>>> "features" will in essence create semantic island which will make
>>> comparing choreography specifications difficult at best.
>>>
>>> With respect to pi-c no matter how I stear at it I don't see an
>>> explicit
>>> choreography specification. All I see is the specification of the
>>> behavior of agents which are capable of communicating which each
other.
>>> If you take the example: _xy.0 | x(u)._uv.0 | _xz.0, it expresses
the
>>> behavior of each agent and the composition "point" but by no means
the
>>> "choreography" is "visible" there. Furthermore, pi-calculus seem to
be
>>> limited to request/response message exchange patterns (I'd be
curious
>>> to
>>> know how one would model complex MEPs).
>>>
>>> Ultimately, a ws-choreography can and should be expressed in
>>> abstraction
>>> of the agents that will implement this choreography and how they
will
>>> implement it.
>>>
>>> Respectfully, I would be very interested to know the opinion of
Prof.
>>> Milner about whether a choreography specification is already present
in
>>> the theory or not, and its relevance with respect to the design and
>>> binding of collaborating agents. Milner took the perspective of
>>> autonomous agent that need to communicate with each other via very
>>> simple protocols, he has not necessarily addressed the problem of
>>> expressing choreographies for which agent will be designed (or
>>> configured). Of course the problem are intimately related but aren't
we
>>> looking at the specification (ws-chor) and the implementation
>>> (pi-calc)?
>>>
>>> Overall what is needed is an appropriate metamodel for web service
>>> choreographies. We should leave the implementation details to the
>>> vendors where some could decide that the best way to implement a
given
>>> "side" of the choreography is to use a pi-c interpreter, hence
>>> compiling
>>> the choreography into a process definition.
>>>
>>> Jean-Jacques Dubray____________________
>>> Chief Architect
>>> Eigner  Precision Lifecycle Management
>>> 200 Fifth Avenue
>>> Waltham, MA 02451
>>> 781-472-6317
>>> jjd@eigner.com
>>> www.eigner.com
>>>
>>>
>>>
>>>>> -----Original Message-----
>>>>> From: public-ws-chor-request@w3.org
>>> [mailto:public-ws-chor-request@w3.org]
>>>>> On Behalf Of Howard N Smith
>>>>> Sent: Monday, April 14, 2003 10:07 AM
>>>>> To: public-ws-chor@w3.org
>>>>> Subject: Terminology - What is a process? Was: Internal processes
>>> and/or
>>>>> external choreographies (was RE: Ev ents and States ...
>>>>>
>>>>>
>>>>> David,
>>>>>
>>>>> You made a couple of remark which I'd like to comment upon:
>>>>>
>>>>> You said:
>>>>>> 1. I don't think I would call it "process buyerSeller" as buyer
and
>>>>> seller are roles and they can have more than one choreography
between
>>> them.
>>>>> I also like the word Choreography >rather than process (as you
>>> describe),
>>>>> so perhaps a better name would be something like "Choreography
>>>>> orderManagement".
>>>>>
>>>>> and:
>>>>>> 2. Following on in the same theme, using "process seller" and
>>> "process
>>>>> buyer" is ambiguous as you will have more than one process at the
>>> buyer
>>>>> and
>>>>> seller. So how about "process >acceptOrder" and "process
placeOrder"
>>> where
>>>>> each has a property that identifies the role which performs the
>>> process
>>>>> giving you: "process acceptOrder, role seller" and "proccess
>>> placeOrder,
>>>>> role buyer".
>>>>>
>>>>> For the "process calculus people" in the group, everything is a
>>> process,
>>>>> even the humble integer. (I think that was what Assaf just
naturally
>>> did).
>>>>> In the pi-calculus,
>>>>> everything is a process - formally. This group, and the industry
at
>>> large,
>>>>> may have started to use the word "choreography" but the term has
no
>>> basis
>>>>> in any
>>>>> previously published theory, and hence, everyone is using it and
>>> defining
>>>>> it differently. Similarly, to process calculus people, the seller
and
>>> the
>>>>> buyer are
>>>>> also processes. In BPM as used in CSC, processes participate in
>>> processes.
>>>>> The result is also a process.
>>>>>
>>>>> This "everything is a process" position that process calculus
people
>>> take
>>>>> is in fact quite real. It is the same position taken by object
people
>>> in
>>>>> object systems.
>>>>> CSC defines BPM as really a new technology, based on processes. It
>>> depends
>>>>> upon implementations, which we call process virtual machines. The
>>>>> commonplace
>>>>> language we used in our book, BPM: The Third Wave, to explain this
to
>>> the
>>>>> world at large is to talk about "first class citizens" in
computing.
>>> Every
>>>>> technology
>>>>> has a conceptual center, sometimes defined very formally and
>>>>> sometimes
>>>>> less
>>>>> so. To see what I mean here are a few first class citizens:
>>>>>
>>>>> - COBOL, the report
>>>>> - C, the pointer, function
>>>>> - Java, the object
>>>>> - EDI, the business element
>>>>> - XML, the tag
>>>>> - RDBMS, SQL, tuple, key
>>>>> - EAI, application interface
>>>>> - workflow, resource, task, case
>>>>>
>>>>> etc etc ... realise this is rough, but you get the idea ...
>>>>>
>>>>> The reason we identify the process as a new "first class citizen"
is
>>>>> because in BPM process is not a byproduct of another stack of
>>> technology,
>>>>> but the central entity around which all computation and
communication
>>>>> occurs. This is what gives BPM its ability to manipulate process,
as
>>> RDBMS
>>>>> does relational data. It is what gives BPM its expressiveness in
>>> defining
>>>>> sophisticated meta-process models that adhere to other process
>>> semantics,
>>>>> for example:
>>>>>
>>>>> - project plans, schedules
>>>>> - B2B PIPs
>>>>> - workflow patterns, task allocation
>>>>> - collaboration patterns (votes, polls, committments etc)
>>>>> - supply chain models
>>>>> - other process languages
>>>>>
>>>>> It is what gives BPM it's completeness. What we have been looking
for
>>> at
>>>>> BPMI.org and CSC, is a new first class citizen that can express
>>>>> many of the others, so that we can manage them as processes. A
>>> question
>>>>> that comes to my mind is:
>>>>>
>>>>> - Is there anything in this abstract "choregraphy" space that is
NOT
>>>>> a
>>>>> process, that cannot be "described" using process calculus?
>>>>>
>>>>> Thoughts?
>>>>>
>>>>> Howard
>>>>>
>>>>>
>>>>> ---
>>>>>
>>>>> New Book - Business Process Management: The Third Wave
>>>>> www.bpm3.com
>>>>>
>>>>> Howard Smith/CSC/BPMI.org
>>>>> cell             +44 7711 594 494 (worldwide)
>>>>> home office +44 20 8660 1963
>>>
>>>
>>> This email is confidential and may be protected by legal privilege.
If
>>> you are not the intended recipient,  please do not copy or disclose
>>> its content but  delete the email and contact the sender
immediately.
>>> Whilst we run antivirus software on all internet emails we are not
>>> liable for any loss or damage. The recipient is advised to run their
>>> own antivirus software.
>>>
>>
>>This email is confidential and may be protected by legal privilege. If
you
>>are not the intended recipient,  please do not copy or disclose its
>>content but  delete the email and contact the sender immediately.
Whilst
>>we run antivirus software on all internet emails we are not liable for
any
>>loss or damage. The recipient is advised to run their own antivirus
>>software.
Received on Wednesday, 16 April 2003 10:17:11 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:00:58 UTC