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

RE: Same model for both Public and Private process ??

From: Assaf Arkin <arkin@intalio.com>
Date: Sun, 2 Feb 2003 21:10:48 -0800
To: "Ricky Ho" <riho@cisco.com>, "Mayilraj Krishnan" <mkrishna@cisco.com>
Cc: <public-ws-chor@w3.org>
Message-ID: <IGEJLEPAJBPHKACOOKHNIEEHDCAA.arkin@intalio.com>

Think of a process definition (external or internal) as being a multiple
edge connected directed graph of activities. Let each node be a site that
can further contain such a graph fully encapsulated within that site, with
each graph forming a node in a tree of graphs under that site.

(Long winded, but so far we have managed to represent the most complex
processes that way)

Define a visual notation as a visual representation of such a graph by
transforming information captured in the graph into a collection of shapes,
lines and textual captions. Two interesting properties:

1. You can define any number of visual notations (transformations) and thus
have any number of visual representations (views) of the same process
definition

2. You can capture all the information in a visual notation, but you can
also have notations that capture some of that information (as much or as
little as you want), yet the information is never lost!

For example, since each node is associated with a role within a finite set
of roles (e.g. with site of receiver denoting role), one could use the
process definition to draw a use case diagram. Flows will not be expressed,
but all the information depicted in the use case diagram could be derived
directly from that graph.

You could also represent this graph as a sequence diagram, collaboration
diagram, activity diagram or statechart diagram. All the non-visual
information required to construct these visual diagrams is captured in the
graph, and you could have multiple views (diagrams) of the same graph.

Talking to business users we have found out that flowcharts (activity
diagrams of sort) are generically the most appealing visual notation.
Statechart and sequence diagrams are preffered by some users and in some
applications, flowcharts are simply a more widely understood notation.

People think in terms of states and transitions, but they may find the
step-oriented approach to be an easier way to express how these states and
transitions come about. For most people it is easier to think in terms of
"state where I do X, decision, state where I do Y" (flowchart) rather than
"state in which X occurs, state in which Y occurs, a condition on transition
from X to Y" (statechart).

If written in English, a flowchart diagram would be written in the active
voice, while a statechart diagram would be written in the passive voice.
Business users tend to use the active voice more often, and that might be
the only explanation for that perference.

The process definition iself should be based on a formal model and allow
both narratives to exist.

arkin

> -----Original Message-----
> From: public-ws-chor-request@w3.org
> [mailto:public-ws-chor-request@w3.org]On Behalf Of Ricky Ho
> Sent: Sunday, February 02, 2003 5:36 PM
> To: Mayilraj Krishnan
> Cc: public-ws-chor@w3.org
> Subject: Re: Same model for both Public and Private process ??
>
>
>
> Thanks for your feedback !
>
> Can you elaborate what do you mean by "dynamic behavior" ?  Can
> you give me
> an example of an "external behavior" that you cannot be modelled in state
> transition diagram so that I can understand better why activity
> diagram is
> a better choice ?  In a state transition diagram, every transition is
> either a "send message" or "receive message" to another party, which will
> have a "role" defined.  I failed to say why "role" is unclear in state
> transition diagram.
>
> I guess I'm talking about the opposite.  I think a "private process" is
> richer than a "public process".  By taking away the "process variables",
> "conditions", a "private process" will become a "public process".
>  Is that
> true ?
>
> Best regards,
> Ricky
>
> At 10:32 AM 2/2/2003 -0800, Mayilraj Krishnan wrote:
>
> >Ricky
> >
> >Even though the state transition diagram can represent the
> dynamic behavior,
> >the activity diagram could be the better choice for describing the
> >external behavior.
> >(public or abstract process). You can represent the roles clearly.
> >In case you want to represent the dynamic behavior of operation
> you could
> >choose
> >either activity or state transition diagram (Whether you want to put
> >emphasis on the
> >control of flow on activity or state).
> >Yes you are correct. If you remove the dynamic properties like
> >transitions, process variables
> >from the state machines (activity or transition diagram) then it becomes
> >private process that you
> >can model it using flowchart.
> >
> >Thanks
> >Mayilraj
> >At 10:52 PM 2/1/2003 -0800, Ricky Ho wrote:
> >
> >>I have some confusion as described below ...
> >>
> >>"Private process" is providing an internal implementation view
> of a party
> >>in a long running business interaction when the party is
> implementing its
> >>behavior using orchestration engine.  "Private process" is about
> >>specifying the activities he takes in responding to an event (which can
> >>be receive a particular message or send a particular message).  The
> >>process variables, routing decisions... etc, describe the detail
> >>implementation logic is clearly specified.  The modeling language (e.g.
> >>BPEL, BPML) is semantically equivalent to a flow chart.
> >>
> >>"Public process" is providing an external view of a party in a long
> >>running business interaction regardless of whether that party is
> >>implementing his behavior using an orchestration engine.
> Public process
> >>is about specifying all possible states of that party.  And
> then for each
> >>state, what events are legitimate (event can be receive a particular
> >>message or send a particular message) ?  And after that, what
> is all the
> >>"possible" next states ?  The major difference is "public
> process" is NOT
> >>to describe which route to take under what conditions.  Instead, it
> >>describe what are the possibilities.  It seems to me a "state
> transition
> >>diagram" is a natural fit to describe the "public process".
> >>
> >>Therefore, I have a question if the "public process" should be
> based on a
> >>completely different model (a "state transition diagram") than the
> >>"private process" (a "flow chart diagram").  Correct me if I
> >>misunderstand, it seems HP's WS-Conversation-Language is taking
> this approach.
> >>
> >>But I also hear that "public process" can be described as a subset of a
> >>"private process".  If you take out the "process variable", "assign
> >>statements", and the "conditions" in the switch blocks and
> loops ... etc
> >>from the "private process", then you will have the "public
> process".  In
> >>other words, public process can be just use the same model of "private
> >>process".  It seems WSCI and BPEL-private process is taking
> this approach.
> >>
> >>I also heard that the "flow-chart" is equivalent to "state
> >>diagram".  They are just a dual-representation to each other.
> >>
> >>Any comments and thoughts ... ?
> >>
> >>Best regards,
> >>Ricky
> >
Received on Monday, 3 February 2003 00:11:45 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:29:54 UTC