Next: Composition Model
Up: WISR 1993 Design-for-Reuse Working
Previous: WISR 1993 Design-for-Reuse Working
- Component -- A computational entity: An
object, module, or encapsulated collection of services.
- Host -- the main component of interest in a design task.
- Client -- A component that uses the host.
- Helper -- a component that host component relies on.
- (Sub)System -- a collection of components serving a
common aggregate purpose.
- Class -- description of the common features of a family
of components. Encompasses module declarations (of only one
entity) and packages describing parameterized families thereof.
- Namespace -- a scoping construct to subdivide the set of
names and their visibility within a system. In many languages,
this is tied to other computational constructs, e.g., classes,
procedures, modules, packages.
- Service -- a function, procedure, or process that
performs an action requested by a client. A service is
stateless if its availability and effects do no depend on
internal preconditions, otherwise it is stateful.
- Specification -- description at some level of precision for
some level of abstraction of a component. Interfaces are
descriptions, not code. (Beware that alternative accounts
(e.g., CORBA) do treat interfaces as components.)
- Export interface -- what services/types client can use.
e.g., list of methods, signatures, pre-post conditions, list of
responsibilities, axiomatic constraints,
- Import specification -- what services the client needs to
supply to compose/reuse the component. A description of how
this component relies on connections with other components
(helpers). This compositional specification of a component
needs to be separated from client visible interface to support
architectural reuse. Common connection rules and constraints
may be abstracted as design patterns.
- Configuration specification -- description and facilities
for arranging that specific context parameters be supplied to
instantiate the component
- Producer -- component author
- Consumer -- client author
- Implementor -- author of code to coordinate helpers to
obtain desired functionality.
- Architect -- (sub)system author.
- Specifier -- specification author.
Next: Composition Model
Up: WISR 1993 Design-for-Reuse Working
Previous: WISR 1993 Design-for-Reuse Working
Doug Lea
Sat Apr 8 09:58:22 EDT 1995