[Uml-devel] more insanity
Andrew Sutton
ansutton at kent.edu
Fri Nov 8 16:51:03 UTC 2002
On Friday 08 November 2002 4:17 pm, Luis De la Parra Blum wrote:
> ok, I guess I'll have to take a look at JMI
good idea :) its pretty much just like certain parts of the MOF standard
except that it modifies the reflective module and MOF mapping towards java.
very nice. well written too.
> > then, we start going in 2 directions: libXMI for generic parsing and
> > libMOF - the real one. we'll build it by hand according to the template
> > mappings
>
> ahhhh!!, I think I finally got you... so libXMI reads XMI and creates a
> bunch of "Ref::Object", then handles those to libMOF, which queries them
> and creates MOF::Objects ??
yes! except that libXMI can't create objects - not directly. it works with
Ref::Objects, but it doesn't create them. we still need a sort of
intermediary that actually creates the objects. this is the XMI plugin. it
provides a set of factories mapped to namespace/tag name that create real
instances of objects (e.g. MOF::Package or UML::Stereotype).
with this concept, i think we're as close to decoupled as we can get.
>
> > actually, some parts of libXMI can probably be developed in paralell with
> > libReflective
>
> just to make sure... libXMI reads XMI, forms a DOM tree (or we use SAX, but
> I would rather go for the DOM) and then creates a bunch of reflective
> objects. right?
sort of. we can't directly instantiate reflective objects. we need to go to
some module to create the elements. the factories that create the elements
return reflective objects. the creation of a UML::Attribute will return a
Ref::RefObject.
> libReflective would be just a bunch of... well... more or less "dumb"
> classes with just some attribues wich we can set/get, right? (no real
> functionality of its own)
i think so... remember, the reflective classes are actually interfaces. that
means that the implementation of those interfaces might be pushed into the
metamodels themselves - in certain cases, its required. i'm not sure if
that's true for all methods, but certainly for some of them.
but otherwise, yes. a mostly dumb library. i'll sit down this weekend and
design what i think our reflective library should look lilke. i'll document
which methods i think need to be implemented by derived classes. i'm not
going to have all weeekend open, but i'll see what i can do - i have to
discuss concern modeling and a metamodel for AOP with my project group on
sunday.
andy
More information about the umbrello-devel
mailing list