Prev Up
Go backward to 8.3.1.4 Local Units
Go up to 8.3.1 Unit Terms

8.3.1.5 Unit Applications

  UNIT-APPL        ::= unit-appl UNIT-NAME FIT-ARG-UNIT*

A unit application UNIT-APPL is written:

UN[FAU1]...[FAUn]
It refers to a generic unit named UN that has already been declared or defined in the enclosing architectural specification, providing a fitting argument FAUi for each declared parameter (in the same order).
  FIT-ARG-UNIT     ::= fit-arg-unit UNIT-TERM SYMB-MAP-ITEMS*

A fitting argument FAUi is written:

UT"i fit SYi1 |-> SY'i1, ..., SYip |-> SY'ip
A symbol SYiq listed alone abbreviates the identity symbol map SYiq |-> SYiq. Keywords indicating the syntactic categories of the following symbols may be inserted in the list, as for the translation and reduction constructs. When the symbol map list is empty, just the unit term UT is written.

The fitting argument fits the argument unit given by the unit term to the corresponding formal argument for the generic unit via a signature morphism determined by the symbol map list SY1 |-> SY'1, ..., SYp |-> SY'p. The signature morphism is obtained in the same way as for generic specifications. Unmapped symbols are included unchanged. Of course, the signature of the actual argument might coincide with the corresponding signature in the generic unit type, in which case no extra fitting is needed, and the argument unit is passed to the generic unit directly. The compatibility of the arguments must be ensured (by checking that common symbols originate from the same unit declaration).


CoFI Document: CASL/Summary --Version 0.99-- 21 April 1998.
Comments to cofi-language@brics.dk

Prev Up