Hi Olaf,

thanks for your question!

We have one of those generators that do not support protected areas. This
was a conscious design decision because protected areas cause too many
problems in everyday project life, especially in medium to large projects
(10, 20, 100 developers).

Those problems arise from the coupling of generated and hand-written
source code in one file. Imagine the following situation:

A template writer refactors a template, possibly causing many changes. The
intent is to make a project-wide change to the architecture without
breaking any interfaces.

Now, if the code including protected areas is kept in some sort of heavy
duty configuration management system (example: CM Synergy a.k.a.
Continuus), the files are read-only and have to be checked out of the CM
system. Then, the generator has to be run that modifies all the checked
out files. Then, all the files have to be checked in again. This will
cause a lot of differences between the source code element versions which
will make it almost impossible to track changes in a reasonable manner.

On the contrary: If generated code is kept in a separate file, you need
not check this file into the CM system and the code will never appear in
any diff. The hand-written code can survive changes to templates quite
easily.

This was only one example for the difficulties with protected areas. Other
examples are also related to template changes, for example the cumbersome
UUID-handling when moving or removing a protected area.

So, I think this will make clear why AndroMDA does not use protected areas
and runs happily without them. The price we pay is one additonal class,
though.

Cheers...

Matthias Bohlen





 --- Urspr�ngliche Nachricht ---

Datum: 20.10.2003 09:32

Von: Kaus Olaf <[EMAIL PROTECTED]>

An: [EMAIL PROTECTED]

Betreff: [Andromda-user] Support of "protected areas"?



> Hi everybody,

>

> i have a basic question: Use AndroMDA "protected areas" to merge the
generated- and custome-sourcecode?

>

> The only "merging technics" i found were

> - technical-includes (jsp-include, xml-entity,..)

> - oo-technics (extending, design-pattern (template, factory,..))

>

> Other MDA-Tools support "protected areas", so why AndorMDA implements
this technic too?

>

> best regards

> Olaf Kaus

>

>

> -------------------------------------------------------

> This SF.net email sponsored by: Enterprise Linux Forum Conference &
Expo

> The Event For Linux Datacenter Solutions & Strategies in The Enterprise


> Linux in the Boardroom; in the Front Office; & in the Server Room

> http://www.enterpriselinuxforum.com

> _______________________________________________

> Andromda-user mailing list

> [EMAIL PROTECTED]

> https://lists.sourceforge.net/lists/listinfo/andromda-user

>



-------------------------------------------------------
This SF.net email sponsored by: Enterprise Linux Forum Conference & Expo
The Event For Linux Datacenter Solutions & Strategies in The Enterprise
Linux in the Boardroom; in the Front Office; & in the Server Room
http://www.enterpriselinuxforum.com
_______________________________________________
Andromda-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/andromda-user

Reply via email to