Re: Making Profiles "Discoverable"

Tom Morris <[email protected]> Tue, 2 Aug 2011 15:17:55 -0400
Newsgroups gmane.comp.lang.uml.argouml.user
Message-ID <CAE9vqEGgZ-uNuwrYd5+z-6Oex6fLFSq8cjtovvHc8rZY1oDiBA@mail.gmail.com>
That's a good workflow description/use case, but I think it ranges
quite a bit wider than just profile support (e.g. code generation).

Going back to the original question, the design intent and underlying
support mechanisms consider profile resolution as something which
occurred through a search list of libraries, e.g. personal library,
project library, group library, corporate library.  Some of this is
obscured in the current implementation, but I think a lot of the
underlying mechanisms are still in place.

The other thing that this touches on is the general issue of
modularity and sub-models.  Many of the same mechanisms that are used
to support profiles are intended to also support models which
reference other models.  This would also help partition things so that
multiple people can work on parts of a model (collection) without
stepping on each other's toes.

Tom

On Tue, Aug 2, 2011 at 10:57 AM, Mark Fortner <[email protected]> wrote:
> Hi Thomas,
> Thanks for the reply. =C2=A0I think Profile support is one of those areas=
 where
> we haven't quite thought through=C2=A0how ArgoUML gets used in real-world
> software development projects. Or how it might get used if people underst=
ood
> some of its intricacies like profiles. ;-) Here are a couple of
> case-in-points:
>
> Setting standards: =C2=A0Invariably as soon as you have two or more devel=
opers
> you want them to be able to share certain common pieces of information.
> =C2=A0Profiles containing commonly used stereotypes is one example; templ=
ates, is
> another. =C2=A0In order to share information people tend to put up a wiki=
 or have
> a shared drive. =C2=A0For us this means we'd need to support more than on=
e kind
> of file system (perhaps through Commons VFS, or eventually the new Java N=
IO
> file systems introduced in Java 7). =C2=A0But this kind of support also m=
akes
> profile and template development easier for us, since we can publish them
> through the website. [http://argouml.tigris.org/issues/show_bug.cgi?id=3D=
6189]
>
> Evolving profiles: Typically profiles evolve as you're modelling. =C2=A0Y=
ou want
> to be able to create or modify profiles on the fly. =C2=A0Currently the o=
nly way
> to do this is to to open a second instance of ArgoUML, and edit your
> profiles there, and then reload them in the first instance of ArgoUML. =
=C2=A0This
> obviously isn't the most intuitive or efficient way of doing it. =C2=A0It=
 would
> be nicer if you could simply right-click on the Profiles folder in the
> Explorer and add a new profile there, or modify one of the existing
> profiles. =C2=A0When you create the profile you should then be allowed to=
 create
> stereotypes and tagged data elements directly from the Explorer.
>
> Design Reviews:=C2=A0At the end of all of this modelling, you usually hav=
e a
> design review. =C2=A0During the review you walk the attendees through the
> relevant parts of the design. =C2=A0You can add critics to elements in th=
e
> design, but if you do there's no way to walk through the critics grouped =
by
> the people that added them. =C2=A0For example, I'd like to be able to go =
around
> the table and address the comments made by each person, but when you orde=
r
> the critics "By Poster" you get a blank folder with no title, and a list =
of
> critics. When you create the critic there's no way to specify the Poster =
of
> the critic, perhaps it should just default to the System user name proper=
ty.
>
> Existing Code Bases: If you have an existing code base, you want to be ab=
le
> to highlight those parts of the existing code base that will change. =C2=
=A0Doing
> this with stereotypes is fine, but putting <<new>> in front of a method
> tends to get lost in some of the larger classes. =C2=A0It would be useful=
 to be
