[Uml-devel] XMI support in Umbrello
Andrew Sutton
asutton at cs.kent.edu
Wed Feb 9 08:47:52 UTC 2005
On Wednesday 09 February 2005 08:41 am, Anna Persson wrote:
> Dear Umbrello developer team,
although i'm not exactly part of the umbrello dev team, i do eavesdrop and
occasionally (i.e., rare occasion) have something to contribute - like the
big chunk of code that was umbrello2. i also built a modeling library (the
OMF or Open Modeling Framework) that implements a bunch of OMG stuff like
MOF, UML and particularly, XMI. if you want to take a look its at:
http://www.sdml.info/projects/omf/. just be aware that its not an
application, just a library.
although i do have a pretty good working knowledge of XMI and why it is or
isn't portable between various applications. so if you're interested, i
thought i might add my own comments.
> As shown in the document, the results are rather discouraging for most
> of the tools. As our goal is to investigate and report on the state of
> XMI interchange at the current time, we felt it important to contact
> tool developers for possible input. So, in the context of the results we
> would like to ask three questions about XMI support in Umbrello, and
> would appriciate any comments you might wish to make.
interesting results. expected, but still interesting.
> - What is the main motivation for using XMI as the saving format in
> Umbrello?
ideally, XMI is a standard so if a number of different people implement the
standard, then they're stuff should automatically work together.
> - We are somewhat suprised by the results, both for import and export.
> Do you have any comment to make on XMI support in Umbrello on the basis
> of the results in our ongoing study?
the primary factor affecting both import and export is actually going to be
conformance to the OMG's UML metamodel specification. it defines what can
actually go into a UML XMI document. if you don't (at least partially) make
your applications internal data model resemble that of the UML specs, then
you end up with a mapping problem from your semantics to theirs.
plus there's the other issue of additional data - specifically diagrammatic
information. the current XMI (1.x) specs include no provision for
diagrammatic or application specific data in the XMI file. a lot of
applications (unless their imports are REALLY well built) will choke on that
additional data.
i remember looking at the XMI export code for umbrello a couple of versions
ago and it actually imposed some fairly strict structure on the internal
organization of the XMI document. XMI imposes only a very limited
organizational structure. there's the document, a header and some contents.
any additional information can just get in the way - unless its built in an
XMI-compliant fashion.
i might also note that older versions of argo produce incorrect XMI - if i'm
remembering correctly. incorrect namespacing. they used the java scoping in
the XMI element names (e.g., UML.Class) when it should have used XML scoping
(UML:Class). since argo has become synonymous with open source and UML, i
would not be surprised if the import filters from other applications had
adjusted to respect that element tagging convention. i haven't looked in a
while, so i'm not entirely sure if this is true any more.
> - Do you have any further comments regarding the results in our ongoing
> study, or your own experience of XMI interchange between tools?
just a question... how are you dealing with the two versions of XMI. XMI 2 is
actually a radically different format. it's actually a little bit more
precise. i like it better. the OMG is also putting out model interchange
specs as well. it might be interesting to see how those are integrated into
these applications.
i'd like to point out that the XMI specification (like most of the OMG's
modeling specs) don't actually describe any kind of conformance criteria. a
number of other specifications (e.g., ISO stuff) will describe levels or
profiles of conformance to some specification. that's what makes them
standards. XMI is the standard that isn't.
andrew sutton
asutton at cs.kent.edu
More information about the umbrello-devel
mailing list