[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (FC-Devel) UML repository v0.5



I cc'ed this to freecase cos the time was short last night so I think some
explanation may be necessary.

> The latest version of the UML repository is here:
> 
>
http://www.freecase.seul.org/~zmower/freecase-0.5.tar.gz
> 
> This version includes *all* the Foundation classes and > a partial
implementation of the associations.

I'm now auto-generating the code with an awk script (see
UmlRepository/tools/autogen.awk).  This takes Foundation_impl.h as input.

> As mentioned yesterday, I think
> these will be reimplemented in terms of the
> Reflective::RefAssociation class.  But they
> kinda work now.  :-}

I've implemeted associations by delegating to operations in the classes.  This
seems viable on the surface until you get to the Extensions package.  There are
no methods in ModelElement for manipulating sets of TaggedValues for example. 
So I'd have had to implement some of the association methods by iterating
through the whole set of TaggedValues looking at what ModelElements they refered
to.  Ick.

So I looked at the UML Issues on the OMG site and one looked likely but
incomplete (3735?) so I sent them an email detailing my further concerns.  I
then had an email conversation with a nice man from Unisys.  Seems my
implementation is not MOF compliant.  I think I need to implement
Reflective::RefAssociation and then implemnet the tailored association
interfaces in terms of that reflective interface.  Maybe.  I'll see how it goes.

> Ack its late.  Again.
> 
> Chris
> 
> PS. QuickThought: Abstract FoundationPackageSingleton
> with derived contrete implemetations such as
> Nameserver-based, co-located (ie in the same process).

The Kuml people aren't overly interested in the network-transparent repository;
they'd rather co-locate. This seems like a nice abstraction, basing things on
how you obtain the top level package factory.  Maybe I should have called it a
FoundationPackageFactoryFactory.

Since the Repository is looking quite good now I've been contemplating the
client side as well.  I'm planing a browser type tool using Graphviz to
automatically layout the class diagrams.  I'll use Tcl/Tk to give it a GUI and
glue it all together (both Graphviz and MICO have Tcl bindings).

Oh, and my browser is tentatively called Package Explorer (hee hee).

Chris