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: Bind
Up: Composite Implementation
Previous: Instantiation
Comments?
Mail the current maintainer of this page.
Author:
Gregory Zelesnik
Last Modified: May 12, 1996