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

At 05:35 PM 2/2/2003 -0800, Ricky Ho wrote:
>Thanks for your feedback !
>
>Can you elaborate what do you mean by "dynamic behavior" ?

Here I meant the behavior you can model it using State Machines. The object 
lifecycle responds to various events, changing
the states based on some actions, and responses to the events.

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

The external behavior can be modelled in both activity and transition 
diagram always.
(1) State Transition Diagram
Each action is taken when events are detected by the state machine. Action 
will get the inputs by the event.
Here emphasis given more to the states of objects and transitions of the 
states. In practice UML recommendation is
also to model the reactive objects(normally single)  by state transition.
(2) Activity Diagram
Each action is taken when previous actions are completed or all the 
required inputs are available for the object.
Here emphasis given the order in which the actions are taken.

That is the reason I view better to model the external (abstract) behavior 
using activity diagram.
Notations:
Activity Diagram          State Transition
----------------------- ----------------------
Action          Simple State
Activity                State
fork/join               fork/join
transition              transition

You can not define the swimlanes (does not have semantics in UML) in state 
transition
but the roles representation is clear using swimlanes and can be easily 
visualized in activity diagrams.
(Example: Airline Revervation System, swimlanes are Customer, Travel Agent, 
Airline).
So in practice because of these characteristics of these modeling behaviors,
people end up modeling real time and embedded systems using state transition.
The workflow (business process model) and the complex operations modelled using
activity diagrams.

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

Here I agree with Asraf comment "The fine line between  public and private 
process  is computation intensive nature".
I think this computation intensive only you are calling richness. In that 
case yes, private process is richer than public process.
But if it is not computation intensive I don't know why we have to model 
the operation using activity or state transition
diagrams.
If you remove the states, actions, transitions from the state machines it 
becomes flowchart.
The specifications may not tell clearly the line between private and 
public. Some may put the restrictions on private and public process. 
Example: BPEL has some restrictions on public process on accessing some 
container data. That is the only
difference I guess between public and private process in BPEL. The answer 
to your question is "Yes' (Some other
specifications might differ. I did not see one so far)




>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 13:14:03 UTC