Issue 7166: show object flow or interactions (uml2-rtf) Source: (, ) Nature: Enhancement Severity: Significant Summary: There needs to be a way to show object flow or interactions between multiply concurrent threads or processes in Activity Diagrams. Example: In TCP sockets, the interaction between a client and server should be able to be shown with two separate start points, one for the client and one for the server. The connection sequence and packet flow should be able to be shown. With a single start point, the diagrams imply that one action starts both processes. I would like to illustrate multiple concurrent threads or processes and their interactions in an Activity Diagram and be able to distinguish between the flowing threads. I would also like to show access to objects shared by the threads or processes. Resolution: This issue has already been discussed in previous F/RTFs and considered out of scope: FTF: Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. RTF: Hybrid diagrams are too complicated a topic for an RTF to address. There are many combinations and not enough experience to choose among them. Revised Text: None Disposition: Closed Out of Scope Revised Text: Actions taken: March 19, 2004: received issue March 22, 2004: moved from infra- to superstructure-ftf April 26, 2010: closed issue April 26, 2010: closed issue Discussion: Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. FTF: Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. RTF: Hybrid diagrams are too complicated a topic for an RTF to address. There are many combinations and not enough experience to choose among them. End of Annotations:===== m: webmaster@omg.org Date: 18 Mar 2004 17:40:59 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: David Hickerson Company: Boeing mailFrom: david.a.hickerson@boeing.com Notification: Yes Specification: UML Section: 2.13.2.2 FormalNumber: 03-03-01 Version: 1.5 RevisionDate: 03/01/2003 Page: 2-172+ Nature: Enhancement Severity: Significant HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322) Description There needs to be a way to show object flow or interactions between multiply concurrent threads or processes in Activity Diagrams. Example: In TCP sockets, the interaction between a client and server should be able to be shown with two separate start points, one for the client and one for the server. The connection sequence and packet flow should be able to be shown. With a single start point, the diagrams imply that one action starts both processes. I would like to illustrate multiple concurrent threads or processes and their interactions in an Activity Diagram and be able to distinguish between the flowing threads. I would also like to show access to objects shared by the threads or processes. Reply-To: Joaquin Miller X-Sender: jm-acm.no@sbcglobal.net@pop.sbcglobal.yahoo.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Fri, 19 Mar 2004 09:14:55 -0800 To: UML Superstructure FTF From: Joaquin Miller Subject: ,av, Issue 7166 ... With a single start point, the diagrams imply that one action starts both processes. ... I apologize for not noticing this limitation (if there is one) before the final submission went in. Lack of a concept that permits specification of a process with more than one starting point was the main complaint about RM-ODP brought to the working group when we met co-located with OMG and asked for input to the ODP Enterprise Language. Both business people and systems engineers raised this, and here we have it again from protocol designers. We added a multi-head process to the enterprise language (X.911 6.3.5), and this will be considered in the current five-year review of the RM-ODP foundation. I know it is possible to label this as a request for a new capability. But i hope the activity experts will comment. Is the issue valid? (See 12.3.24 Description and Semantics) Is it possible to invoke an activity without starting flows at every initial node? Having done that, is is possible to, in the same activityOccurrence, later start another flow at an initial node (multiple invocations in the same activityOccurrence)? Is is possible to invoke an activity without starting a flow at every activityParameterNode? Is the current model expressive enough to keep the distinction between several threads clear? Would a change to resolve the issue pose technical problems? Is it a big change in terms of text and OCL? [I know there is a quick hack: add a dummy single head* with appropriate connections to the actual heads, all of which may be optional, but at least one of which must happen for the process to go anywhere. In New York, some might say: So what's your point. The Westerner would say: That don't look like it might be the best model.] There needs to be a way to show object flow or interactions between multiply concurrent threads or processes in Activity Diagrams. Example: In TCP sockets, the interaction between a client and server should be able to be shown with two separate start points, one for the client and one for the server. The connection sequence and packet flow should be able to be shown. With a single start point, the diagrams imply that one action starts both processes. I would like to illustrate multiple concurrent threads or processes and their interactions in an Activity Diagram and be able to distinguish between the flowing threads. I would also like to show access to objects shared by the threads or processes. PGP Fingerprint: CA23 6BCA ACAB 6006 E3C3 0E79 2122 94B4 E5FD 42C3 OMG Issue No: 7166 Title: show object flow or interactions Source: Boeing. (Mr. David Hickerson, david.a.hickerson@boeing.com) Summary: There needs to be a way to show object flow or interactions between multiply concurrent threads or processes in Activity Diagrams. Example: In TCP sockets, the interaction between a client and server should be able to be shown with two separate start points, one for the client and one for the server. The connection sequence and packet flow should be able to be shown. With a single start point, the diagrams imply that one action starts both processes. I would like to illustrate multiple concurrent threads or processes and their interactions in an Activity Diagram and be able to distinguish between the flowing threads. I would also like to show access to objects shared by the threads or processes. Discussion: Activity diagrams only show task dependency, which can be achieved by multiple implemented processes. An activity can have more than one initial node. These are all started when the activity is. The initial nodes can be used in separate partitions to indicate which actions are taken on the client and server. If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. Disposition: Defer Reply-To: Joaquin Miller X-Sender: jm-omg@sbcglobal.net@pop.sbcglobal.yahoo.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 29 Apr 2004 20:42:21 -0700 To: From: Joaquin Miller Subject: ,ac, Issue 7166 RE: Draft of ballot 13 The requirement that was expressed to us by both systems engineering and business modelling people was for more than one starting point for a process (activity). That is: The expressed requirement was not for a convenient notation. I had not heard this considered as a notation issue until this evening. In response to this requirement, this has been made explicit in ODP: "6.3.5 process: A collection of steps taking place in a prescribed manner and leading to an objective. NOTE 1 . A process may have multiple starting points and multiple end points. ..." [X.911 IS 15414] I don't have any objection to a canonical form, as long as there is the capability to specify, in a UML model, multiple distinguished starting points for an activity. Use case: The law requires recording at which starting point the activity was initiated. Cordially, Joaquin Karl Frank wrote: My understanding is that initial nodes in the same activity are all equivalent in the sense that a semantically equivalent diagram can be drawn with exactly ONE inditial node, and with as many paths coming from that source to there were paths coming from the separate nodes and going to the same targets. On my understanding, this is about convenience in diagramming, that in the model a canonical form could required exactly one initial node, and there can be as many initial nodes as is found convenient for keeping lines from crossing in a DIAGRAM. In other words, the important issue here concerns. Equivalence among models. Such equivalnece is important, and it will become hard to determine unless we clearly state whether the many initial nodes are or are not, all the same node in the model shown many times on the diagram. - Karl -------------------------------------------------------------------------------- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, 29 April, 2004 7:22 PM To: uml2-superstructure-ftf@omg.org Subject: Re: Draft of ballot 13 Bran wrote: - no issues were removed, although I do have a question regarding 7166 on which Joaquin had some comments. So, please tell me if I should keep this one or not. Joaquin? The proposed resolution: ... An activity can have more than one initial node. These are all started when the activity is. ... It seems that will do the job. I trust that once the initial nodes are all started, the activity can sit and wait until something of interest is actually started. That is: There are two initial nodes. The activity starts. The immediate next nodes each accept tokens when something happens to start that leg of the activity. Example: Security trade. There is a bid node and an offer node, each proceeded by an initial node. The activity starts. In the case a bid comes first the bid node accepts token(s) from the initial node that precedes it. On the other hand, if an offer comes first the offer node accepts token(s) from the initial node that precedes it. Later, things start moving on the other leg. (Or, once in a while (if a realistic model of time is used), both may start at the same time.) If that's right, or if it is wrong, but there is a right way to achieve that, then the need is met. ======================== I don't understand, so have no comment on: If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. From: "Thomas Weigert" To: "Joaquin Miller" , Subject: RE: ,ac, Issue 7166 RE: Draft of ballot 13 Date: Thu, 29 Apr 2004 23:38:11 -0500 X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) How do you know at which starting point the activity starts? Unless you have multiple entry points, as in state machine states, talking about multiple start points is just a short cut of talking about a single start point with conditions on the emanating flows. Can you give a clear example demonstrating the multiple start points? I am looking for a UML style model, not an analogy... Thanks, Th. -----Original Message----- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, April 29, 2004 10:42 PM To: uml2-superstructure-ftf@omg.org Subject: ,ac, Issue 7166 RE: Draft of ballot 13 Importance: High The requirement that was expressed to us by both systems engineering and business modelling people was for more than one starting point for a process (activity). That is: The expressed requirement was not for a convenient notation. I had not heard this considered as a notation issue until this evening. In response to this requirement, this has been made explicit in ODP: "6.3.5 process: A collection of steps taking place in a prescribed manner and leading to an objective. NOTE 1 . A process may have multiple starting points and multiple end points. ..." [X.911 IS 15414] I don't have any objection to a canonical form, as long as there is the capability to specify, in a UML model, multiple distinguished starting points for an activity. Use case: The law requires recording at which starting point the activity was initiated. Cordially, Joaquin Karl Frank wrote: My understanding is that initial nodes in the same activity are all equivalent in the sense that a semantically equivalent diagram can be drawn with exactly ONE inditial node, and with as many paths coming from that source to there were paths coming from the separate nodes and going to the same targets. On my understanding, this is about convenience in diagramming, that in the model a canonical form could required exactly one initial node, and there can be as many initial nodes as is found convenient for keeping lines from crossing in a DIAGRAM. In other words, the important issue here concerns. Equivalence among models. Such equivalnece is important, and it will become hard to determine unless we clearly state whether the many initial nodes are or are not, all the same node in the model shown many times on the diagram. - Karl -------------------------------------------------------------------------------- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, 29 April, 2004 7:22 PM To: uml2-superstructure-ftf@omg.org Subject: Re: Draft of ballot 13 Bran wrote: - no issues were removed, although I do have a question regarding 7166 on which Joaquin had some comments. So, please tell me if I should keep this one or not. Joaquin? The proposed resolution: ... An activity can have more than one initial node. These are all started when the activity is. ... It seems that will do the job. I trust that once the initial nodes are all started, the activity can sit and wait until something of interest is actually started. That is: There are two initial nodes. The activity starts. The immediate next nodes each accept tokens when something happens to start that leg of the activity. Example: Security trade. There is a bid node and an offer node, each proceeded by an initial node. The activity starts. In the case a bid comes first the bid node accepts token(s) from the initial node that precedes it. On the other hand, if an offer comes first the offer node accepts token(s) from the initial node that precedes it. Later, things start moving on the other leg. (Or, once in a while (if a realistic model of time is used), both may start at the same time.) If that's right, or if it is wrong, but there is a right way to achieve that, then the need is met. ======================== I don't understand, so have no comment on: If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. Reply-To: From: "Conrad Bock" To: "UML Superstructure FTF" Subject: RE: ,av, Issue 7166 Date: Fri, 30 Apr 2004 11:57:33 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Joaquin, (and Karl) Somehow I missed your March 19 message on this, so can withdraw the proposal if you like. It is only to defer because the request is too difficult for an FTF to address and I don't plan to have a proposal for it in the FTF. > Lack of a concept that permits specification of a process with more > than one starting point Activities support this, but the starting points all start at once when the activity does. Need examples to see if this is what is being asked for. > Is the issue valid? I saw it as a hybrid diagram, showing two activities interacting, which is fine, just too much for an FTF. > (See 12.3.24 Description and Semantics) Is it possible to invoke an > activity without starting flows at every initial node? No, you need to block flows with incoming signals or object flows from streaming parameters. If the caller of the activity had some external control over which intial node would start, it would violate the "interface" that the parameters provide in separating the caller from the internal specification of the activity. > Having done that, is is possible to, in the same activityOccurrence, > later start another flow at an initial node (multiple invocations in > the same activityOccurrence)? Yes, if isSingleExecution is true for the activity, then every invocation of the activity will go through the same graph, as it were. Tokens will be on the initial nodes for every invocation and interact with tokens that started in earlier invocations. > Is is possible to invoke an activity without starting a flow at every > activityParameterNode? Yes, if the parameter is optional (multiplicity.lower = 0) or if the parameter is streaming. > Is the current model expressive enough to keep the distinction > between several threads clear? Would a change to resolve the issue > pose technical problems? Is it a big change in terms of text and > OCL? Not sure what a thread is, that's a part that needs to be refined about the issue. > [Karl] My understanding is that initial nodes in the same activity > are all equivalent in the sense that a semantically equivalent > diagram can be drawn with exactly ONE inditial node, and with as > many paths coming from that source to there were paths coming from > the separate nodes and going to the same targets. Almost, you need to use a fork after the single initial node to copy the control token. Multiple initial nodes each get one control token (see semantics of Initial Node). > In other words, the important issue here concerns. Equivalence > among models. Such equivalnece is important, and it will become > hard to determine unless we clearly state whether the many initial > nodes are or are not, all the same node in the model shown many > times on the diagram. There is always more than one way to achieve the same runtime execution from different models. For example, a composite state can be modeled as the cartesian product of the substates. We introduce redundant constructs to make simpler model. Conrad Reply-To: Joaquin Miller X-Sender: jm-omg@sbcglobal.net@pop.sbcglobal.yahoo.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Sun, 09 May 2004 16:01:25 -0700 To: From: Joaquin Miller Subject: RE: ,ac, Issue 7166 RE: Draft of ballot 13 Thomas Weigert wrote: How do you know at which starting point the activity starts? Unless you have multiple entry points, as in state machine states, talking about multiple start points is just a short cut of talking about a single start point with conditions on the emanating flows. Can you give a clear example demonstrating the multiple start points? I am looking for a UML style model, not an analogy... Thanks, Th. Thanks for correcting me, Thomas. I'm clear on the requirement, but it seems my diction is bad. Perhaps I'm talking about multiple entry points. (I don't find any definition of either 'entry point' or 'entryPoint' in the spec (certainly not at 15.3.8 PseudoState nor 15.3.9 PseudoStateKind. Nor am i quick enough to figure out from the specification of ConnectionPointReference, what an entry point is, exactly.) In the example, i'll just say the activity can begin in one way or can begin in another way. What i mean by 'begin in a way', will, i hope, be clear from the example. If so, then i can be taught what the correct term is. ................... Example, from an actual project, the treasury security clearance system of Bank of New York, which clears about $400 billion a day in trades: The Bank of New York acts as custodian, holding its customer's USA Treasury bonds, notes, and bills in its own account at a Federal Reserve bank. BoNY keeps records, showing which customer is the beneficial owner of how much of each particular security. When a bond is sold, the trade must be cleared and settled. A Federal Reserve bank will settle the trade: it will make book entries, moving the bond from one account to another, and moving some money from one account to another. The Federal Reserve bank does this always and only upon receiving instructions from the custodian acting for the purchaser of the bond. BoNY will clear the trade, confirming that their customer's version of the trade matches the version provided by the counterparty. Likewise, the counterparty's custodian will clear the trade. (The clearance is a collaboration of four parties, the two traders and the two custodians. In some cases the custodian for the traders is the same, and the process does not involve a Federal Reserve Bank. I hide these complications in the following. I'll just discuss the case where the counterparty of the customer of BoNY is not also a customer of BoNY.) Let's consider the activity, clearance of a particular sale. The system performs this activity many times a day. In the case that a customer, say Morgan Stanley, sells some bonds, there are two possible ways the activity begins. Let me be clear about that last sentence. BoNY has no knowledge of the trade until it receives a message. There are two possibilities: it might receive a message from Morgan Stanley, called 'a deliver,' or it might receive a message from the Federal Reserve Bank of New York, called 'a notification.' (It is possible that both messages arrive at the same time; the system handles this case with the usual technique: treating one as if it arrived first.) Our problem is to use UML 2 activity to specify the behavior of the clearing system of BoNY when a customer sells a bond. This activity can begin in two different ways: 1) a deliver arrives and 2) a notification arrives. Depending on the way the activity begins, the progress through the activity will differ. At the end of the activity, no matter how the activity began, the result within the system will be the same and the changes to external systems will be the same. ....... There is a different activity, for the case that a customer of BoNY buys some bonds; this activity can begin in only one way: a message called 'receive' arrives from that customer. ........................................ So what is the requirement? As expressed by the engineers and business folks, the requirement is to represent the activity as having two ways in which it can begin, it that represents the world, or one way in which it can begin, if that represents the world. Even if you dear reader, may regard it as a charitable assumption, I have to make the assumption that, if, indeed, there is a way to use an activity with with one way to begin, to represent an activity with multiple ways to begin, the users know that quite well. That is: they knew that when they expressed their need for an activity with multiple ways to begin. For my part, i certainly would like to show, to a business person or engineer, who knows that the {activity | process | data flow} that interests them has multiple ways to begin, an activity diagram with a distinct icon for each of the ways it can begin. What i would not like is to have them tell me there are multiple ways to begin, and then come back with a diagram that has a single icon showing the beginning of the activity, and an explanation that this is, for all practical purposes, equivalent to a diagram with multiple ways to begin, and that the only reason i don't draw it with multiple ways to begin is: that's not permitted by UML. As i wrote in the previous message: I don't have any objection to a canonical form, as long as there is the capability to specify, in a UML model, multiple distinguished [ways to begin] for an activity. Use case: The law requires recording [by] which [way to begin] the activity was initiated. [changes by me to remove use of 'starting point.]' Cordially, Joaquin -----Original Message----- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, April 29, 2004 10:42 PM To: uml2-superstructure-ftf@omg.org Subject: ,ac, Issue 7166 RE: Draft of ballot 13 Importance: High The requirement that was expressed to us by both systems engineering and business modelling people was for more than one starting point for a process (activity). That is: The expressed requirement was not for a convenient notation. I had not heard this considered as a notation issue until this evening. In response to this requirement, this has been made explicit in ODP: "6.3.5 process: A collection of steps taking place in a prescribed manner and leading to an objective. NOTE 1 . A process may have multiple starting points and multiple end points. ..." [X.911 IS 15414] I don't have any objection to a canonical form, as long as there is the capability to specify, in a UML model, multiple distinguished starting points for an activity. Use case: The law requires recording at which starting point the activity was initiated. Cordially, Joaquin Karl Frank wrote: My understanding is that initial nodes in the same activity are all equivalent in the sense that a semantically equivalent diagram can be drawn with exactly ONE inditial node, and with as many paths coming from that source to there were paths coming from the separate nodes and going to the same targets. On my understanding, this is about convenience in diagramming, that in the model a canonical form could required exactly one initial node, and there can be as many initial nodes as is found convenient for keeping lines from crossing in a DIAGRAM. In other words, the important issue here concerns. Equivalence among models. Such equivalnece is important, and it will become hard to determine unless we clearly state whether the many initial nodes are or are not, all the same node in the model shown many times on the diagram. - Karl -------------------------------------------------------------------------------- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, 29 April, 2004 7:22 PM To: uml2-superstructure-ftf@omg.org Subject: Re: Draft of ballot 13 Bran wrote: - no issues were removed, although I do have a question regarding 7166 on which Joaquin had some comments. So, please tell me if I should keep this one or not. Joaquin? The proposed resolution: ... An activity can have more than one initial node. These are all started when the activity is. ... It seems that will do the job. I trust that once the initial nodes are all started, the activity can sit and wait until something of interest is actually started. That is: There are two initial nodes. The activity starts. The immediate next nodes each accept tokens when something happens to start that leg of the activity. Example: Security trade. There is a bid node and an offer node, each proceeded by an initial node. The activity starts. In the case a bid comes first the bid node accepts token(s) from the initial node that precedes it. On the other hand, if an offer comes first the offer node accepts token(s) from the initial node that precedes it. Later, things start moving on the other leg. (Or, once in a while (if a realistic model of time is used), both may start at the same time.) If that's right, or if it is wrong, but there is a right way to achieve that, then the need is met. ======================== I don't understand, so have no comment on: If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. From: "Thomas Weigert" To: "Joaquin Miller" , Subject: RE: ,ac, Issue 7166 RE: Draft of ballot 13 Date: Sun, 9 May 2004 19:12:45 -0500 X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) State machine entry points are pseudo states, and shown in Figure 371 of ptc/03-08-02. An example is in Fig. 392. ConnectionPointReferences are used to attach to the entry points from the container state machine (see Fig. 359ff). Note that there are also multiple exit points. These are there to make states reusable in multiple situations. I don't think activities have introduced a similar structuring capability. I guess this would have to be coded up as parameter to an activity? Th. -----Original Message----- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Sunday, May 09, 2004 6:01 PM To: uml2-superstructure-ftf@omg.org Subject: RE: ,ac, Issue 7166 RE: Draft of ballot 13 Perhaps I'm talking about multiple entry points. (I don't find any definition of either 'entry point' or 'entryPoint' in the spec (certainly not at 15.3.8 PseudoState nor 15.3.9 PseudoStateKind. Nor am i quick enough to figure out from the specification of ConnectionPointReference, what an entry point is, exactly.) From: "Thomas Weigert" To: Subject: FW: ,ac, Issue 7166 RE: Draft of ballot 13 Date: Sun, 9 May 2004 20:03:13 -0500 X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Forwarded for Joaquin.... -----Original Message----- From: Joaquin Miller [mailto:jm-miller-at@sbcglobal.net] Sent: Sunday, May 09, 2004 7:30 PM To: Thomas Weigert Subject: RE: ,ac, Issue 7166 RE: Draft of ballot 13 >I don't think activities have introduced a similar structuring capability. >I guess this would have to be coded up as parameter to an activity? That makes sense to me. I take it that, in my example the parameter would be the message first received. Then a decision could be made based on whether that is a deliver or a notification. Should responders to my message propose the, if i may call it that, hack that a single beginning control token forks to two nodes, one that waits for a deliver and the other that waits for a notification, my objection will be in the form of a question: What starts the activity? Should responders the (possibly equivalent), if i may call it that, hack that control tokens start at the same time from two initial nodes, one of which leads to a node that waits for a receive and the other that leads to a node that waits for a notification, my objection will be the same: What starts the activity? Of course, it may be that i am missing the obvious. Or that multiple initial nodes as now defined will suit most users. Joaquin Subject: RE: Draft of ballot 13 Date: Thu, 29 Apr 2004 22:59:12 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Draft of ballot 13 Thread-Index: AcQuRTanl4LXOsyDSUWfW/73UQCkrgAGL78Q Priority: Urgent From: "Karl Frank" To: "Joaquin Miller" , X-OriginalArrivalTime: 30 Apr 2004 02:59:14.0386 (UTC) FILETIME=[1EA11320:01C42E5F] My understanding is that initial nodes in the same activity are all equivalent in the sense that a semantically equivalent diagram can be drawn with exactly ONE inditial node, and with as many paths coming from that source to there were paths coming from the separate nodes and going to the same targets. On my understanding, this is about convenience in diagramming, that in the model a canonical form could required exactly one initial node, and there can be as many initial nodes as is found convenient for keeping lines from crossing in a DIAGRAM. In other words, the important issue here concerns. Equivalence among models. Such equivalnece is important, and it will become hard to determine unless we clearly state whether the many initial nodes are or are not, all the same node in the model shown many times on the diagram. - Karl -------------------------------------------------------------------------------- From: Joaquin Miller [mailto:jm-omg@sbcglobal.net] Sent: Thursday, 29 April, 2004 7:22 PM To: uml2-superstructure-ftf@omg.org Subject: Re: Draft of ballot 13 Bran wrote: - no issues were removed, although I do have a question regarding 7166 on which Joaquin had some comments. So, please tell me if I should keep this one or not. Joaquin? The proposed resolution: ... An activity can have more than one initial node. These are all started when the activity is. ... It seems that will do the job. I trust that once the initial nodes are all started, the activity can sit and wait until something of interest is actually started. That is: There are two initial nodes. The activity starts. The immediate next nodes each accept tokens when something happens to start that leg of the activity. Example: Security trade. There is a bid node and an offer node, each proceeded by an initial node. The activity starts. In the case a bid comes first the bid node accepts token(s) from the initial node that precedes it. On the other hand, if an offer comes first the offer node accepts token(s) from the initial node that precedes it. Later, things start moving on the other leg. (Or, once in a while (if a realistic model of time is used), both may start at the same time.) If that's right, or if it is wrong, but there is a right way to achieve that, then the need is met. ======================== I don't understand, so have no comment on: If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address. Reply-To: Joaquin Miller X-Sender: jm-omg@sbcglobal.net@pop.sbcglobal.yahoo.com X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Thu, 29 Apr 2004 16:22:04 -0700 To: uml2-superstructure-ftf@omg.org From: Joaquin Miller Subject: Re: Draft of ballot 13 Bran wrote: - no issues were removed, although I do have a question regarding 7166 on which Joaquin had some comments. So, please tell me if I should keep this one or not. Joaquin? The proposed resolution: ... An activity can have more than one initial node. These are all started when the activity is. ... It seems that will do the job. I trust that once the initial nodes are all started, the activity can sit and wait until something of interest is actually started. That is: There are two initial nodes. The activity starts. The immediate next nodes each accept tokens when something happens to start that leg of the activity. Example: Security trade. There is a bid node and an offer node, each proceeded by an initial node. The activity starts. In the case a bid comes first the bid node accepts token(s) from the initial node that precedes it. On the other hand, if an offer comes first the offer node accepts token(s) from the initial node that precedes it. Later, things start moving on the other leg. (Or, once in a while (if a realistic model of time is used), both may start at the same time.) If that's right, or if it is wrong, but there is a right way to achieve that, then the need is met. ======================== I don't understand, so have no comment on: If the two processes are completely independent, then this is a request is for a hybrid diagram, especially when trying to show shared objects. This is too much for an FTF to address.