Code management system

S. Ramesh s-ramesh at
Thu Mar 9 22:59:29 UTC 2000

Personally, I like apps, subapps, app prerequisites, and configuration
maps. I agree that from a technical point of view you can implement them
all with the same design, but that doesn't take away their value.

I think they point to different semantic concepts in code management, and
are valuable from an architecture design and project management point of view.

The code in subapps are part of the code of the app, just partitioned for
ease of implementor interaction. The whole is a white box.

The code in an app "uses" the code in prerequisite apps. This should be a
black box relationship, where I only interact with tightly defined public
protocol. Both of these constructs are for defining the relationship of
code in development.

Configuration maps, instead, are specifically designed for application
releases. They specify the versions of all components of the applications
for a particular release version. They also make it easier to modularize
the application into components that can be sold separately.

I use apps, subapps, and prereqs as part of my implementation process,
first breaking the development into system components, and then into
subapps depending on my development teams. I use config maps as part of my
QA and release management process, with system integration and user
acceptance testing specified on config map versions, which specify every
part of the release, including config files and external systems (which is
where control files that include all these components come in).

So, I have no problem with everything being implemented under the covers as
some sort of Composite pattern with conditional includes, but semantically
I like to see the different types of objects expressing different concepts
in software development.

>Alan Knight wrote:
>> At 08:13 AM 09.03.2000 -0800, David M.Siegel wrote:
>> >Ranjan Bagchi wrote:
>> >
>> > > The thing which I liked the most about the ENVY
>> > > environment is that they'd done a really robust O-O
>> > > analysis of code management (Editions, Versions, etc).
>> >
>> >They've done a _terrible_ analysis of code management.
>> >Why do you need applications, subapplications and configuration
>> >maps, for example?  They should all be a single concept -- recursive,
>> >conditional inclusion.
>> You forgot prerequisites.
>I _could_ argue that "recursive, conditional inclusion" subsumes both
>containership and prerequisites.  I'll allow that that position's overly

More information about the Squeak-dev mailing list