Book a Demo

Author Topic: Structuring profiles  (Read 3272 times)

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Structuring profiles
« on: January 08, 2008, 06:54:53 am »
There was a discussion last year about the lack of possibilties to structure a project when designing a profile for EA:

http://www.sparxsystems.com/cgi-bin/yabb/YaBB.pl?board=UMLPRO;action=display;num=1181217804;start=8#8

The gist of it was that you need to have all your metaclasses and stereotypes for a profile in one package stereotyped "profile". You can have as many diagrams as you want, but the elements must not be divided into packages because the "Save Package as UML Profile" context menu command will only export the elements from the top level profile package.

This may be allright for toolbox profiles (you wouldn't want a hundred entries in a toolbox page for a diagram type), but it's a real nuisance for big stereotype profiles (of which only one can be integrated into a technology file for EA 7.0).

At the time of the discussion mentioned above I was thinking Sparx might fix it pretty soon, but now that I've taken a closer look I think they won't, cause they handle profile packages in a completely different way than other packages:

If I have a package with stereotype "profile" and export it to XMI 2.1 it does not end up as the <packagedElement xmi:type="uml:Package"> I would have expected, but as <packagedElement xmi:type="uml:Profile">. And uml:Profile is not hierarchichal.

Still, for designing a profile I would like to have a package structure like

<<profile>> My profile
----Class stereotypes
--------<<profile>> Some class stereotypes
--------<<profile>> Some other class stereotypes
----Association stereotypes
a.s.o.

Of course the lower level packages would not really be profiles, but they need the stereotype so that for diagrams within them the right toolbox pages are visible.

What can be done about it?

Should I accept the flat structure they're enforcing? Or define my profiles like I want, flatten them via xsl, reimport to a temporary package with stripped guids, save the temporary package as profile and then delete it? Could be done by Add in, only I can't seem to find the "Save Package as UML Profile" command within the API.