next up previous top
Next: MapsTo
Up: Property
Previous: IOMode

Library

Description

The Library property is used to further specify Computation, Module, SeqFile, and
SharedData components. Specifying this property sets the value of the MinAssocs property to zero for every RoutineDef, GlobalDataDef, ReadNext, and WriteNext player in these types of components. This effectively allows players of these types to go unconnected in the construction of a composite implementation of a component.

The property may be specified in the definition or instantiation of one of these components, although it makes more sense to further specify a definition of a component - whether or not a collection of routines acts like a library is usually an attribute of the source code implementation that does not change from instantiation to instantiation.

The Library property also instructs UniCon to create a Unix archive file from the constituent source and object files when the property is applied to a component with a composite implementation. This is effectively an intermediate build step, where the UniCon compiler (1) collects the sources and objects that implement the individual components in the configuration in a composite implementation, (2) compiles the sources, and (3) adds all of the objects to a Unix archive file. The UniCon compiler uses the archive file in later parts of the build process and leaves the file around for the system designer as an artifact of the build process.

Property Lists

The Library property can legally be specified in the property list in the following UniCon language elements:

Value Syntax

The Library property has no value part.

Required Rule

Optional

There is no default value for the Library property.

Merge Rule

REPLACE

For the Library property, the merge rule has no effect since there is no value part.

Semantic Checks

No semantic checks are performed since the Library property has no value part.

Example

The following is an example of a specification of a Library property. It is embedded in the interface of a Module component:

  INTERFACE IS
    TYPE Module
    LIBRARY
    PLAYER timeget IS RoutineDef
      SIGNATURE ("new_type"; "void")
    END timeget
    PLAYER timeshow IS RoutineDef
      SIGNATURE (; "void")
    END timeshow
  END INTERFACE 

next up previous top
Next: MapsTo
Up: Property
Previous: IOMode

Comments? Mail the current maintainer of this page.

Author: Gregory Zelesnik

Last Modified: May 12, 1996