next up previous top
Next: SharedData
Up: Component Type
Previous: Module

Computation

Semantics

The component type Computation is a specialization of the Module component type. The difference between the two is that a component of type Computation does not define and export global data or contain input and output operations to and from files. This type is intended to capture the semantics of purely computational units that are collections of procedure definitions and calls. Components of type Computation define and export procedures and functions, and they make calls to functions and access global data defined in other compilation units.

Player types

Players of the following types can be legally exposed in the interface of a component of type Computation:

an exported procedure or function definition
a call to an exported procedure or function definition in another compilation unit
a reference to an exported global data definition in another compilation unit
a collection of programming language players, players of types
RoutineDef, RoutineCall, and GlobalDataUse

Properties

The following properties can be legally included in the property list of a component of type Computation. Properties legal in an <interface> property list have a C in parentheses after the property name; those legal in an <instantiation> property list have an I:

The syntax for an InstFormals property in a component of type
Computation is a comma-separated list of <parameter>s enclosed in parentheses. A <parameter> consists of an <identifier>, followed by a `=', followed by a <complex string> or the language keyword NODEFAULT. A <complex string> is a simple "string" or a sequence of "string"s concatenated by the `&' character:

INSTFORMALS (first_parameter = "an initial value",
second_parameter = "a much" &
"longer initial value that " &
"will not fit on one line",
third_parameter = NODEFAULT)
The syntax for a Variant property in a component of type
Computation is a single <identifier> or "string" surrounded by parentheses:

VARIANT (a_variant_name)
VARIANT ("a variant name")
The syntax for a Processor property in a component of type
Computation is a single <identifier> or "string" surrounded by parentheses:

PROCESSOR (a_processor_name)
PROCESSOR ("a.processor.name")
The syntax for an EntryPoint property in a component of type
Computation is a single <identifier> or "string" surrounded by parentheses:

ENTRYPOINT (an_entrypoint_name)
ENTRYPOINT ("an entrypoint name")
The Library property has no associated value. The syntax, therefore, is simply:

LIBRARY

Semantic Checks

No special semantic checks are made for components of type Computation.

Implementation Consideration

The source code implementation of a Computation component is simply a collection of externally defined C functions. The functions may make calls to externally defined functions in other compilation units and may reference externally defined data as well.


next up previous top
Next: SharedData
Up: Component Type
Previous: Module

Comments? Mail the current maintainer of this page.

Author: Gregory Zelesnik

Last Modified: May 12, 1996