Issue 7948: section 2.10.4.1 detailed semantics of collaborations (uml2-rtf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: My question concerns section 2.10.4.1 (detailed semantics of collaborations). The last part of the 4th paragraph starts as follows: "However, instances of different classifiers can play the role defined by the classifier role, as long as they have all the required properties." Allow me to illustrate my interpretation of this section by means of an example. Suppose there is a class A with 5 operations, o1, o2, o3, o4 and o5, and there is a class B with 3 operations, identical to o2, o3 and o4. Suppose there is a classifier role R in a collaboration, which has A as its base. The role can then specify a subset of the features of A. These features are then required by instances which play the role. Suppose this subset consists of o2 and o3. Then the quote from the spec above claims that instances of B are allowed to play role R. Is this correct so far? Then, the spec goes on: "Several classifier roles may have the same base classifier, even in the same collaboration, but their features and contained elements may be different subsets of the features and contained elements of the classifier. These classifier roles specify different roles played by (possibly different) instances of the same classifier." So, considering again role R from my example, suppose there is now a different classifier role Q, which also has A as its base. Suppose Q specifies o3 and o4 as the required subset of A's features. Now the last sentence from the spec quote seems to say that only (possibly different) instances of A can play roles R and Q. This would mean that an instance of B is NOT allowed to play either R or Q, which would contradict my example above. Resolution: Revised Text: Actions taken: November 24, 2004: received issue August 23, 2006: closed issue Discussion: This issue appears to be against UML 1.x, as the semantics of collaboration does not contain the cited passages and it relies on concepts that have been removed in UML 2.0. Collaborations have been clarified significantly in UML 2.0; the author of this issue is invited to check whether his concern still exists. Disposition: Closed, no change End of Annotations:===== te: Mon, 22 Nov 2004 11:13:08 +0100 From: Hans Schippers Reply-To: hans.schippers@pro.tiscali.be User-Agent: Mozilla Thunderbird 0.8 (X11/20040926) X-Accept-Language: en-us, en To: linda@omg.org, juergen@omg.org, Gene.Mutschler@unisys.com CC: Pieter Van Gorp Subject: UML 1.5 contradiction wrt Collaborations? X-Spam-Flag: NO X-Spam-Status: Not checked, trusted sender X-Scanned-By: MIMEDefang 2.33 Dear OMG Experts, I am not sure where exactly I'm supposed to ask questions related to the UML spec, so my apologies if any of you is not the right person. My question concerns section 2.10.4.1 (detailed semantics of collaborations). The last part of the 4th paragraph starts as follows: "However, instances of different classifiers can play the role defined by the classifier role, as long as they have all the required properties." Allow me to illustrate my interpretation of this section by means of an example. Suppose there is a class A with 5 operations, o1, o2, o3, o4 and o5, and there is a class B with 3 operations, identical to o2, o3 and o4. Suppose there is a classifier role R in a collaboration, which has A as its base. The role can then specify a subset of the features of A. These features are then required by instances which play the role. Suppose this subset consists of o2 and o3. Then the quote from the spec above claims that instances of B are allowed to play role R. Is this correct so far? Then, the spec goes on: "Several classifier roles may have the same base classifier, even in the same collaboration, but their features and contained elements may be different subsets of the features and contained elements of the classifier. These classifier roles specify different roles played by (possibly different) instances of the same classifier." So, considering again role R from my example, suppose there is now a different classifier role Q, which also has A as its base. Suppose Q specifies o3 and o4 as the required subset of A's features. Now the last sentence from the spec quote seems to say that only (possibly different) instances of A can play roles R and Q. This would mean that an instance of B is NOT allowed to play either R or Q, which would contradict my example above. I am probably misinterpreting something here, so I hope you could help me out? Many thanks in advance, Kind Regards, Hans Schippers University of Antwerp -- Ark Linux - Linux for the Masses (http://arklinux.org) If we cannot live so as to be happy, let us at least live so as to deserve it -- Immanuel Hermann Fichte Capitalism: You don't have any cows. The bank will not lend you money to buy cows, because you don't have any cows to put up as collateral. Representative Democracy: You have two cows. Your neighbors pick someone to tell you who gets the milk. In a world without walls and fences, who needs windows and gates? I'm a fool. Therefore I'm not. Hans Schippers Research Assistant of the Research Foundation - Flanders (FWO - Vlaanderen) Formal Techniques in Software Engineering (FoTS) University of Antwerp Middelheimlaan 1 2020 Antwerpen - Belgium Phone: +32 3 265 38 71 Issue 7948: section 2.10.4.1 detailed semantics of collaborations Issue summary My question concerns section 2.10.4.1 (detailed semantics of collaborations). The last part of the 4th paragraph starts as follows: 'However, instances of different classifiers can play the role defined by the classifier role, as long as they have all the required properties.' Allow me to illustrate my interpretation of this section by means of an example. Suppose there is a class A with 5 operations, o1, o2, o3, o4 and o5, and there is a class B with 3 operations, identical to o2, o3 and o4. Suppose there is a classifier role R in a collaboration, which has A as its base. The role can then specify a subset of the features of A. These features are then required by instances which play the role. Suppose this subset consists of o2 and o3. Then the quote from the spec above claims that instances of B are allowed to play role R. Is this correct so far? Then, the spec goes on: 'Several classifier roles may have the same base classifier, even in the same collaboration, but their features and contained elements may be different subsets of the features and contained elements of the classifier. These classifier roles specify different roles played by (possibly different) instances of the same classifier.' So, considering again role R from my example, suppose there is now a different classifier role Q, which also has A as its base. Suppose Q specifies o3 and o4 as the required subset of A's features. Now the last sentence from the spec quote seems to say that only (possibly different) instances of A can play roles R and Q. This would mean that an instance of B is NOT allowed to play either R or Q, which would contradict my example above. Discussion This issue appears to be against UML 1.x, as the semantics of collaboration does not contain the cited passages and it relies on concepts that have been removed in UML 2.0. Collaborations have been clarified significantly in UML 2.0; the author of this issue is invited to check whether his concern still exists. Revised Test Resolution Fax: +32 3 265 37 77