next up previous top
Next: Instantiation
Up: Component Implementation
Previous: Variant

Composite Implementation

Description

The implementation of a component describes how it is constructed. A composite implementation describes a configuration of components and connectors. This mechanism in UniCon allows system designers to progressively build larger subsystems from collections of smaller components or subsystems, or more abstract components from less abstract ones.

There are three types of information required in a composite implementation:

    1. the pieces

    2. the configuration information

    3. the abstraction information

The parts are the specific instances (i.e., instantiations) of components and connectors that are used to describe the implementation. The instantiation of a component and a connector in UniCon is accomplished with the USES statement. The instantiation of connectors can also be done implicitly via the ESTABLISH statement.

The configuration description is the set of instructions for hooking up the components and connectors. These instructions represent the connections in the implementation. Connections are accomplished with the CONNECT statement in UniCon, or with the role/player associations of an ESTABLISH (i.e., the AS statements).

The abstraction information is the specification of how the more abstract players in the interface of the component are implemented by the more concrete players in the composite implementation. These specifications are accomplished with the BIND statement. Every player in the interface of a component with a composite implementation must be mapped to one or more players in the implementation.

Syntax

  <composite_implementation> :==
    IMPLEMENTATION IS
      <property_list>
      <composite_statement_list>
    END IMPLEMENTATION
<composite_statement> :== <instantiation> | <connection> | <bind> | <establish>

Properties

The only property that can be legally included in the <composite_implementation> property list is the InitActuals property:

The syntax for an InitActuals property in a component implementation is a single <identifier> or "string" surrounded by parentheses:

INITACTUALS ("a-z A-Z")

next up previous top
Next: Instantiation
Up: Component Implementation
Previous: Variant

Comments? Mail the current maintainer of this page.

Author: Gregory Zelesnik

Last Modified: May 12, 1996