This section indicates the abstract and (tentative!) concrete syntax of the constructs of architectural specifications, and describes their intended interpretation, extending what was provided for basic and structured specifications in Parts I and II.
ARCH-SPEC-DEFN ::= arch-spec-defn ARCH-SPEC-NAME ARCH-SPEC ARCH-SPEC ::= BASIC-ARCH-SPEC | ARCH-SPEC-NAME
An architectural specification definition ARCH-SPEC-DEFN is written:
where the terminating `end' keyword is optional.
- arch spec
- ASN =
- ASP
- end
It defines the name ASN to refer to the architectural specification ASP, extending the global environment (which must not already include a definition for ASN). The local environment given to ASP is empty.
ARCH-SPEC-NAME ::= SIMPLE-ID
An architectural specification name ARCH-SPEC-NAME is normally displayed in a SMALL-CAPS font, and input in mixed upper and lower case.
A reference in an architectural specification ARCH-SPEC to an architectural specification named ASN is simply written as the name itself `ASN'. It refers to the the current global environment, and is well-formed only when the global environment includes an architectural specification definition for ASN. The enclosing definition then merely introduces a synonym for a previously-defined architectural specification.
BASIC-ARCH-SPEC ::= basic-arch-spec UNIT-DECL-DEFN+ RESULT-UNIT UNIT-DECL-DEFN ::= UNIT-DECL | UNIT-DEFN RESULT-UNIT ::= result-unit UNIT-EXPRESSION
A basic architectural specification BASIC-ARCH-SPEC is written:
units UD1; ... UDn; result UE;where both the last two semicolons are optional.
It consists of a list of unit declarations and definitions UD1, ..., UDn, together with a unit expression UE describing how such units are to be composed. A model of such an architectural specification consists of a unit for each UDi, and the composition of these units as described by UE.