Issue 10150: Implicit State Machine for Activities (bpmn-ftf) Source: Axway Software (Dr. Dale Moberg, dmoberg@axway.com dale.moberg@cox.net) Nature: Uncategorized Issue Severity: Summary: What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process “endings” (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states (“armed” “ready”, “listening”, “waiting” “dormant”, “inactive” and so on) list them along with basic ones such as “started” (“instantiated” “activated”) and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and “flow” as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Resolution: Revised Text: Actions taken: September 1, 2006: received issue Discussion: Defer: While the Issue may be valid, it represents potentially significant modifications. Thus, this Issue will be deferred and handled by work on a later version of BPMN. End of Annotations:===== ubject: Fw: Implicit State Machine for Activities X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Thu, 31 Aug 2006 22:45:32 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 08/31/2006 23:45:34, Serialize complete at 08/31/2006 23:45:34 Hi Juergen, I guess this can be a BPMN issue. -Steve ----- Forwarded by Stephen A White/Irvine/IBM on 08/31/2006 10:44 PM ----- "Dale Moberg" 08/24/2006 02:08 PM To cc Stephen A White/Irvine/IBM@IBMUS Subject Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process .endings. (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states (.armed. .ready., .listening., .waiting. .dormant., .inactive. and so on) list them along with basic ones such as .started. (.instantiated. .activated.) and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and .flow. as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Subject: RE: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 13:00:33 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: issue 10150 -- BPMN FTF issue Thread-Index: AcbN3goPaAiOCez8ShuNxGbiUILB1AC+sedg From: "Astier Sylvain" To: X-OriginalArrivalTime: 05 Sep 2006 11:00:33.0594 (UTC) FILETIME=[826801A0:01C6D0DA] X-Scanned-By: MIMEDefang 2.38 Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: FW: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 09:12:36 -0400 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: issue 10150 -- BPMN FTF issue Thread-Index: AcbN3goPaAiOCez8ShuNxGbiUILB1AC+sedgAATccPAAACol8A== From: "Rob Bartel" To: I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: RE: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 19:06:10 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: issue 10150 -- BPMN FTF issue Thread-Index: AcbN3goPaAiOCez8ShuNxGbiUILB1AC+sedgAATccPAAACol8AAGyrug From: "Astier Sylvain" To: X-OriginalArrivalTime: 05 Sep 2006 17:06:10.0214 (UTC) FILETIME=[95A69460:01C6D10D] X-Scanned-By: MIMEDefang 2.38 I am not sure what you want to do. Let.s pretend I don.t know how to use intermediate link events or intermediate business rules events or whatever trick one might use to come up with a similar process. I want Task2 and Task4 to run in parallel and I need Task6 to be executed only after Task3 is completed. If Task3 is not completed when a token reaches my exclusive gateway, I want to wait for a few minutes, execute .Task5. and loop back on the gateway to check Task3.s Status. Then I want to execute Task6 once I am sure Task3 was completed. First of all I am not quite clear what the spec are really saying with the sentence .The status of a process can be used within Assignments.. The way I understand it is that I can use it in an Expression, for instance in the Expression I defined in my gateway, I want to test whether .Task3.Status = Completed. If so, the process I draw does make sense even though this is obviously a poor design. Now, what if we add a new sequence flow from my parallel gateway to Task2. Effectively this will run the upper execution branch twice. Executing Task2 twice and Task3 twice. Then of course my exclusive gateway cannot test the status of Task3 since .Status. is really an instance attribute and therefore will take differents values for differents instances of the same task and there is no way to differentiate those instances since they does not exist at design time. During one of our conf calls, we talked about defining a list of predefined properties such as 'StartTime' which would be available to use in Expressions (AI62). Well the same issue would apply with activities, how could we refer in an Expression to the StartTime of a specific instances of an Activity ? I don't think we can and I doubt we really want that after all. Each time we talk about Expression I am getting confused between : - Class Variables vs Instance Variables - What is available at Runtime vs what is available at design time. I apologize if what I wrote does not make much sense... Regards, Sylvain Astier -----Message d'origine----- De : Rob Bartel [mailto:Rob.Bartel@igrafx.com] Envoyé : mardi 5 septembre 2006 15:13 À : bpmn-ftf@omg.org Objet : FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: "Rob Bartel" Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Tue, 5 Sep 2006 10:18:38 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 09/05/2006 11:18:40, Serialize complete at 09/05/2006 11:18:40 Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: RE: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 19:23:29 +0200 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: issue 10150 -- BPMN FTF issue Thread-Index: AcbRDjzHntPBj0bGSKCzEiF4yu/2VgAAWJNQ From: "Giraud Jean-Luc" To: "Stephen A White" , "Astier Sylvain" Cc: X-OriginalArrivalTime: 05 Sep 2006 17:23:29.0306 (UTC) FILETIME=[00FF6FA0:01C6D110] X-Scanned-By: MIMEDefang 2.38 Yes Steve, you're right,. No pb about terminology, just a wording reversal. Thanks Jean-Luc -----Message d'origine----- De : Stephen A White [mailto:wstephe@us.ibm.com] Envoyé : mardi 5 septembre 2006 19:11 À : Astier Sylvain Cc : bpmn-ftf@omg.org Objet : RE: issue 10150 -- BPMN FTF issue Sylvain, I would switch the position and definition of "ready" and "active," Maybe its just a terminology thing... -Steve "Astier Sylvain" 09/05/2006 04:00 AM To cc Subject RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: RE: FW: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 13:35:16 -0500 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: FW: issue 10150 -- BPMN FTF issue Thread-Index: AcbRD/hU4TBR+ueYSlSyHBC2XzcDiQABlcgw From: "Cummins, Fred A" To: "Stephen A White" , "Rob Bartel" Cc: X-OriginalArrivalTime: 05 Sep 2006 18:35:23.0514 (UTC) FILETIME=[0C7755A0:01C6D11A] Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: "Cummins, Fred A" Cc: bpmn-ftf@omg.org, "Rob Bartel" Subject: RE: FW: issue 10150 -- BPMN FTF issue X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Tue, 5 Sep 2006 14:44:05 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 09/05/2006 15:44:07, Serialize complete at 09/05/2006 15:44:07 Fred, Yes, that will happen a lot. But we still need to cater to the possibility of looking at activity states. Gateway conditions may be dependent on the state (e.g., completed) of activities that have preceded the Gateway, particularly the Complex Gateway. -Steve "Cummins, Fred A" 09/05/2006 11:35 AM To Stephen A White/Irvine/IBM@IBMUS, "Rob Bartel" cc Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: RE: FW: issue 10150 -- BPMN FTF issue Date: Tue, 5 Sep 2006 17:47:17 -0500 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: FW: issue 10150 -- BPMN FTF issue Thread-Index: AcbRNLArZF/ri+rtQwWVum/gnG5R1AACGO9g From: "Cummins, Fred A" To: "Stephen A White" Cc: , "Rob Bartel" X-OriginalArrivalTime: 05 Sep 2006 22:47:23.0492 (UTC) FILETIME=[40ACE240:01C6D13D] I agree. My point was that referring to an object id or an internally defined instance or token id is useless from a user perspective. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 5:44 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, Yes, that will happen a lot. But we still need to cater to the possibility of looking at activity states. Gateway conditions may be dependent on the state (e.g., completed) of activities that have preceded the Gateway, particularly the Complex Gateway. -Steve "Cummins, Fred A" 09/05/2006 11:35 AM To Stephen A White/Irvine/IBM@IBMUS, "Rob Bartel" cc Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: "Astier Sylvain" Cc: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Tue, 5 Sep 2006 16:14:56 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 09/05/2006 17:14:57, Serialize complete at 09/05/2006 17:14:57 Sylvain, I think the way to handle your use case is to have the Gateway condition check the status of Task3, using the ObjectId. Events won't work, since they are thrown and caught immediately. If an Event is thrown after Task3, the Gateway below has to be ready to receive it. If Task5 is still going, then the Event will be lost. If there are somehow two instances of Task3, then there might be a problem, but I guess the modeler would have to know that ahead of time. Another thing that occurs to me is that the modeler will only have the ObjectId's at design-time. Runtime Id's will not be available for putting into any expressions. This means that the ObjectId must be used and if there is more than one instance, then more than one status would be returned--or maybe just the first one or the last one. But I don't know how expressions will be able to deal with that. We may need to suggest which of many statuses should be made available. -Steve "Astier Sylvain" 09/05/2006 10:06 AM To cc Subject RE: issue 10150 -- BPMN FTF issue I am not sure what you want to do. Let.s pretend I don.t know how to use intermediate link events or intermediate business rules events or whatever trick one might use to come up with a similar process. I want Task2 and Task4 to run in parallel and I need Task6 to be executed only after Task3 is completed. If Task3 is not completed when a token reaches my exclusive gateway, I want to wait for a few minutes, execute .Task5. and loop back on the gateway to check Task3.s Status. Then I want to execute Task6 once I am sure Task3 was completed. First of all I am not quite clear what the spec are really saying with the sentence .The status of a process can be used within Assignments.. The way I understand it is that I can use it in an Expression, for instance in the Expression I defined in my gateway, I want to test whether .Task3.Status = Completed. If so, the process I draw does make sense even though this is obviously a poor design. Now, what if we add a new sequence flow from my parallel gateway to Task2. Effectively this will run the upper execution branch twice. Executing Task2 twice and Task3 twice. Then of course my exclusive gateway cannot test the status of Task3 since .Status. is really an instance attribute and therefore will take differents values for differents instances of the same task and there is no way to differentiate those instances since they does not exist at design time. During one of our conf calls, we talked about defining a list of predefined properties such as 'StartTime' which would be available to use in Expressions (AI62). Well the same issue would apply with activities, how could we refer in an Expression to the StartTime of a specific instances of an Activity ? I don't think we can and I doubt we really want that after all. Each time we talk about Expression I am getting confused between : - Class Variables vs Instance Variables - What is available at Runtime vs what is available at design time. I apologize if what I wrote does not make much sense... Regards, Sylvain Astier -----Message d'origine----- De : Rob Bartel [mailto:Rob.Bartel@igrafx.com] Envoyé : mardi 5 septembre 2006 15:13 À : bpmn-ftf@omg.org Objet : FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: "Cummins, Fred A" Cc: bpmn-ftf@omg.org, "Rob Bartel" Subject: RE: FW: issue 10150 -- BPMN FTF issue X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Tue, 5 Sep 2006 16:16:30 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 09/05/2006 17:16:32, Serialize complete at 09/05/2006 17:16:32 Fred, That is right. A tool would have to make things understandable and usable. Underneath things, the ObjectId would be used. -Steve "Cummins, Fred A" 09/05/2006 03:47 PM To Stephen A White/Irvine/IBM@IBMUS cc , "Rob Bartel" Subject RE: FW: issue 10150 -- BPMN FTF issue I agree. My point was that referring to an object id or an internally defined instance or token id is useless from a user perspective. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 5:44 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, Yes, that will happen a lot. But we still need to cater to the possibility of looking at activity states. Gateway conditions may be dependent on the state (e.g., completed) of activities that have preceded the Gateway, particularly the Complex Gateway. -Steve "Cummins, Fred A" 09/05/2006 11:35 AM To Stephen A White/Irvine/IBM@IBMUS, "Rob Bartel" cc Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org Subject: RE: FW: issue 10150 -- BPMN FTF issue Date: Wed, 6 Sep 2006 05:06:01 -0500 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: FW: issue 10150 -- BPMN FTF issue Thread-Index: AcbRQYp98qkCB83FR+e5fIXyrYmxWgAWlzLQ From: "Cummins, Fred A" To: "Stephen A White" Cc: , "Rob Bartel" X-OriginalArrivalTime: 06 Sep 2006 10:06:07.0041 (UTC) FILETIME=[11CD5310:01C6D19C] Steve, So at the level of abstraction of BPMN (not technology specific), there must be a way for a modeler to describe what is to happen in terms s/he understands, i.e., the subject matter. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 7:17 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, That is right. A tool would have to make things understandable and usable. Underneath things, the ObjectId would be used. -Steve "Cummins, Fred A" 09/05/2006 03:47 PM To Stephen A White/Irvine/IBM@IBMUS cc , "Rob Bartel" Subject RE: FW: issue 10150 -- BPMN FTF issue I agree. My point was that referring to an object id or an internally defined instance or token id is useless from a user perspective. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 5:44 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, Yes, that will happen a lot. But we still need to cater to the possibility of looking at activity states. Gateway conditions may be dependent on the state (e.g., completed) of activities that have preceded the Gateway, particularly the Complex Gateway. -Steve "Cummins, Fred A" 09/05/2006 11:35 AM To Stephen A White/Irvine/IBM@IBMUS, "Rob Bartel" cc Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: "Cummins, Fred A" Cc: bpmn-ftf@omg.org, "Rob Bartel" Subject: RE: FW: issue 10150 -- BPMN FTF issue X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Wed, 6 Sep 2006 21:09:24 -0700 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.1HF346 | August 4, 2006) at 09/06/2006 22:09:28, Serialize complete at 09/06/2006 22:09:28 Ok. Can we resolve this current discussion with Issue 10150? or do we need another one? -Steve "Cummins, Fred A" 09/06/2006 03:06 AM To Stephen A White/Irvine/IBM@IBMUS cc , "Rob Bartel" Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, So at the level of abstraction of BPMN (not technology specific), there must be a way for a modeler to describe what is to happen in terms s/he understands, i.e., the subject matter. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 7:17 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, That is right. A tool would have to make things understandable and usable. Underneath things, the ObjectId would be used. -Steve "Cummins, Fred A" 09/05/2006 03:47 PM To Stephen A White/Irvine/IBM@IBMUS cc , "Rob Bartel" Subject RE: FW: issue 10150 -- BPMN FTF issue I agree. My point was that referring to an object id or an internally defined instance or token id is useless from a user perspective. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 5:44 PM To: Cummins, Fred A Cc: bpmn-ftf@omg.org; Rob Bartel Subject: RE: FW: issue 10150 -- BPMN FTF issue Fred, Yes, that will happen a lot. But we still need to cater to the possibility of looking at activity states. Gateway conditions may be dependent on the state (e.g., completed) of activities that have preceded the Gateway, particularly the Complex Gateway. -Steve "Cummins, Fred A" 09/05/2006 11:35 AM To Stephen A White/Irvine/IBM@IBMUS, "Rob Bartel" cc Subject RE: FW: issue 10150 -- BPMN FTF issue Steve, Rob, Generally, from a business perspective, if you want to know the status of an activity, the reference is to the subject matter, not the activity instance ID. For example, if I have concurrent instances for items in a purchase order, I want to reference the activity for a particular item. Fred -------------------------------------------------------------------------------- From: Stephen A White [mailto:wstephe@us.ibm.com] Sent: Tuesday, September 05, 2006 1:19 PM To: Rob Bartel Cc: bpmn-ftf@omg.org Subject: Re: FW: issue 10150 -- BPMN FTF issue Rob, Good question. If you need to check the status of an activity in the Process, would you need the instance ID of that activity, in case the activity has occurred more than once in the Process? The instance ID should be unique so that you wouldn't also need its ObjectId to get the status. Or would you want all the statuses for a given ObjectId, and then decide what to do with them? Any opinions on this? -Steve "Rob Bartel" 09/05/2006 06:12 AM To cc Subject FW: issue 10150 -- BPMN FTF issue I inadvertently sent this only to Sylvain. -------------------------------------------------------------------------------- From: Rob Bartel Sent: Tuesday, September 05, 2006 6:12 AM To: 'Astier Sylvain' Subject: RE: issue 10150 -- BPMN FTF issue I like this presentation. I have one question that has bothered me about this attribute for a long time. If multiple tokens arrive on the input to an actiivty I think we all assume that results in multiple instances of the activity. However, when the spec refers to the Status attribute I don't think it says how to identify the instance you are addressing - the identifier described in the space is the name/pathname of the activity. Is this a hole? If so, do we need to fill it? Rob -------------------------------------------------------------------------------- From: Astier Sylvain [mailto:sastier@axway.com] Sent: Tuesday, September 05, 2006 4:01 AM To: bpmn-ftf@omg.org Subject: RE: issue 10150 -- BPMN FTF issue Hi, As Dale points out the state machine of our Activities . Processes and SubProcess objects as well . is rather implicit. Here is my understanding of it : A process, sub process or activity has a Status attribute equals to .None. when it is instantiated. Whenever a token flows to that objects, it changes from status .None. to .Active. (1). It keeps that value until all the resources required for that object are available, when it is the case, the status changes to .Ready. (2). If the object expects a return the status stays .Ready. until it receives that response, which allows the token to continue and the status of the object can change to .Completed. (3). If the object does not expect a return, the status can change from .Ready. to .Completed. as soon as the token flows out of it. If a compensation intermediate event is triggered on the object while its status is .None., .Active. or .Ready., the status changes to .Cancelled.. If an hazard intermediate event interrupts the object while its status is .None., .Active. or .Ready., the status will go to .Aborting. and then to .Aborted.. I guess this could be extended for all the different intermediate events. To answer your questions : - I don.t think an activity can go directly from status .None. to status .Ready., it will have to be .Active. first, even though it might not stay in that state very long. - As I see it, .Completed., .Cancelled. and .Aborted. are finals. There is no way such an object (Task, Process, Sub-Process) can switch back from .Completed. to .None. or .Completed. to .Ready.. I guess the confusion here is because we are dealing with Instances, not process model. Meaning if you are looping on a task several instances of that task are going to be created. E.g. The first instance of the task will be completed, the token flows out of the task to loop back on it, which means a new instance of the task is created and therefore will have its on life cycle. Regarding the list of status you gave .armed., .ready., .waiting., .. those are not standard BPMN values for the Status attribute. However I guess a vendor might want to add her own additional states to address whatever specific needs she might have. Regards, Sylvain Astier -----Message d'origine----- De : Juergen Boldt [mailto:juergen@omg.org] Envoyé : vendredi 1 septembre 2006 17:48 À : issues@omg.org; bpmn-ftf@omg.org Objet : issue 10150 -- BPMN FTF issue This is issue # 10150 "Dale Moberg" Implicit State Machine for Activities What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process "endings" (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states ("armed" "ready", "listening", "waiting" "dormant", "inactive" and so on) list them along with basic ones such as "started" ("instantiated" "activated") and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and "flow" as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transitions? Juergen Boldt Director, Member Services Object Management Group 140 Kendrick St Building A Suite 300 Needham, MA 02494 USA tel: +1 781 444 0404 x 132 fax: +1 781 444 0320 email: juergen@omg.org www.omg.org To: bpmn-ftf@omg.org Subject: Proposed Resolution for Issue 10150 X-Mailer: Lotus Notes Release 7.0 HF242 April 21, 2006 From: Stephen A White Date: Tue, 5 Dec 2006 08:14:14 -0500 X-MIMETrack: Serialize by Router on D03NM690/03/M/IBM(Release 7.0.2HF32 | October 17, 2006) at 12/05/2006 06:14:16, Serialize complete at 12/05/2006 06:14:16 This is intended for Ballot 5 Issue 10150: Implicit State Machine for Activities Description: What are the states that an activity can transition to? Are these the values of the Status attribute of an Activity? (None, Ready, Active, Cancelled, Aborting, Aborted, Completing, Completed) What, if anything, causes a transition of an Activity from None to Ready? Can you transition from Completed to None? to Ready? And so forth. In what ways can these transitions occur? I think this is mainly a matter of what effects events have, but also involves the flows (and gateways, and tokens) [See the summary of start event types and their triggers (Table 9.5) and end events and process .endings. (Table 9.6) that has some info on effects on state, though some additional values appear to be mentioned.] If there are other states (.armed. .ready., .listening., .waiting. .dormant., .inactive. and so on) list them along with basic ones such as .started. (.instantiated. .activated.) and completed. Are some states synonymous? Which ones? Is singly/multiply instantiated a state (so that an instantiated count could be tracked by numbers of copies active in the system?) How would the above states, if they exist, be related to the value in LoopType, StartQuantity, etc. Bonus: Link the state machine transistions to the token flow behaviors and when and how Activities after a Merge GW change state. How is a Start or Intermediate Event state with a None trigger different from a transfer of flow control by means of a token? There are connections between state transitions and .flow. as stated, for example, in the ConditionType Attribute where token flow is said to occur when the (source) Activity State goes to Completed. Are there rules relating the generation or consumption of tokens to the state transition? Suggested Resolution: Defer: While the Issue may be valid, it represents potentially significant modifications. Thus, this Issue will be deferred and handled by work on a later version of BPMN. Revised Text: None