> able to turn the method compartment green (or perhaps some other color) t=
o
> highlight that it's new. =C2=A0You would want that kind of style informat=
ion to
> be included in the profile so that a standard color scheme is used by all
> developers.
>
> Code Generation: After the design is approved, you want to quickly genera=
te
> code and get on with the implementation. =C2=A0But there are often artifa=
cts
> generated in the code that don't belong there,
> [http://argouml.tigris.org/issues/show_bug.cgi?id=3D6239]. =C2=A0You also=
 want to
> be able to add your own copyright header.
> [http://argouml.tigris.org/issues/show_bug.cgi?id=3D5093] =C2=A0Having ed=
itable
> templates means that the code you generate stands a greater chance of
> passing checkstyle reviews without additional manual editing.
>
> Testing: If you're a TDD shop (or just someone who wants better test
> coverage) you also want to be able to generate unit tests for the code th=
at
> you just generated. [http://argouml.tigris.org/issues/show_bug.cgi?id=3D4=
819]
>
> Hope this helps,
> Mark
>
>
> On Tue, Aug 2, 2011 at 1:11 AM, Thomas Neustupny <[email protected]> wrote:
>>
>> Hi Mark,
>>
>> you can't avoid the display of the whole (system specific) path in the
>> profile configuration. Also, there is no (relative) standard path to
>> profiles, you configure your profile directories in edit->settings->prof=
iles
>> (default XMI directories). Hm, maybe we could strip the displayed path i=
n
>> the profile configuration if it is one of the configured directories?
>>
>> Sharing profiles: share the XMI files. Everyone who uses it is responsib=
le
>> for the loading of the profile in her/his ArgoUML instance. But there is
>> another way to share profiles: wrap them in a module and share the .jar =
file
>> (has just to be put into the ext/ directory of ArgoUML). Easier for the
>> recipients, but requires developer skills for the creator, unless you us=
e
>> the "module generator" module, here is a doc that demonstrate the idea h=
ow
>> to do it: http://argouml-modulegenerator.tigris.org/documentation.html
>> So this module will create the sources of a profile module for you. I ca=
n
>> help you with either that module or directly with the (reusable) profile
>> module sources in case you don't want to use the module generator.
>>
>> Thomas
>>
>> -------- Original-Nachricht --------
>> > Datum: Mon, 1 Aug 2011 17:38:03 -0700
>> > Von: Mark Fortner <[email protected]>
>> > An: [email protected]
>> > Betreff: [argouml-users] Making Profiles "Discoverable"
>>
>> > I've been tinkering with some profiles and I was wondering if there is=
 a
>> > directory that ArgoUML will always check to "discover" available
>> > profiles.
>> > =C2=A0Perhaps the .argouml directory? =C2=A0The reason I ask is that c=
urrently the
>> > profiles show a complete path to any profile that you add in the
>> > explorer.
>> > =C2=A0However, I frequently move back and forth between Windows, Linux=
 and
>> > MacOS
>> > X. =C2=A0It would be nice if there were a single directory that I coul=
d put
>> > my
>> > profiles, that would always be resolved regardless of the platform I w=
as
>> > using.
>> >
>> > Also, is there a way to share profiles? =C2=A0I would like to be able =
to post
>> > some profiles on our intranet, and it would be useful to be able to
>> > specify
>> > an http-type URL for the profiles.
>> >
>> > Any suggestions will be appreciated,
>> >
>> > Mark
>> >
>> > ------------------------------------------------------
>> >
>> > http://argouml.tigris.org/ds/viewMessage.do?dsForumId=3D449&dsMessageI=
d=3D2807930
>> >
>> > To unsubscribe from this discussion, e-mail:
>> > [[email protected]].
>>
>> --
>> Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
>> belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de
>>
>> ------------------------------------------------------
>>
>> http://argouml.tigris.org/ds/viewMessage.do?dsForumId=3D449&dsMessageId=
=3D2808098
>>
>> To unsubscribe from this discussion, e-mail:
>> [[email protected]].
>
>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=3D449&dsMessageId=3D2=
808261

To unsubscribe from this discussion, e-mail: [[email protected]=
ris.org].