Issue 4219: Profile Notation (uml2-superstructure-ftf) Source: David Frankel Consulting (Mr. David Frankel, david(at)dfrankelconsulting.com) Nature: Uncategorized Issue Severity: Summary: I raised this issue at the AB level. I didn't recommend holding up approval of UML 1.4 over this but we agreed that the new RTF would take this matter up with dispatch. Pages 3-59 to 3-63 (Section 3.35): The new notation for defining Stereotypes and TaggedValues (i.e. for defining a Virtual Metamodel or "VMM") raises an issue. I can speak to this as a practical matter based on the profiling work I've done. When I define a Stereotype on a UML metamodel element, as in figure 3-32 on p. 3-61, I would like to reuse the official OMG definition of the UML metamodel element. I don't want to have to define it again before defining the relationship between my new Stereotype and that UML metamodel element. Thus, requiring the <<metaclass>> Stereotype on the UML metamodel element means that, in the UML metamodel itself, I would have to Stereotype all the metaclasses this way so that, if I need to, I can reuse them in VMMs. True, I could opt *not to* display the <<metaclass>> Stereotype in a pure UML metamodel diagram and opt *to* display it a VMM diagram, but all the UML metamodel elements would be carrying the <<metaclass>> Stereotype. The best solution I can think of to this problem is to to drop the requirement to use the <<metaclass>> Stereotype in VMM diagrams. As long as the requirement to use the <<stereotype>> Stereotype on Stereotypes (sic!) is adhered to, it should be pretty clear in a VMM diagram what is a Stereotype and what is a UML metamodel element. Also, the the standard metamodel Stereotype of Package indicates that the elements in the Package are elements of a metamodel. I am open to other suggestions as to how to resolve this issue. Resolution: resolved, close issue Revised Text: Actions taken: March 9, 2001: received issue March 8, 2005: closed issue Discussion: Uml 2.0 RFP issue. 1 Introduce a discussion for the usage of the <<metaclass>> stereotype. <<Metaclass>> is of an optional usage for modeling stereotypes. Therefore, modeler can directly base their extension definition on a MOF based reference metamodel. This mention does already exist (see “Class” in the profile spec ) : The spec says : “Presentation Option A Class that is extended by a Stereotype may have the optional keyword «metaclass» shown above or before its name.” The error here is that “metaclass” is a stereotype (not a keyword). It must be changed to: “A Class that is extended by a Stereotype may be extended by the optional stereotype «metaclass» (see appendix B : standard stereotypes, basic) shown above or before its name.” Disposition: Resolved End of Annotations:===== From: "David Frankel" To: "Uml-Rtf@Omg. Org" , Subject: Profile Notation Date: Fri, 9 Mar 2001 13:31:04 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Importance: Normal Content-Type: text/plain; charset="iso-8859-1" X-UIDL: [~>!!]OZ!!5M%"!gAK!! I raised this issue at the AB level. I didn't recommend holding up approval of UML 1.4 over this but we agreed that the new RTF would take this matter up with dispatch. Pages 3-59 to 3-63 (Section 3.35): The new notation for defining Stereotypes and TaggedValues (i.e. for defining a Virtual Metamodel or "VMM") raises an issue. I can speak to this as a practical matter based on the profiling work I've done. When I define a Stereotype on a UML metamodel element, as in figure 3-32 on p. 3-61, I would like to reuse the official OMG definition of the UML metamodel element. I don't want to have to define it again before defining the relationship between my new Stereotype and that UML metamodel element. Thus, requiring the <> Stereotype on the UML metamodel element means that, in the UML metamodel itself, I would have to Stereotype all the metaclasses this way so that, if I need to, I can reuse them in VMMs. True, I could opt *not to* display the <> Stereotype in a pure UML metamodel diagram and opt *to* display it a VMM diagram, but all the UML metamodel elements would be carrying the <> Stereotype. The best solution I can think of to this problem is to to drop the requirement to use the <> Stereotype in VMM diagrams. As long as the requirement to use the <> Stereotype on Stereotypes (sic!) is adhered to, it should be pretty clear in a VMM diagram what is a Stereotype and what is a UML metamodel element. Also, the the standard <> Stereotype of Package indicates that the elements in the Package are elements of a metamodel. I am open to other suggestions as to how to resolve this issue. ================================ David S. Frankel Chief Consulting Architect, Advanced Technologies IONA Technologies PLC 741 Santiago Court Chico, CA 95973-8781 USA +1 530 893-1100 voice +1 530 893-1153 fax david.frankel@iona.com ================================ From: "Selic, Bran" To: "'David Frankel'" , "Uml-Rtf@Omg. Org" , issues@omg.org Subject: RE: Profile Notation Date: Sat, 10 Mar 2001 13:48:40 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: \+p!!p[Be9"DBe9:4e!! I disagree with David's comments, I think that the notation has been misinterpreted. This is merely a notational convention (and, you recall that we do not have formal rules for notation in UML). The <> designation is not actually a stereotype, just like the dependency between the two elements in these diagrams is not really an instance of Dependency. Taken literally, this diagram is simply not a valid UML construct since it mixes metalevels (M2 and M1) -- as I said, it is merely a convention. When we introduce a formal graphical syntax for UML, we can revisit this notation. Bran > -----Original Message----- > From: David Frankel [mailto:david.frankel@iona.com] > Sent: Friday, March 09, 2001 1:31 PM > To: Uml-Rtf@Omg. Org; issues@omg.org > Subject: Profile Notation > > > I raised this issue at the AB level. I didn't recommend > holding up approval > of UML 1.4 over this but we agreed that the new RTF would > take this matter > up with dispatch. > > Pages 3-59 to 3-63 (Section 3.35): The new notation for > defining Stereotypes > and TaggedValues (i.e. for defining a Virtual Metamodel or > "VMM") raises an > issue. I can speak to this as a practical matter based on > the profiling > work I've done. When I define a Stereotype on a UML > metamodel element, as > in figure 3-32 on p. 3-61, I would like to reuse the official > OMG definition > of the UML metamodel element. I don't want to have to define it again > before defining the relationship between my new Stereotype > and that UML > metamodel element. Thus, requiring the <> > Stereotype on the UML > metamodel element means that, in the UML metamodel itself, I > would have to > Stereotype all the metaclasses this way so that, if I need > to, I can reuse > them in VMMs. True, I could opt *not to* display the <> > Stereotype in a pure UML metamodel diagram and opt *to* > display it a VMM > diagram, but all the UML metamodel elements would be carrying the > <> Stereotype. > > The best solution I can think of to this problem is to to drop the > requirement to use the <> Stereotype in VMM > diagrams. As long as > the requirement to use the <> Stereotype on > Stereotypes (sic!) > is adhered to, it should be pretty clear in a VMM diagram what is a > Stereotype and what is a UML metamodel element. Also, the > the standard > <> Stereotype of Package indicates that the elements in the > Package are elements of a metamodel. > > I am open to other suggestions as to how to resolve this issue. > > ================================ > David S. Frankel > Chief Consulting Architect, > Advanced Technologies > IONA Technologies PLC > 741 Santiago Court > Chico, CA 95973-8781 USA > > +1 530 893-1100 voice > +1 530 893-1153 fax > david.frankel@iona.com > ================================ > Date: Sun, 11 Mar 2001 13:16:30 -0700 (MST) From: robert france To: uml-rtf@omg.org cc: "'David Frankel'" , bselic@rational.com Subject: RE: Profile Notation In-Reply-To: <1E0ABA7B578BCC40AA5EED022EFE32E6651D9E@sca-can1it01.rational.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-UIDL: `9)!!1g%!!3n(!!dC-!! My group at CSU is doing work on defining UML variants and we have struggled somewhat with the notion of profiles, stereotypes as described in UML 1.4. The recent emails just added to our confusion. So what is a stereotype? I've found it convenient to think of a UML variant (as defined by a profile) as a ``specialization'' of the UML metamodel (in the same sense as a theory is related to a logic such as predicate logic - don't take this analogy too far!). Is this what is meant by a ``virtual metamodel''? A stereotype (in my view) is a specialization of a UML metamodel element in which properties of the UML metamodel element can be restricted in the stereotype, and precise interpretations for ``semantic variation points'' associated with the UML metamodel element are provided by the stereotype. I should also be able to add new properties to a stereotype (as long as they are consistent with the UML metamodel element's properties). In defining a UML variant I would define its metamodel using stereotypes. At the model level I would need some way of distinguishing those model elements that are instantiations from UML metamodel elements and those that are ``instantiations'' of stereotypes - I can do this by associating particular graphical representations to the stereotypes or I can use the stereotype names enclosed in guillemets. Is this a valid view? Is there more (or less) to a stereotype? Robert ==================================================================== Robert B. France, Assoc Professor | Tel: 970-491-6356 Computer Science Department | Fax: 970-491-2466 Colorado State University | Email: france@cs.colostate.edu Fort Collins, CO 80523 | www.cs.colostate.edu/~france/ From: "David Frankel" To: "Uml-Rtf@Omg. Org" , Subject: RE: Profile Notation Date: Sun, 11 Mar 2001 18:36:57 -0500 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 In-Reply-To: <1E0ABA7B578BCC40AA5EED022EFE32E6651D9E@sca-can1it01.rational.com> Importance: Normal Content-Type: text/plain; charset="iso-8859-1" X-UIDL: BWC!!Q\=!!'J?!!%!Pd9 Bran-- Thanks for sharing your insight on this. I accept the logic of your argument that <> is just a notational convention. However, that still leaves profile architects with the very real practical problem I described when trying to reuse the official UML definitions in VMMs. Going with your premise that it is just a notational convention, perhaps the text could say that in this context <> is just a keyword rather a stereotype, and could make the keyword optional so that a profile architect who wishes to reuse the official definitions can do so without difficulty. I could be displaying ignorance here, but I'm not entirely sure what you mean when you say we have no formal rules for notation in UML. As I read the notation guide it specifies exactly how various notations map to metamodel elements, and the preface to the UML specification lists compliance to the notation as one of the compliance points, albeit an optional compliance point. Do you mean that the various rules are rather ad-hoc and not based on a formal notational grammar? --Dave ================================ David S. Frankel Chief Consulting Architect, Advanced Technologies IONA Technologies PLC 741 Santiago Court Chico, CA 95973-8781 USA +1 530 893-1100 voice +1 530 893-1153 fax david.frankel@iona.com ================================ > -----Original Message----- > From: Selic, Bran [mailto:bselic@rational.com] > Sent: Saturday, March 10, 2001 1:49 PM > To: 'David Frankel'; Uml-Rtf@Omg. Org; issues@omg.org > Subject: RE: Profile Notation > > > I disagree with David's comments, I think that the notation has been > misinterpreted. This is merely a notational convention (and, you > recall that > we do not have formal rules for notation in UML). The <> > designation is not actually a stereotype, just like the dependency between > the two elements in these diagrams is not really an instance of > Dependency. > Taken literally, this diagram is simply not a valid UML construct since it > mixes metalevels (M2 and M1) -- as I said, it is merely a convention. When > we introduce a formal graphical syntax for UML, we can revisit this > notation. > > Bran > > > -----Original Message----- > > From: David Frankel [mailto:david.frankel@iona.com] > > Sent: Friday, March 09, 2001 1:31 PM > > To: Uml-Rtf@Omg. Org; issues@omg.org > > Subject: Profile Notation > > > > > > I raised this issue at the AB level. I didn't recommend > > holding up approval > > of UML 1.4 over this but we agreed that the new RTF would > > take this matter > > up with dispatch. > > > > Pages 3-59 to 3-63 (Section 3.35): The new notation for > > defining Stereotypes > > and TaggedValues (i.e. for defining a Virtual Metamodel or > > "VMM") raises an > > issue. I can speak to this as a practical matter based on > > the profiling > > work I've done. When I define a Stereotype on a UML > > metamodel element, as > > in figure 3-32 on p. 3-61, I would like to reuse the official > > OMG definition > > of the UML metamodel element. I don't want to have to define it again > > before defining the relationship between my new Stereotype > > and that UML > > metamodel element. Thus, requiring the <> > > Stereotype on the UML > > metamodel element means that, in the UML metamodel itself, I > > would have to > > Stereotype all the metaclasses this way so that, if I need > > to, I can reuse > > them in VMMs. True, I could opt *not to* display the <> > > Stereotype in a pure UML metamodel diagram and opt *to* > > display it a VMM > > diagram, but all the UML metamodel elements would be carrying the > > <> Stereotype. > > > > The best solution I can think of to this problem is to to drop the > > requirement to use the <> Stereotype in VMM > > diagrams. As long as > > the requirement to use the <> Stereotype on > > Stereotypes (sic!) > > is adhered to, it should be pretty clear in a VMM diagram what is a > > Stereotype and what is a UML metamodel element. Also, the > > the standard > > <> Stereotype of Package indicates that the elements in the > > Package are elements of a metamodel. > > > > I am open to other suggestions as to how to resolve this issue. > > > > ================================ > > David S. Frankel > > Chief Consulting Architect, > > Advanced Technologies > > IONA Technologies PLC > > 741 Santiago Court > > Chico, CA 95973-8781 USA > > > > +1 530 893-1100 voice > > +1 530 893-1153 fax > > david.frankel@iona.com > > ================================ > > > From: "Thomas Weigert" To: "David Frankel" , "Uml-Rtf@Omg. Org" , Subject: RE: Profile Notation Date: Sun, 11 Mar 2001 21:50:31 -0600 Message-ID: MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 In-Reply-To: Importance: Normal Content-Type: text/plain; charset="iso-8859-1" X-UIDL: 1"Je9V^)!!)%ld9%o=e9 I think what Bran is saying here is that the notation in the NG is merely a default syntax. Any other notation that satisfies the abstract syntax of the UML metamodel as well as the static semantic constraints could call itself UML. There is nothing special about the syntax of the NG. > -----Original Message----- > From: David Frankel [mailto:david.frankel@iona.com] > I could be displaying ignorance here, but I'm not entirely sure what you > mean when you say we have no formal rules for notation in UML. As I read > the notation guide it specifies exactly how various notations map to > metamodel elements, and the preface to the UML specification lists > compliance to the notation as one of the compliance points, albeit an > optional compliance point. Do you mean that the various rules are rather > ad-hoc and not based on a formal notational grammar? From: "Selic, Bran" To: "'David Frankel'" , "Uml-Rtf@Omg. Org" , issues@omg.org Subject: RE: Profile Notation Date: Mon, 12 Mar 2001 01:37:09 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: 0gL!!^T&e9A2;e93J0e9 In reply to David: > Going with your premise that it is just a notational > convention, perhaps the > text could say that in this context <> is just a > keyword rather a > stereotype, and could make the keyword optional so that a > profile architect > who wishes to reuse the official definitions can do so > without difficulty. Good point -- I agree with this suggestion. The same probably holds for the <> label on the dependency. > I could be displaying ignorance here, but I'm not entirely > sure what you > mean when you say we have no formal rules for notation in > UML. As I read > the notation guide it specifies exactly how various notations map to > metamodel elements, and the preface to the UML specification lists > compliance to the notation as one of the compliance points, albeit > an > optional compliance point. Yes, but that is almost anecdotal rather than systematic. Not everything is covered with these mappings and, given that they are expressed in colloquial English, they are sometimes ambiguous. > Do you mean that the various > rules are rather > ad-hoc and not based on a formal notational grammar? Precisely. Bran Reply-To: From: "Philippe Desfray" To: "'David Frankel'" , "'Uml-Rtf@Omg. Org'" , Subject: RE: Profile Notation Date: Mon, 12 Mar 2001 09:56:05 +0100 Message-ID: <001001c0aad2$47015e60$1a0a4b0a@PARIS> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MIMEOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 In-Reply-To: Content-Type: text/plain; charset="iso-8859-1" X-UIDL: #a!e9Z*-!!ZZ%e9V@W!! As a simple conclusion, that I can see from this debate : 1 >>> perhaps the text could say that in this context <> is just a keyword rather a stereotype, and could make the keyword optional so that a profile architect who wishes to reuse the official definitions can do so without difficulty. This can be a clarification issue for whatever comes after UML1.4 2 Stereotype is not a metaclass in UML1.4, TagDefinition is not an attribute, and "baseClass" is not a dependency. Thats why this notation introduces another mapping than the classical class diagram one. The M1/M2 cross level introduces another specific element. The UML1.4 notation for profile is a pragmatic solution. I beleive that this class diagram/extension diagram notation alignment will be easily solved through a MOF/Profile/UML core alignment that should be done during the UML2.0 effort. -- Philippe DESFRAY VP for R& D phd@softeam.fr SOFTEAM --------Think Object 144 avenue des Champs Elysies - 75008 PARIS - Tel (33 1) 53968400 - Fax (33 1) 53968401 -----Message d'origine----- De : David Frankel [mailto:david.frankel@iona.com] Envoyi : lundi 12 mars 2001 00:37 @ : Uml-Rtf@Omg. Org; issues@omg.org Objet : RE: Profile Notation Bran-- Thanks for sharing your insight on this. I accept the logic of your argument that <> is just a notational convention. However, that still leaves profile architects with the very real practical problem I described when trying to reuse the official UML definitions in VMMs. Going with your premise that it is just a notational convention, perhaps the text could say that in this context <> is just a keyword rather a stereotype, and could make the keyword optional so that a profile architect who wishes to reuse the official definitions can do so without difficulty. I could be displaying ignorance here, but I'm not entirely sure what you mean when you say we have no formal rules for notation in UML. As I read the notation guide it specifies exactly how various notations map to metamodel elements, and the preface to the UML specification lists compliance to the notation as one of the compliance points, albeit an optional compliance point. Do you mean that the various rules are rather ad-hoc and not based on a formal notational grammar? --Dave ================================ David S. Frankel Chief Consulting Architect, Advanced Technologies IONA Technologies PLC 741 Santiago Court Chico, CA 95973-8781 USA +1 530 893-1100 voice +1 530 893-1153 fax david.frankel@iona.com ================================ > -----Original Message----- > From: Selic, Bran [mailto:bselic@rational.com] > Sent: Saturday, March 10, 2001 1:49 PM > To: 'David Frankel'; Uml-Rtf@Omg. Org; issues@omg.org > Subject: RE: Profile Notation > > > I disagree with David's comments, I think that the notation has been > misinterpreted. This is merely a notational convention (and, you > recall that > we do not have formal rules for notation in UML). The <> > designation is not actually a stereotype, just like the dependency between > the two elements in these diagrams is not really an instance of > Dependency. > Taken literally, this diagram is simply not a valid UML construct since it > mixes metalevels (M2 and M1) -- as I said, it is merely a convention. When > we introduce a formal graphical syntax for UML, we can revisit this > notation. > > Bran > > > -----Original Message----- > > From: David Frankel [mailto:david.frankel@iona.com] > > Sent: Friday, March 09, 2001 1:31 PM > > To: Uml-Rtf@Omg. Org; issues@omg.org > > Subject: Profile Notation > > > > > > I raised this issue at the AB level. I didn't recommend > > holding up approval > > of UML 1.4 over this but we agreed that the new RTF would > > take this matter > > up with dispatch. > > > > Pages 3-59 to 3-63 (Section 3.35): The new notation for > > defining Stereotypes > > and TaggedValues (i.e. for defining a Virtual Metamodel or > > "VMM") raises an > > issue. I can speak to this as a practical matter based on > > the profiling > > work I've done. When I define a Stereotype on a UML > > metamodel element, as > > in figure 3-32 on p. 3-61, I would like to reuse the official > > OMG definition > > of the UML metamodel element. I don't want to have to define it again > > before defining the relationship between my new Stereotype > > and that UML > > metamodel element. Thus, requiring the <> > > Stereotype on the UML > > metamodel element means that, in the UML metamodel itself, I > > would have to > > Stereotype all the metaclasses this way so that, if I need > > to, I can reuse > > them in VMMs. True, I could opt *not to* display the <> > > Stereotype in a pure UML metamodel diagram and opt *to* > > display it a VMM > > diagram, but all the UML metamodel elements would be carrying the > > <> Stereotype. > > > > The best solution I can think of to this problem is to to drop the > > requirement to use the <> Stereotype in VMM > > diagrams. As long as > > the requirement to use the <> Stereotype on > > Stereotypes (sic!) > > is adhered to, it should be pretty clear in a VMM diagram what is a > > Stereotype and what is a UML metamodel element. Also, the > > the standard > > <> Stereotype of Package indicates that the elements in the > > Package are elements of a metamodel. > > > > I am open to other suggestions as to how to resolve this issue. > > > > ================================ > > David S. Frankel > > Chief Consulting Architect, > > Advanced Technologies > > IONA Technologies PLC > > 741 Santiago Court > > Chico, CA 95973-8781 USA > > > > +1 530 893-1100 voice > > +1 530 893-1153 fax > > david.frankel@iona.com > > ================================ > > > Date: Mon, 12 Mar 2001 02:02:23 -0800 From: Cris Kobryn Subject: RE: Profile Notation In-reply-to: To: Thomas Weigert , David Frankel Cc: "Uml-Rtf@Omg. Org" , issues@omg.org Reply-to: ckobryn@acm.org Message-id: MIME-version: 1.0 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Content-transfer-encoding: 7bit Importance: Normal X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 X-Priority: 3 (Normal) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: P" I think what Bran is saying here is that the notation in the NG > is merely a > default syntax. Any other notation that satisfies the abstract > syntax of the > UML metamodel as well as the static semantic constraints could call > itself > UML. There is nothing special about the syntax of the NG. I hope that this is not what Bran is saying. Whatever faults it may have, the UML Notation Guide specifies the standard notation for UML. Proponents of alternative notations should be careful not to confuse users, and should never call UML semantics with non-standard notation "UML" without strong qualification. Rather they should describe it as " notation based on UML semantics, where the mapping of the notation to UML semantics is defined in ..." -- Cris > > -----Original Message----- > > From: David Frankel [mailto:david.frankel@iona.com] > > I could be displaying ignorance here, but I'm not entirely sure what you > > mean when you say we have no formal rules for notation in UML. > As I read > > the notation guide it specifies exactly how various notations map to > > metamodel elements, and the preface to the UML specification lists > > compliance to the notation as one of the compliance points, albeit an > > optional compliance point. Do you mean that the various rules > are rather > > ad-hoc and not based on a formal notational grammar? > From: "Selic, Bran" To: robert france , uml-rtf@omg.org Cc: "'David Frankel'" Subject: RE: Profile Notation Date: Mon, 12 Mar 2001 08:01:54 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: `V]!!!o+e9P'5e9X!"!! In reply to Robert: > My group at CSU is doing work on defining UML variants and > we have struggled somewhat with the notion of profiles, > stereotypes as described in UML 1.4. The recent emails just > added to our confusion. So what is a stereotype? Sorry about the added confusion. I will try to clarify further below. > I've found it convenient to think of a UML variant (as defined by > a profile) as a ``specialization'' of the UML metamodel (in the > same sense as a theory is related to a logic such as predicate > logic - don't take this analogy too far!). Is this what is meant by > a > ``virtual metamodel''? A stereotype > (in my view) is a specialization of a UML metamodel element in which > properties of the UML metamodel element can be restricted in the > stereotype, and precise interpretations for ``semantic variation > points'' associated with the UML metamodel element are provided > by the stereotype. I should also be able to add new properties > to a stereotype (as long as they are consistent with the UML > metamodel element's properties). This is an excellent description. A stereotype is, in effect, a subclass of an existing UML metamodel element. However, due to the need to define steretypes at the M1 level (instead of the M2 level where they should be defined), we are forced to use some special tricks to get around that problem. These tricks are somewhat confusing: the term "stereotype" is somewhat ambiguous. In metamodeling terms (M2), a stereotype is like a special "sticker" that I can attach to a class, to designate an instance of some model element as having special properties. In modeling terms (M1), we do not distinguish between the "sticker" and the thing it is stuck to, so the same term is used to specify the stereotyped element itself. > In defining a UML variant I would > define its metamodel using stereotypes. At the model level I would > need some way of distinguishing those model elements that are > instantiations from UML metamodel elements and those that are > ``instantiations'' of stereotypes - I can do this by associating > particular graphical representations to the stereotypes or I > can use the stereotype names enclosed in guillemets. That's correct. > Is this a valid view? Is there more (or less) to a stereotype? No, I'd say that you your description is pretty accurate. The problem that David has raised is that in DEFINING stereotypes graphically, we have, from a certain point of view, misused the stereotype notation. In that very special case, we use two stereotype labels in a non-standard way. To indicate that we are referring to an M2 concept, we label the metaclass from which the stereotype is derived with what looks like a stereotype label (the label <>) and the dependency between them with the <> label. However, neither of these is really a stereotype, even though we are using the stereotype notation. To avoid confusion I suggest that people use the tabular form to define stereotypes -- it also scales up much better. Bran From: "Selic, Bran" To: ckobryn@acm.org, Thomas Weigert , David Frankel Cc: "Uml-Rtf@Omg. Org" , issues@omg.org Subject: RE: Profile Notation Date: Mon, 12 Mar 2001 10:30:47 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: ;N&!!1"@!!1^hd9/Ged9 > > I think what Bran is saying here is that the notation in the NG > > is merely a > > default syntax. Any other notation that satisfies the abstract > > syntax of the > > UML metamodel as well as the static semantic constraints > could call itself > > UML. There is nothing special about the syntax of the NG. > > > I hope that this is not what Bran is saying. Cris is right, this is not what I was saying. My point was that, since the UML notation is defined declaratively rather than through a formal graphical syntax, our graphical notation for defining stereotypes is simply another example of that style. In other words, it is a valid notation because (a) we defined it that way and (b) it does not conflict with (i.e., cannot be confused with) any other part of the UML notation. Bran