Issue 14862: Issue on generalization (uml2-rtf) Source: Lockheed Martin (Mr. Michael Jesse Chonoles, michael_chonoles2(at)omg.org) Nature: Uncategorized Issue Severity: Summary: While looking over Use Cases for other changes, I realize that I’m not sure about how inheritance (generalization) works. It appears that only constraints and features are inherited. Features include structural and behavioral features, and structural features include associations. This seems to exclude dependencies and other directed relationships and other potentially named elements in the namespace. I must have something wrong, but this means that · include and extends are not inherited; · realizations are not inherited; · nested qualifiers are not inherited; · general dependencies are not inherited Resolution: Revised Text: Actions taken: December 14, 2009: received issue Discussion: End of Annotations:===== te: Mon, 14 Dec 2009 12:25:39 -0500 From: "Chonoles, Michael J" Subject: UML question on generalization, possibly an issue To: "uml2-rtf@omg.org" Thread-Topic: UML question on generalization, possibly an issue Thread-Index: Acp80lFI4kfI5qGJT3SGQfUXg75UnQADSAog Accept-Language: en-US acceptlanguage: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: While looking over Use Cases for other changes, I realize that I.m not sure about how inheritance (generalization) works. It appears that only constraints and features are inherited. Features include structural and behavioral features, and structural features include associations. This seems to exclude dependencies and other directed relationships and other potentially named elements in the namespace. I must have something wrong, but this means that · include and extends are not inherited; · realizations are not inherited; · nested qualifiers are not inherited; · general dependencies are not inherited I must be wrong, can anyone clarify. Thanks Michael Jesse Chonoles Lockheed Martin X-Trusted-NM: yes From: "Nerijus Jankevicius" To: "Bran Selic" , "Chonoles, Michael J" Cc: , "Juergen Boldt" Subject: Re: UML question on generalization, possibly an issue Date: Wed, 16 Dec 2009 18:19:53 +0200 X-Mailer: Microsoft Outlook Express 6.00.2900.5843 X-EsetScannerBuild: 6225 Bran, Agree that features, includes and extends are inherited, but not sure about interface realizations. Interface realizations does not subset ownedMembers (or members), but only ownedElements, so can't be inherited. BehavioredClassifier::interfaceRealization: InterfaceRealization [*] (Subsets Element::ownedElement and Realization::clientDependency.) Even more, what is Realization::clientDependency here??? It must be NamedElement:clientDependency I believe (clientDependency of the BehavioredClassifier, but not Realization). So, Juergen, please assign an issue number for this. Regards, -- 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 - Architecture made simple! ----- Original Message ----- From: Bran Selic To: Chonoles, Michael J Cc: uml2-rtf@omg.org Sent: Monday, December 14, 2009 8:05 PM Subject: Re: UML question on generalization, possibly an issue Michael, Classifiers inherit all non-private members of the namespaces of all their parents. (See the various additional operations associated with Classifier.) This includes the following: use case includes, extends, interface realizations (for behaviored classifiers), but not general dependencies. The question of qualifiers is a bit trickier, since a qualifier is a property owned by a property, so it can be argued that they are inherited transitively. This should probably be cleared up. Cheers...Bran On Mon, Dec 14, 2009 at 12:25 PM, Chonoles, Michael J wrote: While looking over Use Cases for other changes, I realize that I.m not sure about how inheritance (generalization) works. It appears that only constraints and features are inherited. Features include structural and behavioral features, and structural features include associations. This seems to exclude dependencies and other directed relationships and other potentially named elements in the namespace. I must have something wrong, but this means that · include and extends are not inherited; · realizations are not inherited; · nested qualifiers are not inherited; · general dependencies are not inherited I must be wrong, can anyone clarify. Thanks Michael Jesse Chonoles Lockheed Martin To: "Nerijus Jankevicius" Cc: "Juergen Boldt" , "Chonoles, Michael J" , "Bran Selic" , uml2-rtf@omg.org Subject: Re: UML question on generalization, possibly an issue X-KeepSent: 0AC7540A:8A8EC411-8525768E:0078A823; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.5.1 September 28, 2009 From: Jim Amsden Date: Wed, 16 Dec 2009 16:59:58 -0500 X-MIMETrack: Serialize by Router on D03NM118/03/M/IBM(Release 8.5.1HF41 | October 22, 2009) at 12/16/2009 14:59:58, Serialize complete at 12/16/2009 14:59:58 The semantics of InterfaceRealization is that the realizing classifier must have all of the features of the realized interface. That is, the features are effectively copied down in order to support redefinition properly. So these are at least inherited indirectly Jim Amsden, Senior Technical Staff Member Rational Enterprise Architecture Management 919-461-3689 From: "Nerijus Jankevicius" To: "Bran Selic" , "Chonoles, Michael J" Cc: , "Juergen Boldt" Date: 12/16/2009 11:27 AM Subject: Re: UML question on generalization, possibly an issue -------------------------------------------------------------------------------- Bran, Agree that features, includes and extends are inherited, but not sure about interface realizations. Interface realizations does not subset ownedMembers (or members), but only ownedElements, so can't be inherited. BehavioredClassifier::interfaceRealization: InterfaceRealization [*] (Subsets Element::ownedElement and Realization::clientDependency.) Even more, what is Realization::clientDependency here??? It must be NamedElement:clientDependency I believe (clientDependency of the BehavioredClassifier, but not Realization). So, Juergen, please assign an issue number for this. Regards, -- 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 - Architecture made simple! ----- Original Message ----- From: Bran Selic To: Chonoles, Michael J Cc: uml2-rtf@omg.org Sent: Monday, December 14, 2009 8:05 PM Subject: Re: UML question on generalization, possibly an issue Michael, Classifiers inherit all non-private members of the namespaces of all their parents. (See the various additional operations associated with Classifier.) This includes the following: use case includes, extends, interface realizations (for behaviored classifiers), but not general dependencies. The question of qualifiers is a bit trickier, since a qualifier is a property owned by a property, so it can be argued that they are inherited transitively. This should probably be cleared up. Cheers...Bran On Mon, Dec 14, 2009 at 12:25 PM, Chonoles, Michael J wrote: While looking over Use Cases for other changes, I realize that Iâm not sure about how inheritance (generalization) works. It appears that only constraints and features are inherited. Features include structural and behavioral features, and structural features include associations. This seems to exclude dependencies and other directed relationships and other potentially named elements in the namespace. I must have something wrong, but this means that · include and extends are not inherited; · realizations are not inherited; · nested qualifiers are not inherited; · general dependencies are not inherited I must be wrong, can anyone clarify. Thanks Michael Jesse Chonoles Lockheed Martin Subject: RE: UML question on generalization, possibly an issue Date: Wed, 16 Dec 2009 17:20:47 -0500 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: UML question on generalization, possibly an issue thread-index: Acp+m2R9+YH5EEoMTyaJuewJbAx7NwAAegLQ From: "Ed Seidewitz" To: "Jim Amsden" , "Nerijus Jankevicius" Cc: "Juergen Boldt" , "Chonoles, Michael J" , "Bran Selic" , Jim . Yes, but this is not .inheritance. in the strict way it is defined in the UML spec. And the .copy down., while something a tool might do, is not something defined in the spec either. The spec only requires the conformance of the realizing classifier to the interface, in the sense that the realizing classifier must have features conforming to all the features of the interface, as you noted. And, as Nerijus noted, the interface realization dependency is not itself inherited. However, since the realizing classifier must have features conforming to those of the interface, then, unless one or more of those features are private, any specialization of the realizing classifier will inherit those features. Thus, even though the specialization will not actually have an interface realization dependency on the interface, it will conform to the interface. -- Ed -------------------------------------------------------------------------------- From: Jim Amsden [mailto:jamsden@us.ibm.com] Sent: Wednesday, December 16, 2009 5:00 PM To: Nerijus Jankevicius Cc: Juergen Boldt; Chonoles, Michael J; Bran Selic; uml2-rtf@omg.org Subject: Re: UML question on generalization, possibly an issue The semantics of InterfaceRealization is that the realizing classifier must have all of the features of the realized interface. That is, the features are effectively copied down in order to support redefinition properly. So these are at least inherited indirectly Jim Amsden, Senior Technical Staff Member Rational Enterprise Architecture Management 919-461-3689 From: "Nerijus Jankevicius" To: "Bran Selic" , "Chonoles, Michael J" Cc: , "Juergen Boldt" Date: 12/16/2009 11:27 AM Subject: Re: UML question on generalization, possibly an issue -------------------------------------------------------------------------------- Bran, Agree that features, includes and extends are inherited, but not sure about interface realizations. Interface realizations does not subset ownedMembers (or members), but only ownedElements, so can't be inherited. BehavioredClassifier::interfaceRealization: InterfaceRealization [*] (Subsets Element::ownedElement and Realization::clientDependency.) Even more, what is Realization::clientDependency here??? It must be NamedElement:clientDependency I believe (clientDependency of the BehavioredClassifier, but not Realization). So, Juergen, please assign an issue number for this. Regards, -- 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 - Architecture made simple! ----- Original Message ----- From: Bran Selic To: Chonoles, Michael J Cc: uml2-rtf@omg.org Sent: Monday, December 14, 2009 8:05 PM Subject: Re: UML question on generalization, possibly an issue Michael, Classifiers inherit all non-private members of the namespaces of all their parents. (See the various additional operations associated with Classifier.) This includes the following: use case includes, extends, interface realizations (for behaviored classifiers), but not general dependencies. The question of qualifiers is a bit trickier, since a qualifier is a property owned by a property, so it can be argued that they are inherited transitively. This should probably be cleared up. Cheers...Bran On Mon, Dec 14, 2009 at 12:25 PM, Chonoles, Michael J wrote: While looking over Use Cases for other changes, I realize that I.m not sure about how inheritance (generalization) works. It appears that only constraints and features are inherited. Features include structural and behavioral features, and structural features include associations. This seems to exclude dependencies and other directed relationships and other potentially named elements in the namespace. I must have something wrong, but this means that · include and extends are not inherited; · realizations are not inherited; · nested qualifiers are not inherited; · general dependencies are not inherited I must be wrong, can anyone clarify. Thanks Michael Jesse Chonoles Lockheed Martin