Issue 15421: UML Interactions: Misleading suggestion of relationship between Interactions and Activities modeling (uml2-rtf) Source: Simula Research Laboratory (Mr. Bran Selic, selic(at)acm.org) Nature: Uncategorized Issue Severity: Summary: In section 14.4 that describes Interaction diagrams, there are statements describing interaction overview diagrams that is highly misleading and which, in my consulting experience with numerous UML users, have been the source of much misunderstanding: "Interaction Overview Diagrams are specialization of Activity Diagrams that represent Interactions" as well as: "Interaction Overview Diagrams define Interactions through a variant of Activity Diagrams" While there is indeed syntactic similarity between the two forms (e.g, with fork and join nodes), the underlying semantics between the two diagrams are quite different. For instance, activities, by definition, fully complete their execution before passing control/data tokens to their successors (as defined by the token passing rules), whereas this does not hold in general for interaction uses (the blocks in an overview diagram). In fact, while one object/lifeline could still be completing its business in one interaction use block (so to speak), its collaborating peer could already have entered a successor block. That is, in general, there is no implicit synchronization between lifelines when entering and exiting the blocks in an overview diagram. (Far too many users assume this type of synchronization, resulting in erroneous or unimplementable model specifications.) There are numerous other semantic differences between Interactions and Activities (e.g., the latter include the notion of pins, control and data flow tokens, etc., while the former do not have any such notions), which further invalidate the claim that one is a special variant of the other. Finally, the metamodels underlying the two diagrams are completely different To summarize: Interaction Overview diagrams are NOT a specialization or variant of Activity Diagrams. The solution to this problem is not just to remove the two misleading statements, but to also add an explanation that explicitly points out the differences between the two, so that readers are not misled by the similarity in notations. Resolution: Revised Text: Actions taken: August 19, 2010: received issue Discussion: End of Annotations:===== M-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:from:date :message-id:subject:to:cc:content-type; bh=dDL+NgKWPxBawlA+xr+kk/WTB3sUT4H4rix/1U9anLA=; b=bnHSJ7d5cDczs30UcLl2wovcM20QwlXdol7fT62yZ0wKyLAs101BH0lRmIROid2THK ylzaapdg9AmbdhEtW7naAk9H3SmTCRQGe57bkwyguJg7z70grs6qGLlqeoc23eU5pU6Q mErEXsASjY6ZfIkzkmfGbC1Pml2ZNaJqlSSDc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:from:date:message-id:subject:to:cc:content-type; b=jXmiHdIvVcHSTFOOvPGEMB0Zq+XvLZvuklaLreWzcReSIrkj+44tSnD/KZ9t0TNkUw mOoA/LzmL6rfF503URLvdBuDXqEGmg+7i0QqK+qg0WE//mA8nnsXze8yfIksGABHd2K6 uj28wqotc1H04gM/F84Y6jnX1feexRDvissqQ= From: Bran Selic Date: Thu, 19 Aug 2010 03:15:10 -0400 Subject: UML Interactions: Misleading suggestion of relationship between Interactions and Activities modeling To: issues@omg.org Cc: Oystein Haugen , uml2-rtf@omg.org In section 14.4 that describes Interaction diagrams, there are statements describing interaction overview diagrams that is highly misleading and which, in my consulting experience with numerous UML users, have been the source of much misunderstanding: "Interaction Overview Diagrams are specialization of Activity Diagrams that represent Interactions" as well as: "Interaction Overview Diagrams define Interactions through a variant of Activity Diagrams" While there is indeed syntactic similarity between the two forms (e.g, with fork and join nodes), the underlying semantics between the two diagrams are quite different. For instance, activities, by definition, fully complete their execution before passing control/data tokens to their successors (as defined by the token passing rules), whereas this does not hold in general for interaction uses (the blocks in an overview diagram). In fact, while one object/lifeline could still be completing its business in one interaction use block (so to speak), its collaborating peer could already have entered a successor block. That is, in general, there is no implicit synchronization between lifelines when entering and exiting the blocks in an overview diagram. (Far too many users assume this type of synchronization, resulting in erroneous or unimplementable model specifications.) There are numerous other semantic differences between Interactions and Activities (e.g., the latter include the notion of pins, control and data flow tokens, etc., while the former do not have any such notions), which further invalidate the claim that one is a special variant of the other. Finally, the metamodels underlying the two diagrams are completely different To summarize: Interaction Overview diagrams are NOT a specialization or variant of Activity Diagrams. The solution to this problem is not just to remove the two misleading statements, but to also add an explanation that explicitly points out the differences between the two, so that readers are not misled by the similarity in notations. Regards...Bran X-Trusted-NM: yes Subject: Re: UML Interactions: Misleading suggestion of relationship between Interactions and Activities modeling From: Nerijus Jankevicius Date: Thu, 19 Aug 2010 10:35:46 +0300 Cc: issues@omg.org, Oystein Haugen , uml2-rtf@omg.org To: Bran Selic X-Mailer: Apple Mail (2.1081) Also, the spec says: "Interaction Overview Diagrams focus on the overview of the flow of control where the nodes are Interactions or InteractionUses. " Note that ControlFlow or DataFlow can be attached to ActivityNodes only. Interaction or InteractionUse is not an ActivityNode. The only workaround which helps to implement that (as we did in MagicDraw) is to use CallBehaviorActions with Interaction set as behavior. -- Nerijus Jankevicius SysML Product Manager OMG-Certified UML Professional No Magic Europe Savanoriu pr. 363, LT 49425 Kaunas, Lithuania P.O. box 2166, LT- 3000, Kaunas Phone: +370-37-324032 Fax: +370-37-320670 e-mail: nerijus@magicdraw.com WWW: http://www.magicdraw.com -- MagicDraw - UML made simple! On Aug 19, 2010, at 10:15 AM, Bran Selic wrote: In section 14.4 that describes Interaction diagrams, there are statements describing interaction overview diagrams that is highly misleading and which, in my consulting experience with numerous UML users, have been the source of much misunderstanding: "Interaction Overview Diagrams are specialization of Activity Diagrams that represent Interactions" as well as: "Interaction Overview Diagrams define Interactions through a variant of Activity Diagrams" While there is indeed syntactic similarity between the two forms (e.g, with fork and join nodes), the underlying semantics between the two diagrams are quite different. For instance, activities, by definition, fully complete their execution before passing control/data tokens to their successors (as defined by the token passing rules), whereas this does not hold in general for interaction uses (the blocks in an overview diagram). In fact, while one object/lifeline could still be completing its business in one interaction use block (so to speak), its collaborating peer could already have entered a successor block. That is, in general, there is no implicit synchronization between lifelines when entering and exiting the blocks in an overview diagram. (Far too many users assume this type of synchronization, resulting in erroneous or unimplementable model specifications.) There are numerous other semantic differences between Interactions and Activities (e.g., the latter include the notion of pins, control and data flow tokens, etc., while the former do not have any such notions), which further invalidate the claim that one is a special variant of the other. Finally, the metamodels underlying the two diagrams are completely different To summarize: Interaction Overview diagrams are NOT a specialization or variant of Activity Diagrams. The solution to this problem is not just to remove the two misleading statements, but to also add an explanation that explicitly points out the differences between the two, so that readers are not misled by the similarity in notations. Regards...Bran