Introduction

The 3C model was presented and reviewed at our previous workshop, The Third Annual Workshop: Methods and Tools for Reuse [SMTR 90]. Will Tracz summarized his perspective on the discussion:

The 3C model was accepted in part by most of the attendees. The most critical critisism focused on the granularity of the modules. I believe people were trying to scale up the model to apply to larger subsystems and were having difficulty in expressing the semantics. Another area that needed further clarification is the process of differentiating the roles of importation (``with'' clause in Ada) and parameterization (genericity in Ada) with regard to interface design.

Partly in response to this need to ``scale up'' the 3C model, and partly to explore related issues such as the differing (actually complementary) roles of importation and parameterization, we at the University of Maine have been exploring how the model can be used to design and craft:

By an integrated component library we mean a library (1) whose interface, or concept, is defined by an organized collection of module abstractions, and (2) whose implementation, or content, is defined by a collection of ``normalized'' subcomponents, each of which encapsulates a single design concern and derives its context from both the environment in which the library is used and from other library subcomponents. Such subcomponents are mixed and matched to realize the library interface abstractions.

Such an integrated library has many of the same properties as a generic architecture. That is, it provides not only a collection of components but an integrated framework for the construction of a family of systems from such components.

We have proposed a schema for thinking about such integrated frameworks, called the layered generic architecture schema, or LGA schema. In it we attempt to deal with issues related to integrated collections of components (concept organization, separation of concerns, contextual dependencies between components, etc.). We present an overview of the schema and discuss issues relating to it in the following sections.