Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » Classifier.getInheritedMembers() method vs UML inheritance semantics
Classifier.getInheritedMembers() method vs UML inheritance semantics [message #1603735] Fri, 06 February 2015 11:06 Go to next message
Thomas Wiman is currently offline Thomas WimanFriend
Messages: 35
Registered: June 2012
Location: Stockholm , Sweden
Member

According to UML 2.4.1 super structure specification the definition of generalization is:

"A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier."

This definition Indicates that only UML Features (Connector, ExtensionEnd, Operation, Port, Property and Reception) are to be inherited between classifiers.

When studying the elements returned by the Classifier.getInheritedMembers()-method, a lot of other elements are returned as well. For example Packages and Instance Specifications are inherited between Components, but RedefinableTemplateSignature for example, is not inherited.

My questions are:
1) Is there an intentional difference between UML inheritance semantics and the behavior in the getInheritedMembers() method?

2) Is it possible to get information on exactly which elements that are returned by the getInheritedMembers() method for each kind of classifier?




Thomas Wiman
MetaModelAgent Product Manager
Re: Classifier.getInheritedMembers() method vs UML inheritance semantics [message #1603838 is a reply to message #1603735] Fri, 06 February 2015 12:40 Go to previous message
Christian W. Damus is currently offline Christian W. DamusFriend
Messages: 1176
Registered: July 2009
Location: Canada
Senior Member

Hi,

What a classifier actually inherits is determined by the Classifier
operations inherit(...) and inheritableMembers(...) and any possibly
redefinitions thereof for specific classifier metaclasses.

In the UML 2.5 specification, the only such redefinitions that I see
are for exclusion of RedefinableElements (such as features) that the
specializing classifier has redefined. So, it appears to be pretty
wide open.

HTH,

Christian


On 2015-02-06 11:06:45 +0000, Thomas Wiman said:

> According to UML 2.4.1 super structure specification the definition of
> generalization is:
>
> "A generalization is a taxonomic relationship between a more general
> classifier and a more specific classifier. Each instance of the
> specific classifier is also an indirect instance of the general
> classifier. Thus, the specific classifier inherits the features of the
> more general classifier."
>
> This definition Indicates that only UML Features (Connector,
> ExtensionEnd, Operation, Port, Property and Reception) are to be
> inherited between classifiers.
>
> When studying the elements returned by the
> Classifier.getInheritedMembers()-method, a lot of other elements are
> returned as well. For example Packages and Instance Specifications are
> inherited between Components, but RedefinableTemplateSignature for
> example, is not inherited.
>
> My questions are: 1) Is there an intentional difference between UML
> inheritance semantics and the behavior in the getInheritedMembers()
> method?
>
> 2) Is it possible to get information on exactly which elements that are
> returned by the getInheritedMembers() method for each kind of
> classifier?
Previous Topic:getAppliedStereotypes() does not work when model and profile are in the same file ?
Next Topic:find elements by type and by name
Goto Forum:
  


Current Time: Sat Nov 17 06:40:21 GMT 2018

Powered by FUDForum. Page generated in 0.02479 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top