In looking at this further, I don't think ElementImport (or its Package
equivalent Permission <<import>>) is the right mechanism for profiles.

I think what we want to use is Dependency <<appliedProfile>> in UML 1.4 (see
Section 2.14.2.1 of the UML 1.4 spec) which will become ProfileApplication
associations in UML 2.x (see Section 18.3.5 of the UML 2.1.1 spec).
Profiles can have other profiles applied, so an EJB profile could have a
Java profile applied to it, allowing it to extend the Java profile.  The
standard UML 1.4 profile (i.e. the elements in Appendix A UML Standard
Elements) doesn't need to be applied explicitly, in my opinion, but instead
can always be assumed to be applied (see Annex C of UML 2.1.1 for some text
which describes this).

I've completed most of the work on the
XmiReferenceResolver/XmiReferenceProvider which is needed to support cross
XMI file references, but it looks like it's not really going to be that
useful for profiles per se.

maas - If you modify your profile management code to apply Dependencies with
<<appliedProfile>> stereotypes to the top level Model element of the user
model.  I'll make sure that the project loading code looks for those
Dependencies and loads the given profiles.  The profiles can have other
profiles applied recursively, but you can also apply multiple profiles
independently if they are not related to each other.  The profile names
should be relative to some virtual profile library, not absolute file names,
eg argouml-v026.xmi or java/ejb-v1.xmi.  I think it would be a good idea to
include a version in the naming scheme so that multiple versions can be
distinguished.

The other remaining pieces are to teach the various search methods (e.g.
find a stereotype) to look in multiple profiles and to teach the file saving
code to recognize profile derived elements and save references to them
instead of saving them explicitly (most of this will happen automatically).

For background reading, I'd recommend reading Chapter 18 of the UML 2.1.1
spec to see where things will be evolving to in the future and this
Rational/IBM article
http://www.ibm.com/developerworks/rational/library/05/0906_dusko/ for a user
level view of profiles in another tool.

Tom

> -----Original Message-----
> From: Tom Morris [mailto:[EMAIL PROTECTED] 
> Sent: Saturday, July 28, 2007 4:48 PM
> To: '[email protected]'
> Subject: RE: [argouml-dev] ElementImport (Was: Profiles and 
> cross XMI file references)
> 
> 
> > Does it support linking elements in different models?
> > I tryied it and it seems to took for elements in the user's 
> main model
> 
> It should support linking between different models.  The 
> issue is that the other model needs to be loaded and we don't 
> currently have a way to have multiple models (except for the 
> profile model) loaded at once.
> 
> The next step is to implement a "open readonly" or "load for 
> reference" or some similar type of function, but we'll also 
> probably have to fix up some of the methods which create the 
> list of elements for the user to select from because many of 
> them assume that the search should start at a single root 
> model (the user's model), which won't work for this type of 
> configuration.
> 
> Perhaps in the short term I'll try to link the profiles for 
> you by hand.  I'll see if I can work on it today or tomorrow.
> 
> Tom
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to