A player definition contains:
Players are further specified by properties in the property list of the player definition. Properties can be thought of as attributes of a definition which are used to further describe (i.e., specify) it. For players, they are attributes, requirements, and constraints that apply to the player as a whole. There are many places in UniCon where lists of properties are used to further specify a definition. In players, properties are used to specify information such as the signature of the arguments in a routine definition, the port in a Unix process through which a stream player will communicate, or the number of player/role associations that are allowed for a given player in a component.
<player> :==
PLAYER <identifier> IS <player_type>
<optional_end_player_syntax>
Players can be defined with and without properties. In the latter case, the player definition appears as follows:
<player_type> :==
GlobalDataDef
| GlobalDataUse
| PLBundle
| ReadFile
| ReadNext
| RoutineCall
| RoutineDef
| RPCCall
| RPCDef
| RTLoad
| StreamIn
| StreamOut
| WriteFile
| WriteNext
<optional_end_player_syntax> :==
EMPTY
| <property_list> END <identifier>
PLAYER my_read_player IS ReadNextNotice that if no properties are specified in a player definition (i.e., the property list is empty), the END statement is omitted.
In the former case, the player definition appears as follows:
PLAYER my_input_player IS StreamIn SIGNATURE ("line") PORTBINDING (stdin) END my_input_playerThe END statement is required in this case. The <identifier> in the END statement must be identical to the <identifier> following the keyword PLAYER.
Author:
Last Modified: May 12, 1996