[Uml-devel] u2/omf update
Andrew Sutton
asutton at cs.kent.edu
Thu Jan 8 19:16:01 UTC 2004
for anybody interested... my work on what was umbrello2 and is now the open
modeling framework (omf) continues. after a long departure to work on a
school project and a much needed vacation (in front of an xbox/playstation),
i've finally started getting back into the developer's seat - comfortable as
ever.
i've just finished posting my 2nd release of the omf to my web site.
naturally, i'm too lazy to create a real web page just now, so you'll have to
deal with a directory index. for those that don't know or don't remember, the
omf is an implementation of the uml data model and then some. it actually
contains implementations of the meta-object facility, uml and XMI. it's
basically an offshoot of work i did trying to rewrite umbrello from the
ground up. the purpose of focusing on just the data is to build some common
infrastructure that allows people to write different analysis tools without
having to worry about the details of uml (i'm doing that). another
possibility (please!) would be for umbrello and kdevelop to adopt the omf as
a common uml implementation and start working toward some degree of
interoperability.
lets see,,, this release has.
- better xmi parsing (Xmi::Reader)
- actual xmi writing (Xmi::Writer)
- note that both are pretty close to 100% standards compliant
- some of the observers are in place (you can tell when attributes change and
objects are created and deleted)
- objects can actually be deleted - and they do clean up nice
- oh! i finally built the uml library so you can uml objects can actually be
created... ooooh :)
- 131,000 lines of code
there's still some stuff i haven't done (like finishing the persistence layer
in RefObject), but otherwise it's a fairly usable release. here's my
abbreviated todo list:
- finish the persistence layer
- design and implement a generic visitor pattern (for graph traversal)
- design and implement a system for extendable attributes (possibly using the
XMI.extension tags)
- a test suite would be super (with documentation and using boost::test
- write "the ultimate guide to modeling with the OMF" programmer's manual
- start work on a layout engine (even though there are no graphics) and
graphviz output or something like that (it's my thesis)
- python bindings would rule
- an actual ocl parser would be sweet, but i suck at writing parsers and ocl
is the crappiest language ever invented
see lots to do on just the data side of things.
so, if anybody's interested - and hopefully some of you are. here's how to get
it:
http://www.cs.kent.edu/~asutton/omf
usual download instructions apply. in order for it to work you'll need to copy
the uml-1.4.xmi and model-1.4.xmi files into a directory "/etc/omf". i
haven't worked very hard on the installation stuff. try it out.
andrew sutton
asutton at cs.kent.edu
More information about the umbrello-devel
mailing list