[Uml-devel] UML XML tree viewer

Andrew Sutton ansutton at kent.edu
Mon Nov 4 07:16:03 UTC 2002


On Monday 04 November 2002 4:06 am, Heiko Nardmann wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> As a first step in QtDom I have modified the Qt outline example to give a
> simple tree view of the UML XML file. If anyone is interested I can post
> it.
>
> What other - probably better - tools are there for visualizing XML
> structures?

hmm... just a thought. i know there's been *some* touching on the subject of 
implementing MOF in order to autogenerate a UML implementation. i'd like to 
make a suggestion in this regard - that i would love to help work on when i 
can find the time. right now, i'm either coding, doing research or writing 
papers, email and documentation about 10 hours a day - most of it windows.

anyway, if we want to get uml compliant stuff, we should start at the very 
bottom - that's MOF (or so one might think). MOF is defined in itself - which 
means, we can get the XMI file for it. that means the very bottom is XMI.

the first thing to get attention should be the creation of a truly compliant 
xmi implementation (say, libXMI). this should be able to handle model 
documentation and the dynamic loading of meta-model libraries to handle the 
<XMI.contents/> element. at some point in the future it would receive some 
attention on the extension and difference components.

step2: create a bootstrap MOF implementation (libMOF_bootstrap). this is just 
the absolute bare minimum required to handle the MOF specification and 
generate a stub implementation. alot of attention should be given to the 
codegen aspects of this library. this library needs to include the elements, 
relationships and code to work with libXMI for reading and writing XMI 
documents.

step 3: build a trivial application (using libXMI and libMOF_bootstrap) that 
reads the MOF file and generates the official MOF implementation (libMOF). 
the idea is that you can relink this application with the stub generated by 
the bootstrap library to exactly re-create libMOF. its your standard compiler 
bootstrap stuff.

step 4: build another trivial application that uses libXMI to load the UML XMI 
file. libXMI should (at this point) be smart enough to recognize the fact 
that it uses the MOF metametamodel and use libMOF during the document 
creation process. this application then generates the stub for libUML.

tada! 4 steps to nirvana.

of course, these are just stub implementations of metamodels - however, as 
such, they should be required to be able to parse any models defined using 
their elements. it would be nice if we could figure out how to build the 
ownership management and memory management stuff into the autogenerated 
implementations. that means they'd basically be ready to go with umbrello.

thoughts?

andy




More information about the umbrello-devel mailing list