Go up to Architectural Constructs
Go forward to Unit Compositions

Unit Declarations

UNIT-DECL       ::=   unit-decl UNIT-NAME UNIT-SPEC
UNIT-NAME       ::=   SIMPLE-ID
Each unit declaration UNIT-DECL provides not only a unit specification UNIT-SPEC but also a UNIT-NAME, which is used for referring to the unit in the specification of the result unit. The same unit may be used more than once in the composition. No UNIT-NAME may be declared more than once in a particular architectural specification.

UNIT-SPEC-DEFN  ::=   unit-spec-defn SPEC-NAME UNIT-SPEC
UNIT-SPEC       ::=   UNIT-TYPE | SPEC-NAME
UNIT-TYPE       ::=   unit-type SPEC* SPEC
A unit specification definition UNIT-SPEC-DEFN provides a name SPEC-NAME for a unit specification UNIT-SPEC, which is either a UNIT-TYPE or the name SPEC-NAME of another unit specification. A unit satisfies a UNIT-TYPE when it is a persistent function that maps compatible tuples of models of the argument specifications SPEC* to models of their extension by the result specification SPEC. A UNIT-TYPE is well-formed only when the signature of the union of the argument specifications is included in the signature of the result.
CoFI Tentative Document: LanguageSummary --Version 0.95-- March 6, 1997.
Comments to cofi-language@brics.dk