[Uml-devel] xmi support
Andrew Sutton
ansutton at kent.edu
Fri Sep 27 09:47:07 UTC 2002
all [interested]
there are some problems with the XMI support for saving and loading... i don't
think its feasible to introduce grouping tags and extensions to the file
without defining the appropriate extensions for the metamodel
(XMI.extensions). actually, rather than sit down and figure that one out the
best solution would be to not include them in the XMI.
after perusing the XMI standard, it looks like it is only used to contain raw
model information - there's nothing about visualization or anything else
included. besides, i think the standard recommends that models must be
validated against the DTD's involved (UML models would validate against
xmi.dtd and uml.dtd, MOF models against xmi.dtd and mof.dtd). so, exporting
to a validating tool will fail because of the introductions in the XMI file.
also, importing won't work because the importing code expects particular
groupings for objects and certain elements to be present for visualization.
resolving these issues is... non-trivial at best :) i think the best approach
is to follow the one adopted by argoUML (and probably others) in which there
are several support files with the XMI document all zipped/gzipped into a
single file. separation could occur on several aspects: XMI, Visualization
and Settings. The XMI file would contain the raw model database. The Viz file
would contain all elements related to the layout of diagrams, etc. The
Settings file would contain settings for the application changed during the
creation of the model.
even better, i think this comes close to matching the storage system used by
KOffice... if the UML application were broken down to contain KParts - each
representing a particular type of view/diagram, then those could be
explicitly included within other documents.
of course, this is a massive rewrite of the serialization aspect of the
system. see... non-trivial.
just a though :)
andy
More information about the umbrello-devel
mailing list