Issue 3529: "*" not needed on DataType name (mof-rtf) Source: Escape Velocity (Mr. Don Baisley, donbaisley(at)live.com) Nature: Uncategorized Issue Severity: Summary: The MOF 1.3 Specification, section 3.4.7, says a DataType that does not require an IDL declaration must have a "name" that starts with a "*" character. This is an unnecessary restriction which has been generally ignored. MOF Model does not start DataType names with a "*" (see Appendix A XML defining any, boolean, string, and unsigned long). Similarly, the UML metamodel and others ignore this unnecessary restriction. The restriction is particularly inappropriate because it restricts ModelElement names based on the IDL mapping. IDL rules should not restrict ModelElement names, first because a Tag can be used to select an alternate IDL name, and second because a DataType mapped directly to a predefined IDL type does not cause an IDL declaration to be generated (so the DataType name is irrelevant to IDL generation). Recommendation: remove the restriction that a DataType not requiring an IDL declaration have a "name" starting with a "*" character. Resolution: see above Revised Text: section 3.4.7, remove all text starting from "The types represented by DataTypes ..." and ending with "... into a qualified name". In section 5.8.16, change the first two sentences of the first bullet point to read as follows: "* A DataType that maps to an IDL primitive type does not require a data type declaration or collection type declarations at this point." Actions taken: April 4, 2000: received issue December 3, 2001: closed issue Discussion: While some of the listed reasons for dropping this restriction are spurious (e.g. the fact that some MOF implementation ignored it), others are not. However, it is true that this restriction is IDL-centric, and that it is unnecessary. Therefore, this restriction is being removed. Note that the revised text for this issue will overlap the changes needed to resolve Issue #2198. End of Annotations:===== From: "Baisley, Donald E" To: issues@omg.org Subject: "*" not needed on DataType name Date: Mon, 3 Apr 2000 18:14:44 -0400 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-UIDL: V%F!!ST2e9Sg^d9L1&e9 The MOF 1.3 Specification, section 3.4.7, says a DataType that does not require an IDL declaration must have a "name" that starts with a "*" character. This is an unnecessary restriction which has been generally ignored. MOF Model does not start DataType names with a "*" (see Appendix A XML defining any, boolean, string, and unsigned long). Similarly, the UML metamodel and others ignore this unnecessary restriction. The restriction is particularly inappropriate because it restricts ModelElement names based on the IDL mapping. IDL rules should not restrict ModelElement names, first because a Tag can be used to select an alternate IDL name, and second because a DataType mapped directly to a predefined IDL type does not cause an IDL declaration to be generated (so the DataType name is irrelevant to IDL generation). Recommendation: remove the restriction that a DataType not requiring an IDL declaration have a "name" starting with a "*" character. Don Baisley Unisys > # > The MOF 1.3 Specification, section 3.4.7, says a DataType that does not > require an IDL declaration must have a "name" that starts with a "*" > character. This is an unnecessary restriction which has been generally > ignored. MOF Model does not start DataType names with a "*" (see Appendix A > XML defining any, boolean, string, and unsigned long). Similarly, the UML > metamodel and others ignore this unnecessary restriction. While "*" rule is not strictly necessary for DataTypes that represent CORBA builtin types (e.g. any, boolean, etc) it >>IS<< necessary for DataTypes that represent external types. Without this rule, I don't think that there is any way to distinguish an external DataType (for which the IDL mapping must not generate a declaration) and a regular one. As for the fact that the MOF Model rendered into XMI not prefixing the names of the DataTypes for 'any', etc. with '*', I think that's a bug in the XMI, not the core Model definition. Arguably, the restriction in section 3.4.7 should be moved to section 5.5 which deals with IDL specific restrictions. Arguably we could also remove the "*" restriction for DataTypes that represent the builtin IDL data types ... but I don't see that it serves any purpose to do so. > The restriction is particularly inappropriate because it restricts > ModelElement names based on the IDL mapping. IDL rules should not > restrict > ModelElement names, first because a Tag can be used to select an > alternate > IDL name, and second because a DataType mapped directly to a > predefined IDL > type does not cause an IDL declaration to be generated (so the > DataType name > is irrelevant to IDL generation). I don't understand this point. While the name for a builtin IDL type is irrelevant, we have to use "*" to distinguish external data types ... unless we add an extra Attribute to DataType or something. I don't see how Tags (presumable alternateName) have any bearing. Finally, I don't see why the "*" requirement needs to be visible to meta-modellers. The DSTC's MOF tools, transparently add and remove the "*" as required. [Aside: the ModelElement name is largely irrelevant when generating IDL for an external DataType. You have to do an IFR lookup to find out the correct qualification to use, and the type name in the IFR is more authoritative.] I acknowledge that the way that DataTypes, TypeCodes and names work is rather obscure, and in need of a cleanup. However, I'd prefer we leave this alone until we decide to purge the use of TypeCodes in favour of a less CORBA-centric way of specifying data types. -- Steve X-Mailer: exmh version 2.2 06/23/2000 with nmh-1.0.4 To: mof-rtf@omg.org Subject: Re: Issue 3529: "*" not needed on DataType name Mime-Version: 1.0 Date: Wed, 13 Jun 2001 15:36:58 +1000 From: Stephen Crawley X-Scanned-By: MIMEDefang 1.0 (http://www.roaringpenguin.com/mimedefang/) Content-Type: text/plain; charset=us-ascii X-UIDL: ZI5e9O:Vd90%F!!%58!! > Source: Unisys (Mr. Don Baisley, Donald.Baisley@unisys.com) > Nature: Uncategorized Issue > Severity: > Summary: The MOF 1.3 Specification, section 3.4.7, says a DataType > that > does not require an IDL declaration must have a "name" that starts > with > a "*" character. This is an unnecessary restriction which has been > generally ignored. MOF Model does not start DataType names with a > "*" > (see Appendix A XML defining any, boolean, string, and unsigned > long). > Similarly, the UML metamodel and others ignore this unnecessary > restriction. The restriction is particularly inappropriate because > it restricts ModelElement names based on the IDL mapping. IDL rules > should not restrict ModelElement names, first because a Tag can be > used to select an alternate IDL name, and second because a DataType > mapped directly to a predefined IDL type does not cause an IDL > declaration > to be generated (so the DataType name is irrelevant to IDL > generation). > > Recommendation: remove the restriction that a DataType not requiring > an IDL declaration have a "name" starting with a "*" character. Recommended Resolution: While some of the listed reasons for dropping this restriction are spurious (e.g. the fact that some MOF implementation ignored it), others are not. It is true that this restriction is IDL centric. It is also true that it is unnecessary. Therefore, this restriction will be removed. Note that the revised text for this issue will overlap the changes needed to resolve Issue #2198. Recommended Revised Text: In section 3.4.7, remove all text starting from "The types represented by DataTypes ..." and ending with "... into a qualified name". In section 5.8.16, change the first two sentences of the first bullet point to read as follows: " * A DataType that maps to an IDL primitive type does not require a data type declaration or collection type declarations at this point."