Getting Started
VisualAge Generator code is managed by the same built-in library system
used by VisualAge Smalltalk. This system, called ENVY, facilitates
team-development and code reuse by operating in concert with object-oriented
principles and providing programmers with an integrated environment (Figure 2) in which they can develop, share, and manage source
code. Code is managed as methods (or parts), classes, applications, and
configuration maps. Images enable developers to customize their
environments and changes to parts in the repository are managed as application
editions and versions.
In this team-development environment VisualAge Generator and VisualAge
Smalltalk source code is managed at four levels:
- Methods
- are pieces of executable code that implement the logic of a particular
message for a class. Methods are the smallest unit of source code that
the repository maintains. Each time a method is changed and saved, an
edition of its source code is saved in the repository, so that individual
changes can be tracked and managed as classes are developed.
- Classes
- are specifications that determine the attributes and behavior of software
objects. Classes, which typically contain several methods, are also
tracked in the repository. Developers can share versions of classes and
use them as templates to standardize objects across code libraries. All
VisualAge parts are stored as classes.
- ENVY applications
- are functionally related sets of defined and extended classes that provide
developers with reusable pieces of functionality. Developers can also
create and share versions of applications. Loaded applications are
listed in the Applications pane of the VisualAge Organizer
window.
- Configuration maps
- are named groups of application editions that are usually associated with
a product or a major component of a product. Configuration maps provide
an easy way for developers to import and export sets of applications and share
them with other development teams.
Figure 2. VisualAge Organizer window

For more information on VisualAge for Smalltalk repository management,
refer to the IBM Smalltalk User's Guide.
The VisualAge Generator team-development environment (Figure 3) uses the same library management system as VisualAge
Smalltalk, but VisualAge Generator adds some enhancements to the environment,
so there are a few terms that apply to VisualAge Generator development
only:
- VAGen parts
- are units of VisualAge Generator 4GL code that are associated with a
Smalltalk method in an extension of a VAGen part class. VAGen parts are
listed by part type in the VAGen parts pane (available only if you have
installed VisualAge Generator) in the VisualAge Organizer window. You
can also look at an alphabetical list of VAGen parts associated with a loaded
application by opening the VAGen Parts Browser. You can open a VAGen
part by double-clicking on its name in either window.
- VAGen part classes
- are extensions of a VisualAge part class. Like VisualAge part
classes, they are used as templates for creating parts to standardize object
specifications, attributes, and behavior for different part types.
VAGen part classes listed in the Parts pane in the VisualAge
Organizer window have as the first five letters of their class names
"VAGen."
Figure 3. VisualAge Organizer Window: VAGen Part Classes and Parts

Unlike traditional source code management systems, where source files are
checked out and checked in, VisualAge's access control authorizes groups
of developers to work on specific part classes, applications, and
configuration maps. Developers customize their workspaces by loading
copies of the applications (editions) containing the parts they need to work
on into their image. During the development cycle, programmers create
open editions and scratch editions of applications to make changes to code and
run tests. But each application, and each part class has a single
owner, or manager, who is responsible for releasing stable versions at
appropriate times.
Familiarity with the following terms is essential to understanding how to
use ENVY to manage your code libraries:
- Image
- In the simplest terms, an image is a customized view of items in the
repository, limited to the applications that contain the parts you need to
change or test. All developers have an image file stored on their
workstations. The default image file name is abt.icx.
When you save your image, this file is updated to track which editions and
versions of applications you have loaded. The next time you start
VisualAge Generator, all the applications that were loaded into your image
when you saved it last will be listed in the VisualAge Organizer window and in
the VAGen Parts Browser.
- Edition
- In general, editions are applications that are subject to change.
The two kinds of editions you will encounter most often are:
- Open editions--applications that have not been frozen. You can
save parts to loaded open editions, and you can recognize them by the date and
time stamp next to their names in the Applications pane of the
VisualAge Organizer window. Open application editions can have new
classes added to them, classes deleted from them, and different versions of
existing classes released into them.
- Scratch editions--copies of applications that are created
automatically when you save changes to an edition that is not open.
Scratch editions allow you to make changes for testing existing classes in
applications owned by other developers, but you cannot add new classes to a
scratch edition. Unlike open editions, scratch editions have a version
number in double angle brackets (<<>>) instead of a date and time stamp
beside the application name in the Applications pane of the
VisualAge Organizer window. Changes made to scratch editions only exist
in the image of the developer who made them and they cannot be released into
an application that does not have an open edition.
- Version
- Versions are editions that have been frozen by the application manager to
prevent further changes to that level of code. They have version
numbers (without angle brackets) instead of date and time stamps next to their
names in the Applications pane of the VisualAge Organizer
window.
For hands-on practice loading applications, creating new editions, and
other repository management tasks, complete the steps outlined in Chapter 6, "VisualAge Generator Developer on Smalltalk: a tutorial".
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]