[Uml-devel] Thoughts about U2 "tree view"
Andrew Sutton
asutton at mcs.kent.edu
Mon May 12 07:47:10 UTC 2003
On Monday 12 May 2003 10:31 am, Sebastian Stein wrote:
> Andrew Sutton <asutton at mcs.kent.edu> [030512 16:27]:
> > the only thing that i'd suggest being careful of is the data independence
> > of what's represented in the tree view. that could represent several
> > objects from several different metamodels - we always use UML as the
> > example, but it could also represent CWM data. actions corresponding to
> > objects in different metamodels will almost certainly be different.
>
> So we have to look at MOF was basic elements it defines and which actions
> could be done with these elements. I think of a class can contain
> operations, so an action add an operation to a class is needed.
essentially, yes. except the MOF is probably going to be a read-only thing in
or system. it doesn't make sense to change it unless we're going to
implement, compile, and link modifications at run time ;) the specification
of generic actions is really, really hard to do because the creation of
objects like classes, attributes, operations, whatever are specific to
metamodels. there just isn't that much common stuff going on. we might be
able to define some generic actions for navigation (click on this, go to a
diagram?). click on this, go to properties... that type stuff.
in my thinking, each metamodel is going to have to define its own actions - it
sounds kind of crappy, but there's too much metamodel specific stuff going
on. also, we need to constrain which actions are available to which objects.
for example, we shouldn't be able to create attributes within packages or
classes within operations (that would be some wild code :)
if each metamodel plugin is responsible for creating and managing its own
actions, then we need to find some way of making sure of distributing those
actions to the rest of the application in a fairly generic method - that's
probably the base functionality you're talking about.
i think one possibility would be to define some kind of action manager that
implements a publish/subscribe style interface. components can subscribe to
sets of actions (defined by text strings or maybe an enum). when the app
reaches a state where a set of actions need to be updated, the subscribed
apps are notified by a published message and they can do whatever they have
to. of course, i might be re-inventing a wheel with this, but i'm not a
KAction guru by any stretch of the imagination.
andy
More information about the umbrello-devel
mailing list