[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