Issue 3210: Inheritance of Stereotypes (uml-rtf) Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com) Nature: Uncategorized Issue Severity: Summary: Issue: The semantics of inheritance (UML 1.3, ad/99-06-8, p. 60-61) does not include Stereotypes as being among the things that a subclass inherits from its superclasses. Recommendation: Explicitly specify that Stereotypes are inherited. Discussion: UML specifies that Constraints are inherited. A Stereotype is logically a constraint, and can even formally define Constraints that apply to stereotyped ModeledElements. Consider a Class A that is stereotyped S, where C is the Constraint that the Stereotype definition specifies for all ModelElements stereotyped S. Now consider Class B that inherits A. It stands to reason that the Constraint C applies to Class B. Resolution: Revised Text: Stereotypes are GeneralizableElements and a discussion of what it means to subtype a Stereotype and what the applicable rules are has been added. Actions taken: January 11, 2000: received issue May 24, 2001: closed issue Discussion: End of Annotations:===== Sender: dfrankel@gendev.com Message-Id: X-Sender: dfrankel@gendev.vwh.net X-Mailer: QUALCOMM Windows Eudora Pro Version 4.0 Date: Tue, 11 Jan 2000 17:10:21 -0800 To: uml-rtf@omg.org From: David Frankel Subject: Issue: Inheritance of Stereotypes Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-UIDL: $,Ke9/Ocd9;a'e9_&bd9 Issue: The semantics of inheritance (UML 1.3, ad/99-06-8, p. 60-61) does not include Stereotypes as being among the things that a subclass inherits from its superclasses. Recommendation: Explicitly specify that Stereotypes are inherited. Discussion: UML specifies that Constraints are inherited. A Stereotype is logically a constraint, and can even formally define Constraints that apply to stereotyped ModeledElements. Consider a Class A that is stereotyped <>, where C is the Constraint that the Stereotype definition specifies for all ModelElements stereotyped <>. Now consider Class B that inherits A. It stands to reason that the Constraint C applies to Class B. ============================= David S. Frankel Chief Scientist Genesis Development Corporation 741 Santiago Court Chico, CA 95973-8781 U.S.A. http://www.gendev.com dfrankel@gendev.com +1-530-893-1100 phone +1-530-893-1153 fax ============================= From: BELAUNDE Mariano CNET/DTL/LAN To: uml-rtf@omg.org Subject: RE: Issue: Inheritance of Stereotypes Date: Wed, 12 Jan 2000 14:33:58 +0100 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by emerald.omg.org id IAA01660 Content-Type: text/plain; charset="iso-8859-1" X-UIDL: :DT!!RCV!!'M\d9F<5!! I agree with David's issue. Notice that it stands also to reason that inheritance applies to pseudo-attributes (tagged values) The recommendation associated with this issue can be completed in this way: Explicitly specify that Stereotypes are inherited as well as any tagged value and constraint defined (required) in the stereotype. Mariano Belaunde France Telecom -----Message d'origine----- De: David Frankel [mailto:dfrankel@gendev.com] Date: mercredi 12 janvier 2000 02:10 @: uml-rtf@omg.org Objet: Issue: Inheritance of Stereotypes Issue: The semantics of inheritance (UML 1.3, ad/99-06-8, p. 60-61) does not include Stereotypes as being among the things that a subclass inherits from its superclasses. Recommendation: Explicitly specify that Stereotypes are inherited. Discussion: UML specifies that Constraints are inherited. A Stereotype is logically a constraint, and can even formally define Constraints that apply to stereotyped ModeledElements. Consider a Class A that is stereotyped <>, where C is the Constraint that the Stereotype definition specifies for all ModelElements stereotyped <>. Now consider Class B that inherits A. It stands to reason that the Constraint C applies to Class B. ============================= David S. Frankel Chief Scientist Genesis Development Corporation 741 Santiago Court Chico, CA 95973-8781 U.S.A. http://www.gendev.com dfrankel@gendev.com +1-530-893-1100 phone +1-530-893-1153 fax ============================= From: MJCHONOLES@aol.com Message-ID: <39.112bcce.25d3afa4@aol.com> Date: Thu, 10 Feb 2000 01:07:32 EST Subject: Comments on Issue 3210 -- Inheritance of Stereotypes... To: uml-rtf@omg.org CC: michael.j.chonoles@lmco.com MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Mailer: AOL 4.0 for Windows 95 sub 39 Content-Type: text/plain; charset="US-ASCII" X-UIDL: [2Vd9~+!e9T@#!!OHE!! While I'm not against inheriting stereotypes, I'm wondering about the complete extension of this to inheriting constraints and tagged-values as indicated in the discussion. There needs to be exceptions for the constraints relating to generalization. For example, the tagged value {abstract} should not be inherited. I believe the current UML already has some indications along this line. Other tagged values may also be better off not inherited, especially user-defined properties or constraints. While one could argue that many common tagged values {author=Chonoles, dueDate=04/01/2000} should be inherited, some may be less appropriate, such as {obsolete}, {last-modified=12 /01/1999}. We may need to consider, while updating the tailoring/extensibility capabilities of UML, the ability to specify whether a particular extension (stereotype, property) is to be inherited. Michael Jesse Chonoles Chief of Methodology Lockheed Martin Advanced Concepts Center michael.j.chonoles@lmco.com Date: Thu, 10 Feb 2000 13:31:34 -0500 From: Ed Seidewitz Reply-To: seidewitz@concept5.com Organization: Concept Five Technologies X-Mailer: Mozilla 4.7 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: MJCHONOLES@aol.com CC: uml-rtf@omg.org Subject: Re: Comments on Issue 3210 -- Inheritance of Stereotypes... References: <39.112bcce.25d3afa4@aol.com> Content-Type: multipart/mixed; boundary="------------3A391DD6BF5F50C02EC450E8" X-UIDL: ?V'e9"=d!!Y,"e9;k'e9 MJCHONOLES@aol.com wrote: > While I'm not against inheriting stereotypes, I'm wondering about the > complete extension of this to inheriting constraints and tagged-values as > indicated in the discussion. > > There needs to be exceptions for the constraints relating to generalization. > For example, the tagged value {abstract} should not be inherited. Note that the notation "{abstract}" actually refers to the attribute "isAbstract" of the class GeneralizableElement. As usual this attribute is inherited by descendant metaclasses of GeneralizableElement, but this does not mean that the VALUE of this metaattribute is "inherited" at the model level from a modeled generalizable element to its modeled descendants. This is why a subclass of an abstract class need not be abstract. > I believe the current UML already has some indications along this line. > > Other tagged values may also be better off not inherited, especially > user-defined properties or constraints. While one could argue that many > common tagged values {author=Chonoles, dueDate=04/01/2000} should be > inherited, some may be less appropriate, such as {obsolete}, {last-modified=12 > /01/1999}. The use of the same model-level notation for tagged values and metaattributes indicates the intended role of tagged values as "pseudo-metaattributes". This role is clearest in the case that the tagged value is attached to a stereotype. In this case, it is reasonable to talk about the stereotype being "inherited", meaning that a child generalizable element should have the same stereotype (or perhaps any specialization of that stereotype) as its parent. With a stereotype so "inherited", then the child element also seems to "inherit" the tagged values of that stereotype. However, just as in the case of metaattributes, the VALUES of the tagged values would not be "inherited", and so could be different in the child (unless there were some special semantic constraint associated with the stereotype that required such value conformance). -- Ed [] seidewit.vcf From: "Griss, Martin" To: "'MJCHONOLES@aol.com'" , uml-rtf@omg.org Cc: michael.j.chonoles@lmco.com Subject: RE: Comments on Issue 3210 -- Inheritance of Stereotypes... Date: Thu, 10 Feb 2000 12:01:30 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: @d;!!Vk Date: Thu, 10 Feb 2000 20:35:07 EST Subject: Re: Comments on Issue 3210 -- Inheritance of Stereotypes... To: seidewitz@concept5.com CC: uml-rtf@omg.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Mailer: AOL 4.0 for Windows 95 sub 39 Content-Type: text/plain; charset="US-ASCII" X-UIDL: Q2gd9Il(!!9Fad9p/~e9 In a message dated 2/10/2000 1:30:52 PM Eastern Standard Time, seidewit@concept5.com writes: << The use of the same model-level notation for tagged values and metaattributes indicates the intended role of tagged values as "pseudo-metaattributes". This role is clearest in the case that the tagged value is attached to a stereotype. In this case, it is reasonable to talk about the stereotype being "inherited", meaning that a child generalizable element should have the same stereotype (or perhaps any specialization of that stereotype) as its parent. With a stereotype so "inherited", then the child element also seems to "inherit" the tagged values of that stereotype. However, just as in the case of metaattributes, the VALUES of the tagged values would not be "inherited", and so could be different in the child (unless there were some special semantic constraint associated with the stereotype that required such value conformance). -- Ed >> Yes, I see. Perhaps what needs to be clear is the need to be able distinguish easily between inheritable constraints, meta-attributes, and meta-attributes whose values are required to conform.... Michael Chonoles From: Alan Moore To: "'MJCHONOLES@aol.com'" , seidewitz@concept5.com Cc: uml-rtf@omg.org Subject: RE: Comments on Issue 3210 -- Inheritance of Stereotypes... Date: Fri, 11 Feb 2000 15:27:37 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: )/\!!:"Ke9k_Wd9!R-e9 <> Actually, having thought about it, perhaps the specialized class should inherit the stereotype of the general class and add its own. How are things going with the notion of supporting multiple stereotypes anyway? -----Original Message----- From: Alan Moore [mailto:AlanM@artisansw.com] Sent: 11 February 2000 15:19 To: 'MJCHONOLES@aol.com'; seidewitz@concept5.com Cc: uml-rtf@omg.org Subject: RE: Comments on Issue 3210 -- Inheritance of Stereotypes... If one considers the case where a modeler has two classes (say) with different stereotypes, what happens when the modeler tries to add a Generalization relationship between them? Do they both have to have the same stereotype as a precondition in this case? Also, in the case of multiple inheritance does the child have to have multiple stereotypes if its parents have differing stereotypes? Alan Moore ARTiSAN Software Tools. -----Original Message----- From: MJCHONOLES@aol.com [mailto:MJCHONOLES@aol.com] Sent: 11 February 2000 01:35 To: seidewitz@concept5.com Cc: uml-rtf@omg.org Subject: Re: Comments on Issue 3210 -- Inheritance of Stereotypes... In a message dated 2/10/2000 1:30:52 PM Eastern Standard Time, seidewit@concept5.com writes: << The use of the same model-level notation for tagged values and metaattributes indicates the intended role of tagged values as "pseudo-metaattributes". This role is clearest in the case that the tagged value is attached to a stereotype. In this case, it is reasonable to talk about the stereotype being "inherited", meaning that a child generalizable element should have the same stereotype (or perhaps any specialization of that stereotype) as its parent. With a stereotype so "inherited", then the child element also seems to "inherit" the tagged values of that stereotype. However, just as in the case of metaattributes, the VALUES of the tagged values would not be "inherited", and so could be different in the child (unless there were some special semantic constraint associated with the stereotype that required such value conformance). -- Ed >> Yes, I see. Perhaps what needs to be clear is the need to be able distinguish easily between inheritable constraints, meta-attributes, and meta-attributes whose values are required to conform.... Michael Chonoles From: Alan Moore To: "'MJCHONOLES@aol.com'" , seidewitz@concept5.com Cc: uml-rtf@omg.org Subject: RE: Comments on Issue 3210 -- Inheritance of Stereotypes... Date: Fri, 11 Feb 2000 15:19:04 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: Dl/!!L-C!!PH;!!>hWd9 If one considers the case where a modeler has two classes (say) with different stereotypes, what happens when the modeler tries to add a Generalization relationship between them? Do they both have to have the same stereotype as a precondition in this case? Also, in the case of multiple inheritance does the child have to have multiple stereotypes if its parents have differing stereotypes? Alan Moore ARTiSAN Software Tools. -----Original Message----- From: MJCHONOLES@aol.com [mailto:MJCHONOLES@aol.com] Sent: 11 February 2000 01:35 To: seidewitz@concept5.com Cc: uml-rtf@omg.org Subject: Re: Comments on Issue 3210 -- Inheritance of Stereotypes... In a message dated 2/10/2000 1:30:52 PM Eastern Standard Time, seidewit@concept5.com writes: << The use of the same model-level notation for tagged values and metaattributes indicates the intended role of tagged values as "pseudo-metaattributes". This role is clearest in the case that the tagged value is attached to a stereotype. In this case, it is reasonable to talk about the stereotype being "inherited", meaning that a child generalizable element should have the same stereotype (or perhaps any specialization of that stereotype) as its parent. With a stereotype so "inherited", then the child element also seems to "inherit" the tagged values of that stereotype. However, just as in the case of metaattributes, the VALUES of the tagged values would not be "inherited", and so could be different in the child (unless there were some special semantic constraint associated with the stereotype that required such value conformance). -- Ed >> Yes, I see. Perhaps what needs to be clear is the need to be able distinguish easily between inheritable constraints, meta-attributes, and meta-attributes whose values are required to conform.... Michael Chonoles