Issue 6159: Instantiates stereotype (uml2-superstructure-ftf) Source: NIST (Dr. Conrad Bock, conrad.bock(at)nist.gov) Nature: Revision Severity: Significant Summary: Figure 54 (An example of a instantiatedependency) shows the instantiates stereotype/keyword being used as an instance-of relation, whereas the entry for the instantiates stereotype in the standard stereotypes table says "A usage dependency among classifiers indicating that the operations on the client create instances of the supplier". Resolution: see above Revised Text: Actions taken: August 30, 2003: received issue March 8, 2005: closed issue Discussion: Figure 54 indeed misinterprets the meaning of the ‘instantiates’ variant of Dependency. The fix is quite straightforward: In figure 54, replace the label “Car” by the label “CarFactory” and the label “VehicleType” by the lable “Car” End of Annotations:===== Name: Conrad Bock Company: NIST mailFrom: conrad.bock@nist.gov Nature: Revision Severity: Significant Subject: Instantiates stereotype Figure 54 (An example of a instantiatedependency) shows the instantiates stereotype/keyword being used as an instance-of relation, whereas the entry for the instantiates stereotype in the standard stereotypes table says "A usage dependency among classifiers indicating that the OMG Issue No: 6159 Title: Instantiates stereotype Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: Figure 54 (An example of a instantiatedependency) shows the instantiates stereotype/keyword being used as an instance-of relation, whereas the entry for the instantiates stereotype in the standard stereotypes table says "A usage dependency among classifiers indicating that the operations on the client create instances of the supplier". Discussion: Proposed Resolution: Change the stereotype in Figure 54 to <> and add <> to the standard stereotypes table, as applicable to Dependency relationships between InstanceSpecification as client and Classifier as supplier. Disposition: Unresolved OMG Issue No: 6159 Title: Instantiates stereotype Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: Figure 54 (An example of a instantiatedependency) shows the instantiates stereotype/keyword being used as an instance-of relation, whereas the entry for the instantiates stereotype in the standard stereotypes table says "A usage dependency among classifiers indicating that the operations on the client create instances of the supplier". Discussion: Proposed Resolution: Change the stereotype in Figure 54 to «instance-of» and add «instance-of» to the standard stereotypes table, in alphabetical order, with this text: Name: «instance-of» Subpackage: Dependencies AppliesTo: Dependency Description: A Dependency relationship between an instance specification (the client) and a classifier (the supplier). An instance-of dependency specifies that the item specified by the instance specification is an instance of the classifier. BRAN: I completely disagree with this proposed resolution. I think the problem is being misinterpreted and Karl.s proposed solution (the introduction of an .instanceOf. stereotype), although it may be useful for other reasons, is something that is contentious and would certainly need to be discussed further and independently of this particular issue. The issue is that the semantics of the .instantiate. standard stereotype as used in the example in section 7.14.3 and as defined in Table 25 of Appendix B are inconsistent. Table 25 states that .instantiate. is a stereotype of Dependency showing that the supplier can create instances of the client. But, the example shown in Figure 54 misuses it to mean that the supplier is a kind of the client (i.e., to say that a Car is a kind of VehicleType). (BTW, the use of .instantiate. to mean .kind of. nicely illustrates the ambiguity of the term instantiation, which is one of the main reasons I am very reluctant to introduce an .instanceOf. stereotype into the standard.) I propose a solution that simply changes the example into a correct one. For instance, the stereotype label on the dependency in figure 54 should be changed into .substitute. . which is quite meaningful here (i.e., a Car can substitute for a VehicleType) and change the text of the last sentence in the Example section to: .In this case, the dependency is a substitute dependency, meaning that a Car class can substitute for a VehicleType class. If this is not a good example, then some other dependency type should be used. Alternatively, we could remove the example entirely, since there are numerous other examples that are in this section (e.g., Fig. 55, 56, and 52.). We could just have a pointer to one of these. Disposition: Unresolved :wq operations on the client create instances of the supplier".