Issue 6398: UML 2 Super / Kernel features / cannot exclude superclass properties (uml2-rtf) Source: Simula Research Laboratory (Mr. Bran Selic, selic(at)acm.org) Nature: Uncategorized Issue Severity: Summary: In practice it is not always possible to refactor class hierarchies to ensure that all attributes are defined in the appropraite classes in that hierarchy. For example, a class hierarchy may be supplied by a third party or may be used by multiple products whereas the refactoring may only be required in a subset of them. In such cases, it is extremely useful to be able to exclude undesirable features inherited from a superclass. This einently practical technique should be supported in UML to allow those systems that use that feature to be properly modeled. Resolution: Revised Text: Actions taken: October 31, 2003: received issue August 23, 2006: closed issue Discussion: This may be the case, but modifying this aspect of UML exceeds the bounds of FTF scope. Excluding inherited properties makes the meaning of specialization/generalization unpredictable and violates a common invariant of object-oriented systems. Generalization is not always the best way to model relationships between classes, and the desire to redefine or remove inherited properties is often a good indication that delegation should be used instead. Delegation is especially useful in situations where classes need to be decoupled for change management or other reasons. Disposition: Closed, no change End of Annotations:===== ubject: UML 2 Super / Kernel features / cannot exclude superclass properties X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Branislav Selic Date: Fri, 31 Oct 2003 20:17:42 -0500 X-MIMETrack: Serialize by Router on D25ML05/25/M/IBM(Release 6.0.2CF1|June 9, 2003) at 10/31/2003 20:17:44, Serialize complete at 10/31/2003 20:17:44 In practice it is not always possible to refactor class hierarchies to ensure that all attributes are defined in the appropraite classes in that hierarchy. For example, a class hierarchy may be supplied by a third party or may be used by multiple products whereas the refactoring may only be required in a subset of them. In such cases, it is extremely useful to be able to exclude undesirable features inherited from a superclass. This einently practical technique should be supported in UML to allow those systems that use that feature to be properly modeled. Bran Selic IBM Software Group -- Rational Software 770 Palladium Drive Kanata, Ontario, Canada K2V 1C8 ph. (613) 591-7915 fax (613) 599-3912 e-mail: bselic@ca.ibm.com