Check out the new USENIX Web site.

Using a Very High Level Language to Build Families of High Quality Reusable Components

Gary F. Pollice
CenterLine Software, Inc. and
U. Massachusetts, Lowell


While most programs are designed to perform a specific task, they have a natural evolution over time; causing a single program to become a set of programs that perform related tasks. In 1976 David Parnas introduced the concept of a family of programs [11 ]. He suggests that any program should be considered a member of a family of programs, all of which perform related tasks. If one plans for change when a program is designed less effort may be required to produce future revisions. Today there is an emphasis on building software components for reuse. Components may be designs, programs, functions, classes, or code segments. Major reuse projects are in progress at several institutions, for example, the Software Productivity Consortium and the Software Engineering Institute [1,6]. Processes have been developed to introduce and support reuse programs. The disciplines of domain engineering and software synthesis emphasize creating families of components and developing tools to assist in constructing them. Component generation is a prominent part of most efforts.

Download the full text of this paper in ASCII (38,270 bytes) and POSTSCRIPT (176,461 bytes) form.

To Become a USENIX Member, please see our Membership Information.