Issues Summary
Issues Descriptions
XMI 1.2 Issue - Association elements with references
-
Key: XMI12-11
-
Legacy Issue Number: 5305
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
There are several problems related to the specification of Association
elements (representing Links).1) At the moment Association elements are only generated in DTDs/Schemas for
referenceless associations.
This precludes the use of Association instances in XMI files to link
existing/external objects: a technique I have certainly found useful even
when those objects do have references. There seems to be little reason for
not generating the Association elements.2) The description of DTD design principles in 3.6.6 refers to association
roles. Presuming this is intended to mean association ends, the text is not
accurate since the element name generated is based on the reference name for
the class which may differ from the association end name.3) Section 3.6 does not mention the creation of Association elements even
for the existing referenceless Association case.4) The DTD and document generation rules for Association elements are
unnecessarily heavyweight and inconsistent with the treatment of references
on classes. For example it does not make sense for an AssociationEnd element
to have the fixed xmi attributes; and it should be possible to dispense with
them completely: letting an Association element refer to the linked elements
using XML attributes. e.g. for association A with ends b and c, a link could
be represented as follows (b1 and c1 are xmi.id's): <A b=b1 c=c1 />). -
Reported: XMI 1.1 — Fri, 17 May 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
DTD's (01-04-03) for XMI 1.2
-
Key: XMI12-4
-
Legacy Issue Number: 5883
-
Status: open
-
Source: Eurostep AB ( Robert Noack)
-
Summary:
The DTD's (01-04-03) for XMI 1.2 does not correspond to the specification of the xmi.version attribute (section 3.5.3). This makes it difficult to detect whether XMI 1.1 or 1.2 was used to export a UML model.
-
Reported: XMI 1.1 — Tue, 11 Mar 2003 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
Invalid example model encoding XML
-
Key: XMI12-3
-
Legacy Issue Number: 5770
-
Status: open
-
Source: Telecommunity Consultants ( Phillip J. Eby)
-
Summary:
The example model encoding XML is invalid, according to the DTD that appears above it. It shows <Envelope.toAddress> and <Envelope.fromAddress> tags which are not as described in the DTD, instead of containing nested <Address> tags, as it should.
I found this confusing and in fact implemented code that handled parsing of erroneous constructs such as these because I thought I had misread the specification portions of the document. The error has been present since early versions of the XMI 1.1 specification.
-
Reported: XMI 1.1 — Sun, 1 Dec 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
3.6.5 Attribute Specification
-
Key: XMI12-5
-
Legacy Issue Number: 5547
-
Status: open
-
Source: Anonymous
-
Summary:
3) In "3.6.5 Attribute Specification" on site 3.17.
There is:
<!ELEMENT a EMPTY >
<!ATTLIST c.a xmi.value (enum1 | enum2 | .) #REQUIRED >Should be:
<!ELEMENT c.a EMPTY >
<!ATTLIST c.a xmi.value (enum1 | enum2 | .) #REQUIRED >The same error repeated on next site, where should be:
<!ELEMENT c.a1 (#PCDATA | XMI.reference) *>
<!ELEMENT c.a2 EMPTY >
<!ATTLIST c.a2 xmi.value (true | false) #REQUIRED >The same error repeated on bottom direct before note, where should be:
<!ELEMENT c.a EMPTY >
<!ATTLIST c.a xmi.value (enum1 | enum2 | .) #REQUIRED d > -
Reported: XMI 1.1 — Mon, 8 Jul 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
"3.6.1 Namespace Qualified XML Element Names"
-
Key: XMI12-10
-
Legacy Issue Number: 5545
-
Status: open
-
Source: Anonymous
-
Summary:
1) In "3.6.1 Namespace Qualified XML Element Names" on site 3.15. An example
uses inheritance, what is explained later, we should find another example. -
Reported: XMI 1.1 — Mon, 8 Jul 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
General question to "3.6.4 Inheritance Specification"
-
Key: XMI12-8
-
Legacy Issue Number: 5549
-
Status: open
-
Source: Anonymous
-
Summary:
General question to "3.6.4 Inheritance Specification": Why we declare all
XML elements and XML attributes direct under class C0 declaration and not as
parameter entity named like:<!ENTITY % C0.elem "C0.a0">
<!ENTITY % C0.ref "C0.r0">
<!ENTITY % C0.comp "C0.comp0"><!ENTITY % "C0.attr
a0 CDATA #IMPLIED
a1 CDATA #IMPLIED
r0 CDATA #IMPLIED
r1 CDATA #IMPLIED
>and then:
<!ELEMENT C0 (%C0.elem; | XMI.extension | %C0.ref; | %C0.comp*>
<!ATTLIST C0
%C0.attr;
%XMI.element.att;
%XMI.link.att;"
>and for third subclass analogical:
<!ELEMENT C3
(%C0.elem; | %C1.elem; | %C2.elem | %C3.elem | XMI.extension |
%C0.ref; | %C1.ref; | %C2.ref; | %C3.ref |
%C0.comp | %C1.comp | %C2.comp | %C3.comp )*>- >
<!ATTLIST C3
%C0.attr;
%C1.attr;
%C2.attr;
%C3.attr;
%XMI.element.att;
%XMI.link.att;"
>
Imagine how short would be the DTD of UML in such an format.
It can be even shorter if we declare only one entity for all subelements
like:<!ENTITY % C0.elem "C0.a0 | C0.r0 | C0.comp0 | XMI.extension">
<!ENTITY % C1.elem "%C0.elem | ... my own elements without XMI.extension ...
">and than any n-subclass:
<!ENTITY Cn "%C'n-1'.elem | ... my own elements without XMI.extension ...">
<!ELEMENT Cn (%Cn.elem*>analogical implified form for ATTLIST is applicable, the last example could
be:<!ENTITY Cn.attr "
%C'n-1'.attr
... my own elements without %XMI.element.att; and %XMI.link.att; ... ">
<!ATTLIST Cn
%Cn.attr;
> - >
-
Reported: XMI 1.1 — Mon, 8 Jul 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
Empty Fragment Identifier in Link
-
Key: XMI12-2
-
Legacy Issue Number: 5940
-
Status: open
-
Source: Zuehlke Engineering ( Frank Pilhofer)
-
Summary:
This is a feature request for the XMI 2.1 RTF. (Does
it have a mailing list? I'm crossposting to the XML
Schema FTF in case that list is still alive.)My base document is the proposed available specification
(ptc/02-06-03). (I did not find a later version.)Section 2.10.2, "Linking" specifies that "the URI
reference must be of the form URI#id_value, where URI
locates the XML file containing the XML element to link
to, and id_value is the value of the XML element's XMI
id attribute."I propose to add the feature that if the URI does not
contain a fragment, then the link is to the outermost
document element of the referenced file.This is a common use case, and allows linking to a
document that was provided by someone else and not
annotated with values for the optional xmi:id attribute.Therefore I propose to change the text in 2.10.2.1 (the
"Using the XMI href attribute to locate an XMI id" sub-
section):The URI reference must be of the form URI#id_value,
where URI locates the XML file containing the XML
element to link to, and id_value is the value of
the XML element's XMI id attribute.to
If the URI reference contains a fragment identifier
(as in URI#id_value), then the URI locates an XML
file, and the fragment identifier is used to locate
an XML element with the fragment identifier as its
XMI id attribute. If the URI reference does not
contain a fragment identifier, then the outermost
document element of the XML file is referenced.And to change, in 2.10.2.2 (the "Using an XLink simple
link and XPointer bare name to locate an XMI id" sub-
section) likewise:The value of xlink:href must again be a URI reference
of the form URI#id_value. In this case, id_value is
technically an XPointer bare name, but it looks just
like the id_value for the XMI href attribute.to
The value of xlink:href must again be a URI reference,
which is evaluated as above. If the URI reference
contains a fragment identifier, which is then
technically an XPointer bare name, then the fragment
identifier is used to locate an XML element with the
fragment identifier as its XMI id attribute in the
referenced XML file. If the URI reference does not
contain a fragment identifier, then the outermost
document element of the XML file is referenced. -
Reported: XMI 1.1 — Thu, 22 May 2003 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
Urgent XMI 2.0 issue: XML Schema Production
-
Key: XMI12-1
-
Legacy Issue Number: 5946
-
Status: open
-
Source: Mercury Systems ( Jim Kulp)
-
Summary:
This is an urgent XMI 2.0 issue. All section and page numbers are against XMI 2.0 (formal/03-05-02).
Section 1.11 (page 1-26) introduces the org.omg.xmi.attribute and org.omg.xmi.element tags to drive schema and document production so that a MOF attribute becomes either an XML attribute or subelement (or both, if both tags are false).
Chapter 3 (XML Document Production) explicitly evaluates these tags, in rule 3g (page 3-6) or rule 5 (page 3-9).
However, chapter 2 (XML Schema Production) does not mention these tags at all, so they are ignored by the schema production rules. Therefore, an XML Schema that is produced using these rules always contains attribute and element definitions for each MOF attribute.
To avoid this ambiguity, rules 4i and 4j should only be executed if org.omg.xmi.element is false. Rules 4d and 4e should only be executed if org.omg.xmi.attribute is false.
-
Reported: XMI 1.1 — Thu, 5 Jun 2003 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
3.6.4 Inheritance Specification
-
Key: XMI12-6
-
Legacy Issue Number: 5546
-
Status: open
-
Source: Anonymous
-
Summary:
2) In "3.6.4 Inheritance Specification" on site 3.17. What makes '%' in
first line of element declaration?:
<!ELEMENT % C1 (C0.a0 | C1.a1 | XMI.extension | C0.r0 | C1.r1 | C0.comp0 |
C1.comp1)* > -
Reported: XMI 1.1 — Mon, 8 Jul 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
XMI issue - referenceless composition does not export components
-
Key: XMI12-9
-
Legacy Issue Number: 5300
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
It's possible to create a composition without having a Reference from the
composite to the component. This is not obscure - a prime example of this is
in UML: a ModelElement owns Tags but has no reference to them.
The XMI production rules talk only about traversing composite references.Production by object containment is described as follows (section 5.3.1 of
XMI 1.2 formal spec):
"...XMI provides for XML document production by object containment. Given a
composite object, XMI’s rules define the XML document, which represents the
composite object and all the contained objects in the composition hierarchy
of which it is the root."
However the detailed rules will not achieve this if there is not a reference
from composite to component.It gets worse - moving onto Production by Package Extension, the text in
5.3.3 (bottom of p5-9) states:
"Then, the SimplePackageClass is traversed. For each RefObject instance, the
extent is examined. Any object that is not participating as a component in a
composition link becomes the starting point for generating XML."Because the components we're talking about DO participate as a component in
a composition link then these components will neither be starting points for
generating XML nor exported as part of their composition (since they are not
referred to by a reference). -
Reported: XMI 1.1 — Thu, 16 May 2002 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:15 GMT
Production by Package Extent Example in 00-12-05
-
Key: XMI12-43
-
Legacy Issue Number: 4212
-
Status: open
-
Source: University of Ireland ( Ronan Conlon)
-
Summary:
I was reading document 00-11-02, i.e. the XMI 1.1 specs, and I was a bit confused with the example of production by Package Extent on page 5-12.
Should the line which says, "Similarly, the second Node in the NodeClass extent..." actually say, "...the second Net in the NetClass extent... "???
There is no reference to PDT, one of the XMI.field values of the second Net object. Also, there seems to be no reference to NodeZ in the same XML, although NodeW is referenced again.
Are these typos??? Sorry for nitpicking
-
Reported: XMI 1.1 — Thu, 22 Feb 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
EmbeddedObject is misused
-
Key: XMI12-57
-
Legacy Issue Number: 3941
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Assuming that issue 3822 is resolved as Dave Frankel suggests, we have a
problem with the way that the EmbeddedObject production is used in other
productions; e.g. MvAttributeContents and SvAttributeContents. In these
cases (and possibly others), EmbeddedObject may generate embedded XML
for
a Class instance that needs to be referenced (via an xmi.idref)
elsewhere
in the document. But the EmbeddedObject production does not include the
necessary "xmi.id" attribute to make this work.The easiest solution is to get rid of the EmbeddedObject production
altogether, and replace all uses with ObjectAsElement. -
Reported: XMI 1.1 — Mon, 9 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Minor bug / typo in handling of References
-
Key: XMI12-52
-
Legacy Issue Number: 4032
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In the description of ReferenceAsElement in 9.5.5.1 on page 9-218, the
spec says:"When the Reference's multiplicity has an upper bound greater than one
... a lower bound of zero, the reference is checked to see if any values
exist."In reality, this check needs to happen >>always<<. Even in the [1..1] case,
the value may not exist if you are generating XML for an incomplete model. -
Reported: XMI 1.1 — Mon, 6 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
EBNF incomplete for Attributes with complex types
-
Key: XMI12-54
-
Legacy Issue Number: 4006
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The DTD EBNF for Attributes (e.g. production 4c on page 7-88) does not cover
the more complex DataTypes; e.g. arrays, sequences, structs, unions, TypeCode,
Any, Principal or object reference types. Similarly, the document EBNF for
Attributes (production 8d on page 9-205) fails to say how the corresponding
attibute values should be encoded. -
Reported: XMI 1.1 — Mon, 30 Oct 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Inconsistencies for classifier-level Attributes
-
Key: XMI12-47
-
Legacy Issue Number: 4086
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There are significant inconsistencies in the handling of "classifier-level"
Attributes by the XMI 1.1 spec.According to the DTD EBNF & pseudo-code, the <content> element should
contain a <pkg-name> element for the outermost package that contains
(some of) the classifier-level Attributes as XMI elements and/or XMI
attributes. Nested Packages and their classifier-level Attributes
are represented as nested XML elements withing the outer <pkg-name>
element.By contrast, the document EBNF etcetera do not output a <pkg-name>
element at all. Instead, all classifier-level Attribute values are
output as content elements of the <xmi.content> node. In fact, the
package nesting structure seems to disappear.In practice, the document production rules give a more convenient
XML notation. It is convenient to have all of the classifier elements
at the beginning of the contents, because they can be easily retrieved
to create the "package instance" that holds the elements described
by the rest of the document. By contrast, the DTD rules result in
a document in which you have to process the entire document before
you have the classifier-level Attribute values needed to create the
"package instance" object.It should also be noted that the DTD rules and the document rules are
variously unclear (or say nothing) about the handling of classifier-level
Attributes that belong to super-type Packages and clustered Packages.My recommended fix would be to standardise on the document rules with
the following change. The <xmi.content> element should contain a
<pkgname> element for the top-level Package. This should have xml
elements and attributes for all classifier-level Attributes in Classes
it directly contains or that it inherits. It should also contain
(recursively) elements for any clustered or nested Packages.This does four things:
- It allows the consumer to tell what kind of Package to generate
in all situations.
- It puts values for all classifier-level Attributes at the front
of the document.
- It means that encoding of classifier-level and instance-level
Attribute values is uniform.
- It avoids the trap of having two or more MOF Attributes in
a composed Package map to the same unqualified XML attribute
name of the top <pkgname> element. [If it wasn't for this,
we could collapse all classifier-level Attributes into the
top level <pkgname> element.]
- It allows the consumer to tell what kind of Package to generate
-
Reported: XMI 1.1 — Thu, 30 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Specification addresses only generation not consumption (medium)
-
Key: XMI12-34
-
Legacy Issue Number: 4599
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
The focus is exclusively on generation of XMI Documents and not on their
consumption: how is the consuming program expected to process/interpret
incoming XMI documents. Some specific questions:- in what order should the xmi.differences items be applied (compared to
the rest of the document and with each other); - how should an incoming document be matched/reconciled with existing
objects (in a repository) e.g. by uuid, xmi.id, some other nominated
property? What impact should the version number of the metadata (as opposed
to the metamodel) have? - to what extent should the absence of any links for a
references/composition/association be taken as meaning it should be empty
(and moreover that any existing links of that type for the object concerned
should be deleted) - what if hrefs to another document do not uniquely identify an element
(e.g. if xmi.label is used)?
The answers to these questions also have an impact for generators since they
will need to know the impact of various generation choices and be assured of
some consistency. If consuming programs can do what they like with the XMI
file then you lose interoperability.
- in what order should the xmi.differences items be applied (compared to
-
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Anomalies with References and ordered Associations.
-
Key: XMI12-48
-
Legacy Issue Number: 4067
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In trying to implement a consumers for ordered Associations, I've
come across the following anomalies caused by References.Consider the following metamodel:
package P {
{ reference r1 to a1_e2 of A1; }
class C1;
class C2
{ reference r2 to a2_e1 of A2; reference r3 to a1_e1 of A1; };
association A1
{ end set [0..*] of C1 a1_e1; end ordered set [0..*] of C2 a1_e2; }association A2
{ end set [0..*] of C1 a2_e1; end ordered set [0..*] of C2 a2_e2; }The first anomaly is with the "r2" Reference. Since this "refers to"
the unordered end of an Association, the "value" of the Reference does
not contain any ordering information. But, since the Association has a
Reference, the links for the Association won't be output in an
<association-name> element. In other words, the ordering information
for the Association links will be lost. This is a serious problem. [For
the record, there is nothing "wrong" with the meta-model either IMO]The second anomaly (or maybe it's just a "feature" ...) is with the
References "r1" and "r3". The problem is that while the xmi entities
generated for the "r1" Reference can be converted into links, this is
not true for the reverse "r3" References. Clearly, if I try to use
"add_links" on a C2 instance to set the "r3" Reference values, it is
next to impossible to get the ordering of the A1 links correct. This
makes the "r3" References next to useless ... as well as their being
redundant.My preferred resolution to this issue would be to simply remove all
handling of References from XMI, and represent all links in the
<association-name> element. -
Reported: XMI 1.1 — Tue, 21 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Include derived attributes and references in rule 6d in DTD production
-
Key: XMI12-42
-
Legacy Issue Number: 4248
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
DTD production rule 6d states that DTD declarations are made for only
non-derived attributes and references. This is inconsistent with the
document production rules that include derived attributes.Resolution:
Derived attributes and references in rule 6d are included in DTD
production. -
Reported: XMI 1.1 — Tue, 3 Apr 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
UML: Using public identifiers to denote DTDs
-
Key: XMI12-45
-
Legacy Issue Number: 4215
-
Status: open
-
Source: Humboldt-Universitaet ( Martin von Loewis)
-
Summary:
n order to exchange UML models by means of XMI, using an external DTD
subset is common to avoid including the DTD into each document. Usage
of SYSTEM identifiers should be avoided, since location of the DTD
might vary between installations.To detect that a document is based on a well-known DTD (e.g. the XMI
1.1 UML 1.4 DTD), a formal public identifier should be used. Since it
is likely that OMG will need a number of public identifiers, it would
be best if OMG could register an owner ID with ISO. With that, a
DOCTYPE declaration could read<!DOCTYPE XMI PUBLIC "+//<omg>//DTD UML 1.4 XMI 1.1//EN">
The procedure for registering public identifiers is defined in ISO
9070; registration authority is ANSI (and delegated to
GCA). Alternatively, an owner identifier can be derived through an ISO
6523 organization identifier (authority is BSI), or using the Annex J
IDN scheme. -
Reported: XMI 1.1 — Thu, 1 Mar 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Section 5.3 still uses old datatypes
-
Key: XMI12-40
-
Legacy Issue Number: 4580
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
The example in section 5.3 still uses the MOF 1.3 DataType system. Specifically DateTimeType should be an instance of StructureType which has StructureFields of 'time' and 'timezone'; and TokenColor as an instance of EnumerationType with labels attribute having values for (at lest) 'blue', 'green' and 'red'.
-
Reported: XMI 1.1 — Sun, 23 Sep 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Include Derived Attributes and References of Derived Associations
-
Key: XMI12-53
-
Legacy Issue Number: 3967
-
Status: open
-
Source: International Business Machines ( Dr. Daniel T. Chang)
-
Summary:
Topic: Include Derived Attributes and References of Derived Associations in
the XML DTD ProductionXMI 1.1 is not clear nor consistent with respect to inclusion of derived
attributes and references of derived associations in the XML DTD
production. As a result, some XMI RTF member believes they should be
included, while some other member believes they should not be included.To be consistent with MOF, MOF to IDL Mapping, and JMI (Java Metadata API,
a standard being developed under the Java Community Process), XMI should
include derived attributes and references of derived associations in the
XML DTD production.If not, XMI will limit its usefulness in addition to being inconsistent
with MOF, MOF to IDL Mapping, and JMI. For example, suppose age is a
derived attribute of class Person in some MOF-compliant metamodel. MOF to
IDL Mapping allows one to access or interchange age in IDL or any
programming language that has an IDL mapping. JMI allows one to access or
interchange age in Java. If XMI does not allow one to access or interchange
age in XML, then one would have to use something like XML Binding to Java
in conjunction with JMI to do so. The same goes for references of derived
associations.Therefore, if XMI does not allow inclusion of derived attributes and
references of derived associations in the XML DTD production, one would
have to use XMI to access or interchange most metadata information in XML
and use something like XML Binding to Java with JMI to access or
interchange derived metadata information in XML. This is simply
unreasonable. -
Reported: XMI 1.1 — Tue, 17 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Garbled descriptions in ObjectAsElement (page 9-204)
-
Key: XMI12-55
-
Legacy Issue Number: 3945
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There are some sub-productions of ObjectAsElement whose meaning I cannot
fathom. Specifically ElementAttributes may include a RefValueAtt that
is described as follows:The XML attribute for reference contains the XML ID of each referenced
object.Is this referring to the rendering of a Reference, or the rendering of
an Attribute whose type is a Class? In either case, how does this
square
with the sub-productions of ObjectContents on the next page?Or does it mean something else?
-
Reported: XMI 1.1 — Tue, 10 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
How to represent a "null" for a Class-valued Attribute?
-
Key: XMI12-60
-
Legacy Issue Number: 3936
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Suppose that my meta-model has a Class whose Attribute has another Class
as its value. How do I represent this attribute in an XMI document when
its value is a null object reference?According 9.5.4.2, the document should contain something like this:
<pkg.cls.attr>
<pkg.othercls xmi.idref="" />
</pkg.cls.attr>Unfortunately, this doesn't work as the empty string is not legal as an
IDREF value.As far as I can tell the 9.3 EBNF rules (e.g. production 7h) don't even
consider the case where an Attribute's type is a Class. -
Reported: XMI 1.1 — Thu, 5 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Tool interchange recommendation insufficient (major)
-
Key: XMI12-30
-
Legacy Issue Number: 4605
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Section 3.10 has the following significant issues:
- it treats xmi.uuids as interchangeable with xmi.externIDs. However the
latter is not defined as globally unique in the same way as uuids; - it provides no mechanism to cope with the common case where tools do not
support a globally unique id. - it requires that a tool knows whether a uuid was originally generated by
it but provides no mechanism to allow this. For example, in section 3.10.3
step 3, Tool1 needs to be able to recognize that the xmi.uuid "abcdefgh" was
generated by it, yet "X012345678" was not. No information is provided in the
file to allow this and it cannot be assumed that the format of the uuid can
identify the tool that generated it. - there are inconsistencies between the text and the XMI. Specifically step
2 should refer to xmi.uuid (instead of xmi.extenderID) of "X012345678" and
step 4 should refer to xmi.uuid (instead of xmi.extenderID) of "qrstuvwxyz"
- it treats xmi.uuids as interchangeable with xmi.externIDs. However the
-
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Problem with namespaces
-
Key: XMI12-14
-
Legacy Issue Number: 4847
-
Status: open
-
Source: Anonymous
-
Summary:
In any metamodel it is possible to specify an xmi namespace for a package using xmi.namespace tag, however the tag value seems to contain only the name of the namespace. How is the XMI writer supposed to know the URI of the namespace to be able to generate the namespace declaration into the XMI file?
Concrete example:
MOF has an xmi.namespace=Model tag attached to the Model package.
Now suppose I have a MOF metamodel and want to serialize it into the XMI. The XMI writer needs to declare Model namespace like this:
<XMI xmlns:Model="org.omg.mof.Model">
Where is the XMI writer suppose to get the "org.omg.mof.Model" thing to generate it into the XMI? It is not explicitly specified anywhere in the MOF 1.4 model. Or can I generate just any URI I like? -
Reported: XMI 1.1 — Wed, 20 Feb 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XMI: No way to specify the meta-meta-metamodel
-
Key: XMI12-28
-
Legacy Issue Number: 4646
-
Status: open
-
Source: Anonymous
-
Summary:
It seems for completeness sake, a "XMI.metametametamodel" element would need to be provided to specify the name and version of the metametametamodel (M3 model) being used. This is because XMI doesn't require that the M3 model be MOF. Even if the M3 model must be MOF, then it should still be possible to address which version of MOF is assumed.
Below is an excerpt from the M0-level "Department" model from XMI 1.2, Appendix A.4. I have corrected it (by adding the required "version" attributes and the XML header) and expanded it include a reference to the metametamodel and metametametamodel (using a new "XMI.metametametamodel" element I am proposing):
<?xml version='1.0'?>
<XMI version="1.1" xmlns:Department="edu.university/Department">
<XMI.header>
<XMI.model name="Chemistry" version="1.0"/>
<XMI.metamodel name="Department" version="1.0"/>
<XMI.metametamodel name="UML" version="1.4"/>
<XMI.metametametamodel name="Model" version="1.3"/>
</XMI.header>
<XMI.content>
<Department:Department name="Chemistry">
<Department:Department.instructors>
<Department:Professor name="Dr. Smith" xmi.id="Smith"/>
<Department:Postdoc name="Dr. Jones" xmi.id="Jones"/>
<Department:Lecturer name="Dr. Visitor" xmi.id="Visitor"/>
<Department:TeachingAssistant name="Fred" xmi.id="Fred"/>
</Department:Department.instructors>
</Department:Department>
</XMI.content>
</XMI>Basically, the new element would be defined just like
{XMI.model},
{XMI.metamodel}, and
{XMI.metametamodel}.
-
Reported: XMI 1.1 — Sat, 27 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
MOF structured types missing from XMI 1.2
-
Key: XMI12-18
-
Legacy Issue Number: 4817
-
Status: open
-
Source: Anonymous
-
Summary:
In keeping with the new MOF 1.4 specification, XMI 1.2 has removed all
references to the "old" MOF type mechanism based on CORBA IDL types. A
wonderful simplification of both MOF and XMI - no complaints!However, the new simplified MOF type concept has not been included.
Specifically: there are no explicitly stated rules for encoding
StructureType, AliasType or CollectionType.Probably linked to this is the fact that the pre-defined XMI elements
XMI.field, XMI.sequence and XMI.seqItem are stated to be "...used only when
required by the metamodel" [XMI 1.2, pp. 4-17]. And since they are never
referenced by the rest of the specification, this apparently means "never".It is of course not difficult to connect these two peculiarities and deduce
how the new MOF datatypes should be encoded, but it should really be stated
explicitly. -
Reported: XMI 1.1 — Thu, 31 Jan 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XMI issue - xmi.exporterId inconsistently used and undefined
-
Key: XMI12-20
-
Legacy Issue Number: 4790
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
xmi.exporterId inconsistently used and undefined
Section 3.5.8 includes an element declaration for xmi.exporterId. However it
is not included as a valid member of XMI.Documentation (the subject of the
section) either in 3.5.8 or 4.4, nor the description at the start of 3.5.8.
Although it is in production rule 3a.
(Nor incidentally is it mentioned at all in the XMI Production of XML
Schemas spec)Proposed Resolution
Since there appears to be no use for xmi.exporterId delete it from 3.5.2,
3.5.8, 4.4 and production rule 3a. -
Reported: XMI 1.1 — Mon, 17 Dec 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Unclear URI format
-
Key: XMI12-26
-
Legacy Issue Number: 4702
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Section 3.5.1.2, bottom of p3-7 states "The xmi.id attribute value can be
specified using a special URI form for XPointers defined in the XLink and
XPointer working drafts." It's not clear what this 'special form' is (and in
which working draft) and in any case XLink and XPointer are now
Recommendation and Candidate Recommendation respectively. -
Reported: XMI 1.1 — Tue, 20 Nov 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
bi-directional References and redundancy
-
Key: XMI12-46
-
Legacy Issue Number: 4068
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In addition to other anomalies with References, XMI's handling of
bi-directional References puts redundant information into an XMI
document. This redundancy adds unnecessary complexity for XMI
document consumers.Discussion:
For example, consider the following meta-model:
package P {
{ reference r1 to c2_end of A; }
class C1;
{ reference r2 to c1_end of A; }
class C2;
{ end set [0..*] of C1 c1_end; end set [0..*] of C2 c2_end; }
association A;
};An XMI document will represent a link between a C1 & C2 instance something
like this:...
<P.C1 id="id1">
<P1.C1.r1 idref="id2" />
</P.C1>
...
<P.C2 id="id2">
<P1.C2.r2 idref="id1" />
</P.C2>
...It may not be obvious, but when the References are bi-directional (i.e.
on both ends of an Association), one of them is actually redundant.So what?
The problem is that this introduces considerable complexity for an
XMI document consumer, especially if the consumer is to protect itself
against erroneous input.If the consumer assumes that the document is correct, it can statically
choose to use either the "r1" or "r2" information to reconstruct the
links. [The choice is more complex if the Association is ordered or one
end is not Referenced.] Note that you can't simply create links for any
References, since that will lead to duplicate links exceptions (or
worse).The risk with this approach is that the consumer may lose information if
the XMI document doesn't include elements for both References. For
example, if the input document was produced by hand ...It is therefore better for the consumer not to assume that the document
is correct. There are two options:1) Make sure that the "r1" and "r2" information is consistent. This
is complex, and probably entails building in-memory copies of
the links ... which may present scalability problems.2) Create links from the "r1" and "r2" information, catching and
ignoring any duplicate link exceptions. This has a couple of
problems:- If there are any inconsistencies, they won't be noticed.
- It doesn't work for ordered Associations because if you
add the link corresponding to a Reference that "refers to"
the unordered end first, you will trash the ordering
information.
My preferred resolution to this issue would be to drop all XMI handling
of References and represent the links in the <association-name> element. -
Reported: XMI 1.1 — Tue, 21 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Problems with section on Linking
-
Key: XMI12-35
-
Legacy Issue Number: 4598
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The section on Linking (3.8 in the XMI 1.2 RTF draft) has a number of
problems. In general, it doesn't explain the alternative link methods
clearly or give examples for all of them. It also seems to be offering
lots of alternatives where there is no obvious need to do this. Some of
the XLink/XPointer formats (e.g. "|descendant(...)" are now apparently
obsolete. Finally, much of the text of 3.8.2.x is ungrammatical and/or
generally hard to read. -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Directory structure for OMG standard XMI documents and DTDs
-
Key: XMI12-37
-
Legacy Issue Number: 4596
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
XMI documents for various OMG standards need to be made available
on the OMG web server in a properly organised directory structure.
The structure need to take account of different versions of the
"domain" standard, different versions of XMI and different versions
of MOF. It should cater for XMI documents and XMI DTDs, and
possibly other representations of metamodels, interfaces and so on. -
Reported: XMI 1.1 — Wed, 3 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Effect of xmi.import is unclear (medium)
-
Key: XMI12-33
-
Legacy Issue Number: 4601
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
The text just says that xmi.import 'identifies additional documents that are
needed to process the current document' but does not say what effect/benefit
the xmi.import has. For example, if one uses xmi.import to reference an
external file, does this make all the elements available in the same xmi.id
address space as the current document (hence it is an error if the imported
document has an xmi.id clash)? The example in A.3 still uses hrefs to refer
to an element (Department.xml#Instructor) in the imported file
Department.xml which implies that the xmi.import is completely redundant
since such an href can be used without the xmi.import being required.
Moreover the usage of the xmi.name and xmi.version attributes are not made
clear: is it a means of selecting a specific model from the referenced file?
(The example does not use version). What is the impact of referencing a
model compared to the other information that may be in the file? Can one
only import a model? Does the xmi.import fail if the file does not contain
the referred-to version of the Model? -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Incomplete rules for non-Primitive Datatype values
-
Key: XMI12-39
-
Legacy Issue Number: 4581
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
The EBNF for attributes does not make clear how the different MOF types are to be represented: it is clear for the PrimitiveTypes (via rule 7i) but not the others. For example, the use of xmi.field for StructureField values is only mentioned as part of the example in section 5. And it's not clear what difference there should be between multivalued attributes and those defined to be a CollectionType. And the nesting of DataTypes should also be addressed (e.g. a StructureField has as its datatype another Structure or CollectionType). Specifically 7h should make it clearer that XML Elements must be used for model attributes with non-Primitive datatype (except if the DataType is an Alias for a PrimitiveType?), as well as for multi-valued attributes. And 8e wrongly states that if not a PrimitiveDataType then "the <AttribContent> is a Class and the <AttribContent> is the Class object". There should be a clear table for all the MOF DataTypes as provided for the PrimitiveTYpes in 7i.
-
Reported: XMI 1.1 — Sun, 23 Sep 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
DTD element content and multiplicities versus compliance.
-
Key: XMI12-58
-
Legacy Issue Number: 3901
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In XMI 1.0, the DTD generation rules give a DTD that "tightly" specify
the element content and multiplicities for Attributes according to the
meta-model types and multiplicities. In XMI 1.1, the generation rules
(at least the EBNF version) "loosen" the element content and
multiplicity.The current XMI conformance rules have the effect that an XMI 1.0 DTD is
not conformant to XMI 1.1. Is this intentional? Should 11.2.1 bullet
point 4 be amended to account for different degrees of looseness?I argue that:
1) Tighter DTDs should in general be compliant. A "tight" DTD that
constrains element content to meta-data that matches a meta-model
shouldn't be deemed non-compliant. The real point of XMI DTDs is
to ensure supposed XMI documents contain meaningful metadata, as
far as possible. It is counter-productive to make it "incorrect"
for an XMI DTD generator to do a better job than the templates.2) A specific statement on backwards (in-)compatibility should be
added to deal with the sub-cases where XMI 1.0 DTDs are over-
constrained according to XMI 1.1; e.g. where the XMI 1.0 DTDs
constrain the order of elements representing Attributes. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Association elements when no immediate references
-
Key: XMI12-56
-
Legacy Issue Number: 3949
-
Status: open
-
Source: Google ( Don Baisley)
-
Summary:
The XMI 1.1 Specification says an Association elements is generated only if
there is no reference for the Association. But if the only references are
defined on subclasses of related types, then links could be created between
objects of the more general type, and those links cannot be passed via XMI
because there is no reference on the general type. Therefore, the
specification needs to state more precisely that an Association element is
generated in a DTD if it has no reference whose container is equal to the
type of the reference's exposedEnd. -
Reported: XMI 1.1 — Fri, 13 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
org.omg.xmi.enumerationUnprefix
-
Key: XMI12-12
-
Legacy Issue Number: 4944
-
Status: open
-
Source: GoodData Corporation ( Martin Matula)
-
Summary:
I have noticed that UML 1.4 metamodel heavily uses tag named
org.omg.xmi.enumerationUnprefix. The UML 1.4 metamodel that is on the OMG
server is in form of XMI 1.1. I could not find description of this tag in
XMI 1.1 spec. Is this tag described somewhere? Why is it used? IMHO it only
complicates the implementation of XMI readers/writers without any
significant reason. -
Reported: XMI 1.1 — Tue, 5 Mar 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Nonexistent '' used (minor)
-
Key: XMI12-31
-
Legacy Issue Number: 4604
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
'<ElementContent>' is used twice in rule 8a in section 6.2, but not defined
anywhere: presumably it should be <ContentElement>.Adoption of XLink specification (minor)
---------------------------------------------
There are several references (e.g. 3.5.10, XMI.metamodel) to the effect that
"this element is expected to become a simple XLink when the XLinks
specification becomes a recommendation of the W3C ". It has (in June 2001). -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XMI 1.2: Missing class scope in <7m:AttName>, pp. 6-6?
-
Key: XMI12-15
-
Legacy Issue Number: 4849
-
Status: open
-
Source: HiQ ( Thomas Schaumburg)
-
Summary:
Given a model "Acme" consisting of a class "Wiz", with a string-valued
attribute "name", two types of model instance encoding are possible. Either
this, using the <8a:ContentElement> production:<Acme:Wiz>
<Acme:Wiz.name>foo</Acme:Wiz.name>
</Acme:Wiz>or this, using the <7i:DataValueAtt> production:
<Acme:Wiz name="foo"/>
At best, the lack of a namespace and class scope identifier in the last
example is inconsistent. But I suspect that the inclusion of a class scope
in the former is intended to support instances implementing classes with an
overlap in attribute names - e.g.:// The Acme model:
{ attribute String name: }
class Baseclass Derived: Base
{ attribute String name; }(I'm not familiar enough with the MOF to know if this is allowed, but it
appears to be the only possible rationale for scoping attribute names in the
<8a:ContentElement> production)Using the <8a:ContentElement> production, a "Derived" instance is easily
represented:<Acme:Derived>
<Acme:Derived.name>foo</Acme:Derived.name>
<Acme:Base.name>bar</Acme:Base.name>
</Acme:Derived>However, using the <7i:DataValueAtt> production, things get ambiguous:
<Acme:Derived name="foo"/>
Which "name" value is being specified here? Base.name or Derived.name?
If the XML atrribute names were scoped, this would not be a problem:
<Acme:Derived Acme:Derived.name="foo" Acme:Base.name="bar"/>
-
Reported: XMI 1.1 — Wed, 20 Feb 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Appendix A, Example , the example is not valid UML.
-
Key: XMI12-25
-
Legacy Issue Number: 4647
-
Status: open
-
Source: Adaptive ( Mr. Gene Mutschler)
-
Summary:
OMG received a query last week about XMI, which I answered. The response
from the originator to my comments about his example were to the effect that
he took them from the XMI spec. I looked at the XMI spec (Appendix A,
Example 1) and found that the example is not valid UML.This is the second time that I'm aware of that someone has tried to use this
example in the UML environment and encountered problems, so it clearly needs
to be corrected. -
Reported: XMI 1.1 — Mon, 29 Oct 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
What IS this "General Datatype Mechanism" anyway?
-
Key: XMI12-17
-
Legacy Issue Number: 4819
-
Status: open
-
Source: Anonymous
-
Summary:
The XMI 1.2 spec - like its predecessor - extols the virtues of the "General
Datatype mechanism" [XMI 1.2, pp. 3-30], showing e few examples of how
useful it is.Maybe it's just me missing the point here: but what IS this mechanism, and
where is it defined?I have read the examples given on page 3-30 about 20 times, but I still
don't understand what is going on. -
Reported: XMI 1.1 — Thu, 31 Jan 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Unclear software compliance - see also issues 3887 and 3889
-
Key: XMI12-21
-
Legacy Issue Number: 4705
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Appendix C refers only to the conformance of XMI DTDs and Documents and
provides no statements regarding what it means for a software
implementation/tool to be conformant (except tangentially the first bullets
in C.2.2 and C.2.3 under Usage Compliance). Note that references under Usage
Compliance to early releases of many tools not supporting XML 1.0 are now
outdated and statements about 'conforming to the XML recommendation' are too
vague.Draft strawman resolution (needs to fully absorb myriad points in issue
3887)
----------------------------
Delete existing sections Usage Compliance under C.2.2 and C.2.3.Add new section C.3 Software Compliance Points
-----------------------------------------
To be "minimally XMI compliant for metamodel M" software must:- Produce XMI documents compliant with M (as defined in section C.2.2)
representing its 'internal' elements through the rules of at least one of
Containment or Package Extent. - Consume a XMI document compliant with M to create a new set of
'internal' elements. - Be at least 'non-validating processor' (as defined in the XML
Recommendation) with respect to a DTD compliant with M (as defined in
section C.2.2). - Support at least simple hrefs using xmi.id of the form outlined in
section 3.8.2.1.
To be "fully XMI compliant for metamodel M" software must:
- Produce XMI documents compliant with M (as defined in sections C.2.2 and
C.2.3) representing its 'internal' elements through the rules of at least
both of Containment or Package Extent. - Consume a XMI document compliant with M to create/update/delete an
existing set of internal elements. - Completely process a set of xmi.differences
- Be a 'validating processor' (as defined in the XML Recommendation) with
respect to a DTD compliant with M (as defined in sections C.2.2 and C.2.3). - Support all the href options outlined in section 3.8.2.1.
- Support tool interchange using the recommendation in section 3.10.
- Support the exchange of model fragments as described in section 3.7.
To be "minimally multi-metamodel XMI compliant" software must be minimally
compliant with any metamodel M (as defined above) for any MOF-compliant
metamodel. Additionally it must be able to generate a compliant DTD (as
defined in section C.2.2) for such a metamodel and support at least the XMI
MOF Subset outlined in section C.2.3.To be "fully multi-metamodel XMI compliant" software must be fully
compliant with any metamodel M (as defined above) for any MOF-compliant
metamodel. Additionally it must be able to generate a compliant DTD (as
defined in sections C.2.2 and C.2.3) for such a metamodel - Produce XMI documents compliant with M (as defined in section C.2.2)
-
Reported: XMI 1.1 — Tue, 20 Nov 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Outmoded use of '|' as separator
-
Key: XMI12-23
-
Legacy Issue Number: 4704
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
All uses of '|' as separator between URL and XPointer expression should be
replaced by '#'. -
Reported: XMI 1.1 — Tue, 20 Nov 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
[xmi] xmi.label / xmi:label
-
Key: XMI12-19
-
Legacy Issue Number: 4791
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
What is the intended purpose of the "xmi.label" attribute? The XMI
specs. don't seem to give it any semantics. They just say that the user
may put any value in the attribute.If my XMI processor that imports an XMI document and then serializes it
back out with all the "xmi.label" attributes removed or perhaps randomly
modified, would my processor be breaking any XMI conformance rules? -
Reported: XMI 1.1 — Mon, 17 Dec 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XMI does not document the tag used to determine XML Namespace
-
Key: XMI12-27
-
Legacy Issue Number: 4652
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
We should aim to fix this at XMI 1.3. I think it belongs in 3.6.1 (para 2)
as well as a (new) section that summarizes all the metamodel tags affecting
XMI. Also I think 3.6.1 is misleading in implying it's up to the DTD
Generator to use whatever namespace it likes and (potentially) ignore what's
specified in the xmi.namespace tag. -
Reported: XMI 1.1 — Wed, 31 Oct 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Reconsider XML attribute encoding of values in XMI 1.1
-
Key: XMI12-50
-
Legacy Issue Number: 4062
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
I want the XMI RTF to reconsider the XMI 1.1 change to the encoding
of simple data type values. My experience and that of some others
is that this makes implementation of XMI unnecessarily hard.Discussion:
In XMI 1.0, the rules for encoding simple DataType values were
relatively straightforward:- The value of an Attribute (whose type is a simple type) is
represented as the text content of the Attribute's element,
except for booleans and enums which are represented using
the xmi.value attribute.
- An embedded simple value (e.g. in a any, struct field, etc) is
represented the same except that boolean and enum values are
represented using the XMI.enum element.
This is pretty straightforward ... apart from the inconsistent
handling of boolean and enum.In XMI 1.1, the rules changed so that the XMI document producer
could put values of simple DataTypes into the xmi.value attribute.
The purported aim of this change was to allow more compact XMI
documents to be generated. [I woould argue this is a bad reason
for this change. Standard text compression algorithms would give
ten-fold better compaction than tinkering with XMI encoding.]Unfortunately, this change has some consequences that were not
apparent at the time:1) The rules for encoding values of Attributes got more complex.
For example, with character and string values, you apparently
need to see if the value contains 'problem' characters before
deciding whether to encode them as attributes or elements.[It does not help that the XMI 1.1 does not mention this. It
doesn't even bother even list the DataTypes that could be
encoded as XMI attributes!]2) The rules for decoding values are similarly complex. Indeed
more so, since the decoder cannot predict what choices the
encoder made.3) XMI 1.1 value encoding is apparently problematical for XMI
consumers that are implemented using XSLT. It has been
reported that having to look for an Attribute value in
two places is a serious problem.[The counter argument that XMI was not designed to be used
with XSL is bogus IMO. We should be supporting a wide spectrum
of modes of use for XMI. Besides, the XMI 1.1 spec specificly
mentions XSL in 4.3.6 with the implication that it is, or
will be supported!]4) Having to look in two places will be problematical for conformance
of hand-built XMI consumers. A hand built consumer will typically
be tested against one XMI producer which makes one set of choices
on encoding Attributes. If the consumer encounters an XMI document
generated by different producer software, the chances are that it
will break.These problems – particularly 3) and 4) – are sufficiently serious
that we should review the decision that XMI 1.1 made to allow simple
DataType values to be expressed in two ways. - The value of an Attribute (whose type is a simple type) is
-
Reported: XMI 1.1 — Mon, 20 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Encoding of strings and characters in XMI documents
-
Key: XMI12-51
-
Legacy Issue Number: 4046
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The document production rules for encoding of strings and characters (9.5.9.23
& 9.5.9.24) need to be clarified.They need to say how to encode significant whitespace characters so that they
don't get mangled by XML document builders and parsers. Leading and trailing
whitespace are particularly worrisome. One possible solution is surround the
entire character or string value with matching quotes, and say that anything
outside of the quotes is significant.They also need to say that characters and strings are encoded using ISO-10646
(as per 3.1.5). -
Reported: XMI 1.1 — Wed, 15 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XML attribute encoding of values underspecified
-
Key: XMI12-49
-
Legacy Issue Number: 4063
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Assuming that XMI 1.2 retains XMI 1.1's optional encoding of DataType
values as XML attributes, the specification needs to be fixed as follows:- It should list that DataTypes that can be encoded in two ways,
how they are encoded, and the meta-model and runtime contexts under
which this is legal.
- The spec should say how a decoder should deal with anomalies like
the following:
<some.attr xmi.value="1">1</some.attr>
<someother.attr xmi.value="1">2</someother.attr>
<multi.attr xmi.value="1" />
<multi.attr>2</multi.attr><string.attr xmi.value="hi">
</string.attr>Which (if any) of the above is legal?
- The spec should state explicitly that a decoder that does not
look in both the xmi.value attribute and the content is not
XMI 1.2 conformant. [Not that this helps much in practice :-(]
- It should list that DataTypes that can be encoded in two ways,
-
Reported: XMI 1.1 — Mon, 20 Nov 2000 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Composition Association problems
-
Key: XMI12-44
-
Legacy Issue Number: 4134
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
According to the DTD generation EBNF, a Class element contains embedded
<class-name> elements for Classes (and their subclasses) related as
components via composite Associations. According to the DTD generation
pseudo-code, the embedded elements are <reference-name> elements.
Neither of these approaches work properly: both fail for some valid and
meaningful meta-models.Discussion:
The first approach can fail when there is more than one composite Association
in the meta-model. For example:package P {
{ ... };
class C1
class C2 { ... };
association A1
{ composite end single C1 the_c1; end set [0..*] of C2 the_c2; };
association A2 { composite end single C1 the_c1; end set [0..*] of C2 the_c2; };
};The resulting DTD for this meta-model does not allow you to tell if a
a C1 instance that is related to a (component) C2 instance via an A1
link or an A2 link.The second approach fails if there is no reference to the component
Class from the composite Class. For examplepackage P {
{ // no reference to the_C2 of A1 }
class C1;
class C2
{ ... };
association A1
{ composite end single C1 the_c1; end set [0..*] of C2 the_c2; };
};Since there is no Reference from C1 to C2, there is no name for the
element. -
Reported: XMI 1.1 — Tue, 2 Jan 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Clarify that references to external documents can be virtual (minor)
-
Key: XMI12-36
-
Legacy Issue Number: 4600
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
It should be clarified that hrefs do not have to refer to physical XMI
documents that exist concurrently with the document to hand: the href could
refer to elements in a database or repository so long as, when the first
document is processed, the href can be navigated on demand to produce the
referred-to document or element in XMI form. -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Example in A.5 is misleading
-
Key: XMI12-38
-
Legacy Issue Number: 4582
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
The example 4 in Appendix A.5 is confusing/misleading and out of scope since the XMI is shown not as generated from an instance of the MOF Model but from an amalgum of UML and IDL metamodels for which no XMI mapping is defined!
Specifically the way that the Address <<struct>> is represented in both DTD and instances is NOT representative of how MOF StructureType datatypes are to be handled and this could mislead.
-
Reported: XMI 1.1 — Sun, 23 Sep 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
XMI document production rule 7c issue
-
Key: XMI12-41
-
Legacy Issue Number: 4505
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
XMI document production rule 7c. states that "The element tag name is the name of the namespace followed by the element name. For class, package and association instances, this name is the name of the type instantiated." It is not totally clear that this permits only the single type that was used to create/instantiate the item, as opposed to another type to which it might conform: in particular the 'target' type of the reference.
-
Reported: XMI 1.1 — Fri, 17 Aug 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
DTD rules unclear for attributes of subclasses.
-
Key: XMI12-61
-
Legacy Issue Number: 3890
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
This issue relates to the description of production 4c of the simple
DTD ruleset on page 7-88. The text says"If the Class has subclasses, the element name of each of its
subclasses
is included in the declaration".This is ambiguous.
Suppose that we are generating a DTD for a Package P1 that contains C1,
and there is also Package P2 that imports clusters or inherits from P1
and defines C2 as a subclass of C1. In each case, should the DTD
generated for C1 in P1 include declarations for C2 attributes, or not?If yes, how does the generator find out what packages import / cluster
/ subtype P1? Also, how does XMI deal with addition of (say) a new
importer of P1 after the DTD for P1 has been generated? (Does it
break?)If no, how do I represent in XMI a link in an Association in P1 that
has a C2 instance at one end?[I can guess some answers to these questions, but that isn't good
enough.
The spec should cover this Package composition issue here, or there
should
be a reference to some other part of the spec that deals with it.] -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Document production rules for "un-Referenced" Associations.
-
Key: XMI12-59
-
Legacy Issue Number: 3942
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The EBNF for an "un-referenced" Association on page 9-206 says that it
should be represented as follows:<...assocname>
<...assocname.end1name>
<...class1name xmi.idref="..." />
</...assocname.end1name>
<...assocname.end2name>
<...class2name xmi.idref="..." />
</...assocname.end2name>
...
</...assocname>This does not conform to the DTD generated by production 11 on page
7-93. -
Reported: XMI 1.1 — Mon, 9 Oct 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Example 4 in A.5 is obscure (minor)
-
Key: XMI12-32
-
Legacy Issue Number: 4603
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Several points, the first 3 of which seem to concern the implicit use of a
UML Profile which is not documented, and is not the UML Profile for CORBA
(ad/00-05-07) which one might expect to be used for this:
a) The diagram shows class Address with a stereotype of <<struct>> which is
presumably part of a stereotype uses a UML Profile which is not indicated or
documented in the CCM Spec referred to.
b) Para 2 states that "The Base IDL metamodel should subclass MOF:DataType."
which is not clear (a metamodel cannot be a subclass of a MOF Class). Later
on the statement is made that "Since Address is a definition of a struct, it
is an instance of the IDL metaclass StructDef" without any reasoning. This
would require a mapping between the stereotype in the UML Profile and an IDL
MOF model.
c) It's not clear how the example model would be created: UML requires the
'type' reference of an Attribute to refer to an instance of UML::Classifier.
Does BaseIDL.StructDef inherit from UML::Classifier? With the use of a
profile/stereotype one would end up with an instance of Class with an
attached stereotype of <<struct>>. There's a lot that's not made clear.
d) It would be far more useful to show a UML diagram for StructDef, or even
a fragment of MOF XMI, than a block of DTD which is not adequate as a
metamodel definition - especially in a specification that is supposed to
be describing how to create DTDs from a metamodel. -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
propose a new tag to be applied to metamodels
-
Key: XMI12-13
-
Legacy Issue Number: 4900
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
If we haven't already I think we need to propose a new tag to be applied to
metamodels which will contain the URI for the namespace (as opposed to the
namespace name which is given by the existing tag xmi.namespace).
e.g. xmi.namespaceURITwo main reasons for doing this:
a) automated generation of the DTD/schema for standards
b) (and more importantly) allow instance documents to be generated with the
right URI (which is obviously important) - without implementations having to
hardcode a value or guess (which is what they have to do currently). -
Reported: XMI 1.1 — Fri, 15 Feb 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
Adoption of XLink specification (minor)
-
Key: XMI12-29
-
Legacy Issue Number: 4606
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
There are several references (e.g. 3.5.10, XMI.metamodel) to the effect that
"this element is expected to become a simple XLink when the XLinks
specification becomes a recommendation of the W3C ". It has (in June 2001). -
Reported: XMI 1.1 — Mon, 8 Oct 2001 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
What is the idea of encoding package contents?
-
Key: XMI12-16
-
Legacy Issue Number: 4818
-
Status: open
-
Source: Anonymous
-
Summary:
Reading through the XMI 1.2 spec, I notice that a peculiar DTD production is
still there: the <9:PackageElementDef> on page 4-10.In short, this means that if I have say a very simplified UML metamodel,
containing only the "Core" package, containing the single empty class
"ModelElement", I will get the following DTD (fixed elements omitted):<!ELEMENT Uml:Core (Uml:ModelElement)*>
<!ATTLIST Uml:Core
%XMI.element.att;
%XMI.link.att;
>
<!ELEMENT Uml:ModelElement EMPTY>
<!ATTLIST Uml:ModelElement
%XMI.element.att;
%XMI.link.att;
>My problem here is this: why would you ever want to use the Uml:Core package
element? Since packages cannot be instantiated, there will never be a
package instance to serialize..And, interestingly enough, the XML document production part of the
specification never uses the package element either. -
Reported: XMI 1.1 — Thu, 31 Jan 2002 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
OMG XML Metadata Interchange issue
-
Key: XMI12-22
-
Legacy Issue Number: 4721
-
Status: open
-
Source: Anonymous
-
Summary:
On page 394 (/400) of your whitepaper on XMI, version 1.1, you have falsely stated that "UML, the" is an "acronym: The Universal Modeling Language". It is in fact an acronym for the UNIFIED Modeling Language.
-
Reported: XMI 1.1 — Fri, 30 Nov 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
UML conversion to MOF out of scope
-
Key: XMI12-24
-
Legacy Issue Number: 4703
-
Status: open
-
Source: Adaptive ( Mr. Pete Rivett)
-
Summary:
Section 3.11 last paragraph refers to "The convention for converting UML
classes to MOF datatypes". This is out of scope for XMI and belongs in UML
Profile for MOF which has now been standardized by OMG (as part of EDOC). -
Reported: XMI 1.1 — Tue, 20 Nov 2001 05:00 GMT
-
Updated: Wed, 11 Mar 2015 11:12 GMT
AssociationEnds without references
-
Key: XMI12-90
-
Legacy Issue Number: 3839
-
Status: open
-
Source: Google ( Don Baisley)
-
Summary:
Improvements to grammar for AssociationEnds that have no references.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
"Inputs" that define an XMI metadata interchange format.
-
Key: XMI12-62
-
Legacy Issue Number: 3896
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In XMI 1.0, an XMI metadata interchange format (i.e. the XMI DTD and
associated
encoding rules) was determined solely by the metadata's MOF meta-model.In XMI 1.1, various additions were made that meant that this is no
longer
the case. An XMI 1.1 format now also depends significantly on other
"input parameters". This includes:1) The XML namespace used to abbreviate element names
2) The so called "domain datatype meta-model" and its relations to
the main meta-model.3) Any custom rules for converting between data values and XML
strings.4) Whether the format supports complete meta-models or incomplete
meta-models.Since differences in any one of these parameters (or the MOF meta-model)
result in non-interoperable XMI formats, it is crucial that
meta-modellers
define the parameter values, explicitly and clearly. Without this,
implementation of "standard" XMI formats is a matter of guesswork.The XMI spec should say precisely what parameters effect the XMI
mappings,
and how they should be specified for a "standard" XMI format.The examples in the XMI spec, and particularly the Appendices should
state
what parameters have been used. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Miss-stated XMI compliance points.
-
Key: XMI12-64
-
Legacy Issue Number: 3887
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There are a number of problems with the XMI compliance statements:
1) These statements all refer to specific XMI documents and XMI DTDs.
There are no compliance statements for tools that generate DTDs and
documents. Not even a mention that they might exist.2) XMI DTD compliance -
- DTD generation assumes a MOF meta-model, yet there is not
mention
of input meta-models. Does this mean that all DTDs must be
equivalent? (Obviously not ... but you could read the statements
as requiring that.)
- The third bullet point refers to "one of the rule sets in Chapter
6". First, there are no rulesets in Chapter 6 (they are in
Chapter
7). Second, what happens if the rule sets give different
expanded
entities? Third, within one ruleset, does the EBNF or the
pseudo-
code take precedence in the event of a contradiction?
- The third bullet includes "content multiplicities" as one of the
items that must be identical in the expanded DTD. Yet the spec
says that multiplicities are optional (and is inconsistent in the
DTD rulesets; EBNF versus pseudo-code.)
- When comparing a DTD against a reference DTD to determine if it
is compliant, what else must be considered as an "input"? For
instance, for a given meta-model, an XMI DTD generated using
"fixed" data typing is clearly not equivalent to one generated
using the "complete" approach. So how do you measure compliance?
3) XMI document compliance -
- No mention of input meta-data. Must all documents be the same?
- How do you measure compliance when comparing two XMI documents
produced with different data type mappings?
4) Usage compliance -
What is this statement trying to say? That a tool is XMI compliant
if it complies to the XML recommendations?The bulleted point makes no sense as a "condition" under which XMI
documents must be used ...5) XMI MOF subset optional compliance -
Apparently, this is trying to make it "optional" to transmit complete
MOF meta-models in an "XMI for MOF" document.- The XMI spec has no business making this sort of statement. Such
statements are the sole business of the MOF spec ... and the MOF RTF.
- These are stupid restrictions anyway. A MOF implementation that only
supports the XMI MOF subset is not going to be able to exchange
meta-models with one the supports the full MOF Model.
6) XMI DTD optional compliance -
- The wording is horribly vague; for example
"XMI DTDs optionally conform to ... DTDs may support ... X .. or Y"
A lawyer would have a field day with this!
- The first bullet point says: "The definition of XML entities within DTDs
are suggested ...". This is not a compliance point. It is a vague
recommendation.
- The second bullet says: "Either all incomplete rules or no incomplete
rules should be supported". Then it says "Support for incomplete models
is an optional addition to the mandatory support for complete models".
a) Isn't this a contradiction? Doesn't the first sentence mean that
support for complete models is optional? Or does it mean something
else.b) Statements of non-optional functionality in this section are
misplaced. The last part of the last statement belongs in 11.2.1- The third bullet could be read as meaning that DTDs don't need to
support either mapping.
- The fourth bullet doen't make sense. What does "role" mean?
7) XMI Document optional compliance -
In general, how does an XML document "support" something?
- Bullet 1 is not a compliance point ... it is a weak recommendation.
- Bullet 2 is meaningless, given that "production" and "processing" of
XMI documents is apparently not covered by the earlier mandatory
compliance points.
- Bullets 3 & 4 leave open the interpretation that a compliant DTD
may conform to neither option.
- Bullet 5 – see Bullet 5 comments for DTD optional compliance
8) Usage optional compliance -
I don't think that the XMI spec has any business telling (optionally or
not) an implementor what XML parser APIs to use. We shouldn't even be
making recommendations. This is completely outside of the scope of the
XMI spec. - DTD generation assumes a MOF meta-model, yet there is not
-
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Editorial: remove unnecessary hitorical references.
-
Key: XMI12-71
-
Legacy Issue Number: 3879
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The XMI 1.1 specification contains numerous references to the way that
things
used to be in XMI 1.0, scattered throughout the document. For example,
on page 6-55, we see:"xmi.uuidref: This attibute is no longer used in XMI 1.1. In XMI
1.0, its
use is described in the following paragraph".It is not normal for OMG specs to include this kind of material.
Unless
there is a good reason for retaining it, it should be removed.The only justification for this kind of material is if there is a
converted effort to maintain backwards compatibility; e.g. the CORBA
core describes multiple versions of the IIOP formats. -
Reported: XMI 1.1 — Wed, 20 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Bug in pseudo-code for PackageDTD
-
Key: XMI12-69
-
Legacy Issue Number: 3867
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The pseudo-code for PackageDTD on p. 7-95 is inconsistent with the
EBNF. The EBNF states the requirements for when to generate a
CompositionDTD for an Association as follows: "The composition element
is generated for each Reference in the Package which has an exposedEnd
whose aggregation is composite." This means that if the one of the
AssociationEnds of a Association has an composite aggregation and the
referencing Reference's exposedEnd points to that same AssociationEnd,
only then should the composition element (CompositionDTD) be created.The pseudo-code makes a similar, but weaker requirement. It requires
only that an Association contains an AssociationEnd that has a composite
aggregation. In fact, this would create duplicate declarations of the
Reference XML element if the referencedEnd of a Reference has a
composite aggregation, which is clearly wrong. -
Reported: XMI 1.1 — Tue, 19 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
The "complete" approach to XMI data types must be optional
-
Key: XMI12-67
-
Legacy Issue Number: 3883
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The XMI 1.1 RTF added material to section 6.5.18 to allow XMI DTDs
to be defined (by the metamodeller) that use custom XML elements to
represent data values. This is the so called "complete" approach,
and is new in XMI 1.1.The description of the "complete" approach in section 6.5.18 and
elsewhere seems to allow XMI DTDs to be created by hand that cannot
be automatically generated from a meta-model. This means that the
"complete" approach cannot be implemented by a MOF / XMI vendor
without relying on proprietary extensions; e.g. a proprietary way
of telling XMI generators for import and export tools how to
encode / decode custom data strings.At a minimum the "complete" approach should be downgraded to an
optional
XMI compliance point in XMI 1.2 It could be argued that the material
should not have added in the first place, since:1) adding significant new functionality is beyond the scope of
an RTF, and2) incomplete specifications that rely on "magic" or on proprietary
extensions are forbidden. -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
XMI Tags
-
Key: XMI12-74
-
Legacy Issue Number: 3864
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The XMI 1.1 spec makes reference to a number of XMI specific Tags.
Unfortunately, they are underspecified, and have names that do not
conform to the MOF Tag naming conventions given in the MOF 1.3 spec
in section 3.4.23.To fully specify a Tag, you need to define the following:
1) The full tag name; e.g. "org.omg.xmi.data_type". (Note:
spelling!)2) The metamodel class(es) that the Tag may be attached to; e.g.
Model::Class3) The CORBA type and number of "values" (i.e. parameters) that a Tag
instance may have.4) The meaning of the Tag in all contexts that it is meaningful.
Finally, it would be a good idea if all of the XMI Tags were defined in
a
separate section ... possibly with cross references to the places where
they are used in production sets. -
Reported: XMI 1.1 — Tue, 19 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
XMI.reference suppression
-
Key: XMI12-76
-
Legacy Issue Number: 3851
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Allow the model to specify whether XMI.reference is allowed. Reduces size and simplifies DTDs for XML elements. Reduces mixed content from DTDs. Default would be to turn XMI.reference use off.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Example C Multiplicity
Usage of XMI for GIS ISO 19118/TC211
-
Key: XMI12-85
-
Legacy Issue Number: 3844
-
Status: open
-
Source: SINTEF ( Arne Berre)
-
Summary:
Identify and resolve issues for using XMI for data interchange of Geospatial System Interoperability data in ISO 19118/ ISO/TC211
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
XMI cross-version compatibility
-
Key: XMI12-86
-
Legacy Issue Number: 3843
-
Status: open
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
State the differences between versions and the modifications needed for a sender/receiver to handle previous versions.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Documentation of References in section 6.6
-
Key: XMI12-89
-
Legacy Issue Number: 3836
-
Status: open
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
Go through EBNF and be sure that each rule is documented in section 6.6. Accept.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
XMI MOF Subset" optional compliance point.
-
Key: XMI12-63
-
Legacy Issue Number: 3889
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
This compliance point (11.3.1) is worrying. It means that a compliant
XMI implementation may be capable of transmitting/receiving metadata
described by a legal and meaningful MOF meta-model. For example, the
MOF Model itself has a number of References where the Reference's name
and the corresponding AssociationEnd have different names. Thus, XMI
support for the MOF Model is optional. This is in violation of the
XMI RFP requirements, and contradicts the intention of other parts of
the spec.I suggest that the MOF and XMI RTFs jointly review the listed "optional"
MOF features in 11.3.1 with a view to either making them mandatory in
XMI, or removing them from the MOF Model in MOF 1.4. -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Section 6.12 needs rewriting.
-
Key: XMI12-70
-
Legacy Issue Number: 3878
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Section 6.12 deals with the mapping of meta-model DataTypes to XMI.
A key requirement of XMI was that XMI producer and consumer software
could generated from a meta-model, or written to be "table driven" using
the meta-model as input. Such software has to be compatible with any
hand-built XMI software built according to the spec. The problem with
Section 6.12 (as written) is that it seems to break this requirement.
(See point 4 below).By saying "This general solution ...", section 6.12 seems to try to
define a mechanism for tailoring XMI data type mappings. Unfortunately,
it is woefully inadequate as a specification. It is unimplementable as
written. -
Reported: XMI 1.1 — Wed, 20 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Editorial: Fix up the cross-references.
-
Key: XMI12-66
-
Legacy Issue Number: 3886
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There are a number of missing and broken cross-references in
ad/99-10-02.
For example:- the Glossary refers to "MOF 1.x",
- the Compliance chapter contains references to [SAX reference],
[XMI reference] and so on.
- the Compliance has a cross reference to "Section ." (sic) and
to "rulesets in Section 6" which should be 7.
And so on.
-
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
DTD generation rules for composed Packages.
-
Key: XMI12-68
-
Legacy Issue Number: 3882
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The DTD generation rules do not adequately cover Package importing,
clustering and inheritance.1) There are no references to clustering anywhere in the DTD
generation rules.2) There are allusions to the XMI.import element in Chapter 6 but no
proper explanation of how it is used. Other points need to be
clarified. For example, I can't work out how the DTDs allow you
to represent an instance of metamodel Class which has an Attribute
whose type is an imported Class.3) Package inheritance seems to be covered in the EBNF for DTD
generation and the corresponding pseudo-code. However, the
terminology is loose; e.g. refering to "Packages from which
this Package is derived" without stating whether "derived"
refers to the MOF::Model::Generalizes association. -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
DTD production clarifications for nested Packages
-
Key: XMI12-72
-
Legacy Issue Number: 3865
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
When a Package contains another Package:
a) If the containing Package contains an Association which is only
referenced in the contained Package, should the containing Package treat
it as an unreferenced or referenced Association?b) If the contained Package contains a child Class which inherits
from a
parent Class in the containing Package, should the DTD for the
containing
Package allow instances of the child Class? -
Reported: XMI 1.1 — Tue, 19 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Status of pseudo-code in Chapter 7
-
Key: XMI12-75
-
Legacy Issue Number: 3863
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
It is not clear whether or not the pseudo-code and accompanying text in
7.2.2, 7.2.3 and so on is intended to be normative.Chapter 7.1 states in the second paragraph:
"... In XMI 1.1, these rule sets are stated formally in EBNF. The
pseudo-code that was used to state these rules in XMI 1.0 remains
for reference and explanatory value."This implies that the pseudo-code is non-normative. But it doesn't say
so clearly.It is necessary to clarify this point in order to decide how to deal
with the (numerous) inconsistencies between the EBNF and the
pseudo-code. -
Reported: XMI 1.1 — Tue, 19 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
XMI.content declaration
-
Key: XMI12-79
-
Legacy Issue Number: 3852
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Allow the content of XMI.content to be declared in the model instead of ANY for more readily validated and edited documents.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Allow suppression of reference serialization
-
Key: XMI12-77
-
Legacy Issue Number: 3850
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Allowing the suppression of reference serialization on one side of an association reduces redundancy of information. Allows one side of a cross-file relationship to be updated without requiring a write update to the other side. Declaration is made in the model.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Containment as links
-
Key: XMI12-80
-
Legacy Issue Number: 3848
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Requiring containment to use nested elements creates DTDs with large copydowns. Containment using attribute references would simplify DTDs as an option to be stated in the model.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
QName for XML attribute values
-
Key: XMI12-83
-
Legacy Issue Number: 3846
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
XML Namespaces includes a Qname for XML attributes that allows cross-document references. Supplements XML element href cross-file links.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Appendix C example
-
Key: XMI12-84
-
Legacy Issue Number: 3841
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Portions of the example are inconsistent
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Open DTD content for subclasses
-
Key: XMI12-87
-
Legacy Issue Number: 3840
-
Status: open
-
Source: Google ( Don Baisley)
-
Summary:
"Since DTDs are not extensible for subclasses, add the ANY element to containment content for future subclasses. See issue 126 for another solution."
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Examples with references confusing.
-
Key: XMI12-88
-
Legacy Issue Number: 3837
-
Status: open
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"The example for document serialization uses references with different names than the assocation ends, which is confusing (although legal)." Accept. Create simpler examples.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Reference to deleted text on fully qualified names.
-
Key: XMI12-92
-
Legacy Issue Number: 3827
-
Status: open
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
106 resolved clarification minor Dave Frankel Reference to deleted text on fully qualified names. "Section 8.3.1 on p. 8-189, the second paragraph begins with: ""Note that all names in XMI are fully qualified, based on the MOF description of their metamodel."" This appears to contradict 6.6.1" Accept. The sentence will be dropped. -
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Element Identification Attributes
-
Key: XMI12-93
-
Legacy Issue Number: 2924
-
Status: open
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
This is in regard to section 6.5.1 of 98-10-05 which has the following declaration at the beginning:
<!ENTITY % XMI.element.att
’xmi.id ID #IMPLIED
xmi.label CDATA #IMPLIED
xmi.uuid CDATA #IMPLIED ’ >Since MOF 1.3 makes it mandatory that ref_mof_id return a unique id for a metaobject it seems that xmi.id ID should be required rather than implied.
-
Reported: XMI 1.1 — Thu, 7 Oct 1999 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
The UML and MOF DTD appendices are poor examples.
-
Key: XMI12-73
-
Legacy Issue Number: 3881
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Section 6.11 of the XMI 1.1 spec deals with the UML DTDs generated using
XMI. Appendix A contains the complete UML 1.1 DTD. Appendix B contains
the MOF 1.1 DTD.If this hasn't happened already, responsibility for these DTDs should
be transferred to the their respective RTFs. The MOF and UML DTDs
should be removed from the XMI spec.In my opinion, the UML and MOF DTDs are both too large to be good
examples
for XMI. We should come up with a set of smaller examples that
illustrate
how XMI works with complex meta-models, and how you use the various
"bells
and whistles" for tailoring the XMI mappings. -
Reported: XMI 1.1 — Wed, 20 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
DTD generation for DataTypes with typecode.kind == tk_alias
-
Key: XMI12-65
-
Legacy Issue Number: 3884
-
Status: open
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The pseudo-code on page 7-97 does not address this case.
-
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Specifying Attributes vs Elements
-
Key: XMI12-78
-
Legacy Issue Number: 3849
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Allow the model to specify serialization as XML attributes or XML elements. Removes duplicate declarations in DTDs (and Schemas when available). Requires issue 124 to support cross-doc links from XML attributes.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Additional examples
-
Key: XMI12-81
-
Legacy Issue Number: 3847
-
Status: open
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
More examples would clarify the specification.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Updated: Wed, 11 Mar 2015 11:11 GMT
Typo in applicability scenarios
General inconsistencies between EBNF and pseudo-code in Chapter 7
-
Key: XMI12-108
-
Legacy Issue Number: 3866
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
1) The pseudo-code specification in 7.2.2 contains embedded EBNF, that
is quite distinct from the earlier EBNF. It uses different lexical
conventions (e.g. 'S' and 'Q' meta-syntactic elements), the productions
have different numbering, and the non-terminal symbols are different.
The two sets of EBNF should be identical.2) All "," comma separated lists defined in the pseudo-code should be
replaced with "|" separated lists.3) Multiplicities for XML elements affect the DTD according to the
pseudo-code, but not according to the EBNF. The text of 6.6.5 (last
para) implies that the EBNF is correct. Fix the pseudo-code.4) In the pseudo-code, it is unclear whether the phrase "parent Package"
means the Package containing the given Package, or a Package this
Package inherits from, or both. For example, in the description and
pseudo-code for GetClassLevelAttributes. -
Reported: XMI 1.1 — Tue, 19 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Element name based on feature instead of class
-
Key: XMI12-107
-
Legacy Issue Number: 3854
-
Status: closed
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
Would allow more flexible customization of XMI serialization by supporting both of the most common serialization preferences.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close, no change
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Question of XML element declarations
-
Key: XMI12-100
-
Legacy Issue Number: 3830
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
Question if both XML element and XML attribute declarations are meant to be defined. No change. The declarations present in the text are intentional.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
No change. The declarations present in the text are intentional
-
Updated: Fri, 6 Mar 2015 20:59 GMT
"Define ""short name"""
-
Key: XMI12-99
-
Legacy Issue Number: 3829
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"Section 6.6.1, the first sentence of the first full paragraph on p-67 uses the term ""short name""" "Accept. Omit the reference to ""short name."" "
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Accept. Replace "short name" with "name".
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Use of UUIDs and MOF UUIDs needs expansion.
-
Key: XMI12-103
-
Legacy Issue Number: 3833
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
. Item 20/2924 of XMI 1.1 RTF was not fully completed. Apply to sections 6.5.1 and rule 7e of document production. Accept. Clarify the use of UUIDs.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
OCL and pseudo-code not updated
-
Key: XMI12-102
-
Legacy Issue Number: 3832
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"The OCL and pseudo-code ""maintained for reference"" are not updated to XMI 1.1. Example, Section 9.5.4" .
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Clarify multiplicity in the XML element declaration.
-
Key: XMI12-97
-
Legacy Issue Number: 3825
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"The reference in the ""except"" clause of ""Association Specification"" in section 6.6.6 is not consistent with ""Containment Specification"" in section 6.6.7." Accept. The except clause will be dropped.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
The except clause will be dropped.
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Clarify multiplicity in the XML element declaration.
-
Key: XMI12-96
-
Legacy Issue Number: 3824
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"The reference in the ""except"" clause of ""Association Specification"" in section 6.6.6 is to text that was removed." Accept. The except clause will be dropped.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
The except clause will be dropped
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Nested classes
-
Key: XMI12-106
-
Legacy Issue Number: 3853
-
Status: closed
-
Source: International Business Machines ( Mr. Tim Grose)
-
Summary:
Nested classes currently do not follow the even/odd standard progression of element nesting. Add an intermediary element.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close, no change
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Backwards compatibility
-
Key: XMI12-105
-
Legacy Issue Number: 3838
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
The XMI RTF meeting in Mesa had consensus that the extra declarations for element attributes for backwards compatibility with XMI 1.0 are no longer needed.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
MOF and UML tagged value alignment.
-
Key: XMI12-104
-
Legacy Issue Number: 3834
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
Question if both MOF and UML were defining the same tag values for initialValue. No change. This is a DTD initialValue which differs from UML's initial value.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
No change. This is a DTD initialValue which differs from UML's initial value
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Clarify of fixed DTD declarations requirement.
-
Key: XMI12-95
-
Legacy Issue Number: 3823
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
Fixed DTD declarations for CORBA need to be clarified in 6.2.2 compared to 6.5.18 and 7.5. "Accept - see AB issues sheet. Clarify to indicate only the required elements in section 7.5."
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
OCL and pseudo-code not updated
-
Key: XMI12-101
-
Legacy Issue Number: 3831
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
"The OCL and pseudo-code ""maintained for reference"" are not updated to XMI 1.1. Example, Section 7.2.2" Accept. The OCL and pseuo-code will be removed.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Pseudo-code for GetReferenceMultiplcity needs updating.
-
Key: XMI12-98
-
Legacy Issue Number: 3826
-
Status: closed
-
Source: David Frankel Consulting ( David Frankel)
-
Summary:
Multiplicity should match 6.6.2. EBNF takes precedence. Accept. The Pseudo-code will be dropped.
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete pseudo-code.
-
Updated: Fri, 6 Mar 2015 20:59 GMT
How does an XMI document represent multi-valued attribute values?
-
Key: XMI12-119
-
Legacy Issue Number: 3902
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
How does an XMI 1.1 document represent multi-valued attribute values?
{'string1', 'string2'}?
For example, suppose we have an attribute "foo" with type == 'string'
and multiplicity of '0..*'. How do you represent this attributes
value when it contains multiple strings; e.g.
There seem to be three different answers according to Chapter 9.
The EBNF on page 9-205 is unclear, but it seems to be saying that it
would look something like:
<pkg.cls.foo>
<pkg.cls.foo> string1 </pkg.cls.foo>
<pkg.cls.foo> string2 </pkg.cls.foo>
</pkg.cls.foo>
though the following could be valid also:
<pkg.cls.foo>
<pkg.cls.foo> string1
<pkg.cls.foo> string2 </pkg.cls.foo>
</pkg.cls.foo>
</pkg.cls.foo>
The EBNF on pages 9-217 and 9-221 seems to say:
<pkg.cls.foo> string1 string2 </pkg.cls.foo>
This leaves us with a problem in distinguishing {'string1', 'string2'}from
{'string1 string2'}.
On OCL on pages 9-217 and 9-221 seems to say:
<pkg.cls.foo>
<XMI.seqItem> string1 </XMI.seqItem>
<XMI.seqItem> string2 </XMI.seqItem>
</pkg.cls.foo> -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
More multiplicity inconsistencies in DTD ruleset 1
-
Key: XMI12-118
-
Legacy Issue Number: 3900
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There are inconsistencies between the EBNF and pseudo-code with respect
to handling of multiplicities in EBNF productions 6f, 9c, 9d and 12c.
Typically the EBNF us a '|' separated list and the pseudo-code uses ','
or a mixture of '|' and ','. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Encoding of "any" values in XMI
-
Key: XMI12-120
-
Legacy Issue Number: 3953
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The XMI document production rules for the encoding of CORBA "any" values
have the following problems:1) The EBNF rules added in XMI 1.1 (page 9-205 of ad/99-10-02) say
*nothing* about how to encode an "any" value ... or a TypeCode for
that matter.2) The encoding of TypeCode information for an Any value is different
from the encoding of a bare TypeCode value. IMO, this is an
unnecessary optimisation (saves only a few bytes over referring
to TypeCodes by some kind of idref). It has the disadvantage
of making implementation more complex.3) The TypeId production is a bit broken:
a) A literal reading of the AnyValue and TypeId productions
says that an "any" value can be encoded with no type
information. In fact, the 'empty' third case of the
TypeId should be deleted ... or better, the TypeRef
production should be folded in.b) The second branch of the TypeId production uses a "xmi.name"
attribute to refer to a TypeCode via its fully-qualified
DataType name. I don't know how an XMI document consumer
is going to resolve such a reference. Please explain!Wouldn't it be better to use the TypeCode repository id?
c) In the second branch again, if a TypeCode is identified
by an "xmi.name" attribute, the "xmi.kind" attribute is
redundant.4) The CorbaTypeName production (9.5.10.2) is incompletely
specified. It says "deduce pattern from above" ... but I can
think of more than one plausible "pattern". -
Reported: XMI 1.1 — Mon, 16 Oct 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Encoding a union value that has no field value.
-
Key: XMI12-122
-
Legacy Issue Number: 4001
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Consider the following CORBA union type:
union Foo switch(long)
{ case 1: boolean one; case 2: char two; };
The production rules in 9.5.7.4 and 9.5.9.9 do not say how a "Foo" value
should be encoded in an XML document when the discriminator is (say) zero.
(The OCL for 9.5.9.9 will give an exception in CORBA 2.3 in this case.)Should the Foo value be encoded in XMI as:
<XMI.unionDiscrim>0</XMI.unionDiscrim>
or
<XMI.unionDiscrim>0</XMI.unionDiscrim>
<XMI.field></XMI.field>or something else?
-
Reported: XMI 1.1 — Fri, 27 Oct 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes.
-
Updated: Fri, 6 Mar 2015 20:59 GMT
DTD productions for names of Classes in nested Packages
-
Key: XMI12-121
-
Legacy Issue Number: 3990
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There is an inconsistency between the EBNF and pseudocode that
generates DTD element declarations for Classes. According to
the EBNF (production 6a) the element name is the "name of Class"
preceded by an optional namespace. According to the EBNF, the
element name is a the qualified Class name.There are two issues:
1) If we follow the EBNF and use an unqualified name, there is
a risk of name collision when there are Classes in nested Packages.2) If we follow the pseudo-code, we lose the namespace prefix.
-
Reported: XMI 1.1 — Tue, 24 Oct 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Why do we need 3 XMI DTD rulesets?
-
Key: XMI12-111
-
Legacy Issue Number: 3885
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The XMI spec currently defines 3 rulesets for generating DTDs for
meta-models. The rulesets give different DTDs, but they are all intended
to match (i.e. be capable of validating) the document production rules
in Chapter 9.Given that the 3 kinds of DTDs are equivalent, why do we need them all?
The point of XMI is the interchange of metadata, not the generation of
pretty DTDs. Indeed, the XMI DTD compliance section (11.2.1) makes
it clear that any DTD that expands to the same form is compliant.I suggest we just delete the compact DTD rulesets, and leave the
implementation of "pretty" DTDs as an exercise for the implementor
to undertake ... or not. The alternative is that we must ensure that
any changes / corrections are made to the simple ruleset are made to
the other two rulesets. -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Remove DTD rule sets 2 and 3 in chapter 4
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Multiplicities inconsistency in the DTD rulesets
-
Key: XMI12-110
-
Legacy Issue Number: 3880
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The pseudo-code in DTD ruleset 1 for Attributes and References generates
DTDs in which '?', '+' or '*' may be generated depending on the
element's
multiplicity. The earlier EBNF uses '*' only. -
Reported: XMI 1.1 — Wed, 20 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Which Classes doe PkgClasses include?
-
Key: XMI12-114
-
Legacy Issue Number: 3892
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There is a discrepancy between the text describing EBNF production 9e
and the corresponding pseudo-code. According to the EBNF description,
only Classes directly contained by this Package or Classes directly
contained by this Package's direct and indirect super-Packages are
included. According to the pseudo-code (e.g. GetPackageClasses on
page 7-113), Classes from containing Packages and their super-Packages
are also included. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Description of ClassReferences and ClassCompositions productions
-
Key: XMI12-113
-
Legacy Issue Number: 3891
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
This relates to productions in DTD ruleset 1
1) In 6f, what on earth is "an ownedElement of a Class"? This is not
a recognisable MOF meta-modelling concept.2) In 6f, what subclasses need to be included? Those declared in
this
Package? In nested Packages? In Packages that import, cluster
or inherit this Package? More?3) In 6e, how come you don't also include names of subclasses of the
types of the References? -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
DTD attributes for AssociationEnds in un-referenced Associations
-
Key: XMI12-117
-
Legacy Issue Number: 3895
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
According to EBNF productions 11c & 1a, an AssociationEnd in an
un-referenced
Association is represented as "%XMI.element.att;%XMI.link.att".
According
to the pseudo-code, it is just "%XMI.link.att". -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Does PkgContents include XMI.extension?
-
Key: XMI12-116
-
Legacy Issue Number: 3894
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
This relates to DTD ruleset 1 production 9c. According to the EBNF, the
XMI.extension element is present in the Package contents. According to
the pseudo-code (p 7-100) it is not included. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Does PkgPackages contain nested Packages from super-Packages?
-
Key: XMI12-115
-
Legacy Issue Number: 3893
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
There is a discrepancy between the text describing production 9g of DTD
ruleset 1, the pseudo-code for getContainedPackages and its description.
The first two say that PkgPackages contains any nested Packages from
super-Packages, but the description for getContainedPackages does not
mention this.Also, it is not crystal clear what "nested Packages" means in 9g (and
by extension in other places). It should mean all Packages that
are directly or indirectly contained by a Package., but this needs to
be spelled out somewhere. -
Reported: XMI 1.1 — Fri, 22 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Multi-valued Attributes in the simple DTD ruleset
-
Key: XMI12-109
-
Legacy Issue Number: 3876
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The EBNF (4d, 4f) and pseudo-code for Attribute contents in the simple
DTD ruleset seem to support multi-valued Attributes in different ways.
In the EBNF, "attribute contents" have an enclosing "( )*" in the two
cases that matter. By contrast, in the pseudo-code, the "( )*" 's are
sometimes present and sometimes absent.I think the EBNF is probably correct.
There are also some minor meta-syntax errors in the pseudo-code;
e.g. missing quotes. -
Reported: XMI 1.1 — Wed, 20 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Inconsistencies in ClassElementDef for DTD ruleset 1
-
Key: XMI12-112
-
Legacy Issue Number: 3888
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The EBNF seems to be generating "|" separated lists for the
contents of a Class, but the pseudo-code generates "," separated lists.
This seems to occur with the attribute and reference lists as well
as the overall contents list.In the pseudo-code, 'GetAllReferences' returns all References, but the
EBNF excludes those References whose exposedEnd is composite. -
Reported: XMI 1.1 — Thu, 21 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete OCL and pseudo-code
-
Updated: Fri, 6 Mar 2015 20:59 GMT
P 9-175, question regarding EBNF
-
Key: XMI12-94
-
Legacy Issue Number: 3822
-
Status: closed
-
Source: Anonymous
-
Summary:
In the XMI spec, on page 9-175, it says that EmbeddedObject serves as an alternative to ObjectAsElement for cases where an identifier is not required (i.e. the object participates in no links). However, the EBNF says that an ObjectAsElement is included between the tags (The OCL uses ObjectContents). Can I assume that this is a problem with the XMI spec, and that it should be ObjectContents?"
-
Reported: XMI 1.1 — Wed, 13 Sep 2000 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Removal of obsolete pseudo-code (section 6.4).
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Explain Possible Uses of Entity Definitions in XMI DTDs
-
Key: XMI12-128
-
Legacy Issue Number: 4432
-
Status: closed
-
Source: International Business Machines ( Mr. Tim Grose)
-
Summary:
Since the DTD rule sets 2 and 3 have been removed, along with the
pseudo-code, a discussion of the possible uses of entity definitions in XMI
DTDs should be included in the specification to help people implement XMI
DTD generation. -
Reported: XMI 1.1 — Mon, 30 Jul 2001 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Completeness of TypeCode and Any support
-
Key: XMI12-126
-
Legacy Issue Number: 4122
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
The "fixed elements" for XMI.CorbaTypeCode in sections 6.5.18 & 7.5 are buggy.
There is no element for the "unsigned long long" TypeCode, and the element
for the "fixed" TypeCode is not allowed in XMI.CorbaTypeCode.In addition, we should consider extending XMI's support of TypeCodes and
Anys to cover the "value" types added in CORBA 2.3. [We don't need to
handle Attributes with "value" types at this stage because MOF doesn't
support this in meta-models.]Editorial: The "fixed" DataType DTD elements appear BOTH in section
6.5.18 and in section 7.5. Could we replace the former with a reference
to the latter? -
Reported: XMI 1.1 — Thu, 14 Dec 2000 05:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes
-
Updated: Fri, 6 Mar 2015 20:59 GMT
XMI handling of type info for CORBA any -- too complex
-
Key: XMI12-125
-
Legacy Issue Number: 4045
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
In trying to implement the production rules for representing CORBA anys in XMI
document, I've concluded that the current definition is unnecessarily complex.
This impacts on the producer and consumers of XMI documents in (I believe)
unforseen ways.Currently, the TypeCode information for an 'any' can be represented in a
number of ways according to 9.5.7.12 & 9.5.8.1:1) If the type is primitive, it is represented by the 'xmi.kind'
[or 'xmi.type' according to 6.5.18] attribute of the XMI.any element.2) Otherwise, if the type is defined in the source meta-model, it is
represented by the "xmi.name" attribute. This gives a qualified
name of a DataType in the meta-model.3) Otherwise, the type is represented as an "href" attribute. This
presumably must link to an XMI.CorbaTypeCode element elsewhere
in the current document or in another one. [The spec doesn't say
this, but this interpretation makes sense.]The first case works, though it does mean that simple types are represented
differently depending on their context (see 9.5.8.15). [This is not good,
but it isn't hard to handle.]The second case is rather problematical:
- The XMI.any will also have an "xmi.kind" attribute, but this attribute
won't be correct for a CORBA any whose type is a tk_alias.
- More importantly, generating and resolving the qualified name
requires that the producer and consumer to have the meta-model
at their disposal at runtime. Or at least to know the mapping
between DataType qualified names and TypeCodes.
- Mapping from TypeCodes to qualified names is expensive because
the standard CORBA TypeCode API does not provide a hash function.
- Finally, it is unclear what model of "equality" of TypeCodes
should be used. This is significant because the MOF does tricky
things with repository ids in embedded TypeCode values that
mean that the TypeCodes in a meta-model won't be identical to
the TypeCodes generated by an IDL compiler and used in a typical
CORBA any value.
The third case could also be problematical if the XMI.CorbaTypeCode elements
are defined in a separate document. If the documents get separated, it
is no longer possible to correctly interpret the XMI.any values. This
particularly significant given that the contents of an XMI.any element
do not give much type information.Finally, it is not clear what should happen if a producer encounters an IOR for
instance of a Class in an any. Probably it should treat this via case 3) but
the spec doesn't state this explicitly.My recommendation would be to redefine the XMI.any element to contain an
XMI.CorbaTypeCode element, and redefine XMI.CorbaTypeCode so that it has
three forms; i.e.XMI.CorbaTypeCode xmi.kind="kind" / // where tc.kind() is simple
// or unbounded stringand
XMI.CorbaTypeCode xmi.idref="some id" /
and
XMI.CorbaTypeCode xmi.id="some id" typecode state /XMI.CorbaTypeCode
This should make both Anys and TypeCodes easier / safer to handle in a wider
range of XMI implementation and runtime contexts.The percentage expansion of the resulting XMI document should be insignificant
unless the transmitted metadata is mostly CORBA any values. - The XMI.any will also have an "xmi.kind" attribute, but this attribute
-
Reported: XMI 1.1 — Wed, 15 Nov 2000 05:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Representing object references in an XMI document
-
Key: XMI12-124
-
Legacy Issue Number: 4044
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
Suppose that a meta-model is declared as follows:
package Foo {
{ attribute CORBA::Object baz; }
class Bar;
};According to the XMI document production rules, the value of the "baz"
attribute should be encoded using the ObjectReference production (9.4.5.2).
This says that if the object is part of the model (e.g. an instance of
some Class defined by the meta-model), the value is encoded as:XMI.reference xmi.idref="some_id" /
Otherwise it is encoded as
XMI.reference href="some_URL" /
Unfortunately, the latter does not work because there is no legal URL
representation for a CORBA Object reference, and you can't represent
a CORBA Object reference in some other XMI document.I think the fix is to provide a third alternative:
XMI.reference stringified-CORBA-IOR /XMI.reference
-
Reported: XMI 1.1 — Wed, 15 Nov 2000 05:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Representing type information for CORBA anys
-
Key: XMI12-123
-
Legacy Issue Number: 4043
-
Status: closed
-
Source: DSTC ( Stephen Crawley)
-
Summary:
If I understand 9.5.7.10 correctly, it says that the type information for an
Any may be partly or fully represented by "xmi.kind", "xmi.id" and "href" XML
attributes of the XMI.any element. However, according to the fixed element
declarations in 6.5.18, the "XMI.any" element cannot have an "xmi.kind" or (I
think) "xmi.id" attributes. Instead, it has attributes "href", "xmi.idref",
"xmi.name" and "xmi.type".Which attributes should be used?
-
Reported: XMI 1.1 — Wed, 15 Nov 2000 05:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
Close with no action because of updates to MOF 1.4 datatypes
-
Updated: Fri, 6 Mar 2015 20:59 GMT
Update XMI 1.2 to reflect MOF 1.4 updates
-
Key: XMI12-127
-
Legacy Issue Number: 4417
-
Status: closed
-
Source: International Business Machines ( Dr. Stephen Brodsky, Ph.D)
-
Summary:
MOF 1.4 has had the final RTF votes. There are changes to MOF 1.4 that
result in updates to XMI 1.2. In particular, the data type simplification
in MOF 1.4 will lead to improvements for XMI 1.2. -
Reported: XMI 1.1 — Mon, 23 Jul 2001 04:00 GMT
-
Disposition: Resolved — XMI 1.2
-
Disposition Summary:
see above
-
Updated: Fri, 6 Mar 2015 20:59 GMT