Getting Started


VisualAge Smalltalk Repository management

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.

Managing VisualAge Smalltalk parts

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

VisualAge Organizer window with callouts

For more information on VisualAge for Smalltalk repository management, refer to the IBM Smalltalk User's Guide.

VisualAge Generator on Smalltalk repository management

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

Figure vgorg not displayed.

Version control

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:

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 ]