next up previous top
Next: GlobalDataUse
Up: Player Type
Previous: Player Type

GlobalDataDef

Semantics

The player type GlobalDataDef corresponds to an exported data definition that is named and typed. Global data definitions are defined at the outer-most scope in a compilation unit and are made globally available for reference from anywhere within the process boundary in which it is defined.

A GlobalDataDef player does not correspond to a shared memory location in the operating system environment that can be accessed by code in different processes. It does represent data that can be accessed by any code within a process.

Component Types In

A player of type GlobalDataDef can legally be defined in components of the following types:

It cannot be defined in a component of type Computation because it breaks the abstraction of a purely computational unit that does not maintain state.

Role Type
Associations

A player of type GlobalDataDef can legally be associated with the following role types in connections of the specified type:

Properties

The following properties can be legally included in the property list of a GlobalDataDef player:

The syntax for the MaxAssocs property in a GlobalDataDef player is a single <integer> surrounded by parentheses:

MAXASSOCS (1)
The syntax for the MinAssocs property in a GlobalDataDef player is a single <integer> surrounded by parentheses:

MINASSOCS (0)
The syntax for the Signature property in a GlobalDataDef player is a single <identifier> or "string" surrounded by parentheses:

SIGNATURE (int)
SIGNATURE ("char *")

Implementation Considerations

An example of a GlobalDataDef player in the implementation would be an external variable definition in a C source code file. The following are examples:

/* defined anywhere in a C source code such a definition is legal */
extern int my_global_variable;
/* defined at the outer-most scope of a C source code file */ int another_global_variable;

next up previous top
Next: GlobalDataUse
Up: Player Type
Previous: Player Type

Comments? Mail the current maintainer of this page.

Author: Gregory Zelesnik

Last Modified: May 12, 1996