next up previous top
Next: Bind
Up: Composite Implementation
Previous: Instantiation

Connection

Description

The <connection> statement is used to describe how components and connectors are hooked together in a composite implementation of a component. Along with the
<establish> statement, it is used to specify the configuration information in a composite implementation. More concretely, it is used to associate a player in a component instantiation with a role in a connector instantiation. A "connection" in UniCon consists of all of the player/role associations in a composite implementation involving a given connector instantiation.

Each dot-separated pair of identifiers in a <connection> must name either a role or a player. There is no requirement regarding which one should come first. The
<connection> statement must name exactly one player and exactly one role; it may not name two players or two roles. If the pair of identifiers names a player, the first
<identifier> in the dot-separated pair must name a component instantiation, and the second must name a player in that component instantiation. If the pair of identifiers names a role, the first <identifier> must name a connector instantiation, and the second must name a role in that connector instantiation. In both cases, the component and connector named by the first <identifier> must have been instantiated in <instantiation> statements prior to the specification of the <connection> statement.

Syntax

The following is the syntax for a <connection> statement:

<connection> :== 
  CONNECT <identifier>.<identifier> TO 
    <identifier>.<identifier>

Example

The following are two examples of <connection> statements that define a complete "connection" in UniCon. It connects players in the RTServer and RTClient components to the RTM_RTScheduler connector illustrated in the Example for the <instantiation> statement. Assume for the sake of this example that both the RTClient and RTServer components export RTLoad players named "rt_load." Also, assume that the RTScheduler connector exports a Load role named "load."

  CONNECT RTClient.rt_load TO RTM_RTScheduler.load
  CONNECT RTServer.rt_load TO RTM_RTScheduler.load

next up previous top
Next: Bind
Up: Composite Implementation
Previous: Instantiation

Comments? Mail the current maintainer of this page.

Author: Gregory Zelesnik

Last Modified: May 12, 1996