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

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

From: Howard N Smith <howard.smith@ontology.org>
Date: Mon, 14 Apr 2003 15:07:10 +0100
Message-Id: <>
To: public-ws-chor@w3.org


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 

 >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 
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?




New Book - Business Process Management: The Third Wave

Howard Smith/CSC/BPMI.org
cell             +44 7711 594 494 (worldwide)
home office +44 20 8660 1963
Received on Monday, 14 April 2003 10:07:51 UTC

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