SYSTEM CONNECTOR_SYSTEM Part: 1/1
Purpose
“The connector architecture realizes the connections between the major components that make up the system. The connectors are first-class entities and provide a single 'plug-in/snap-on/strap-on' architecture for high-speed, lightweight, reliable inter-component communication.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector”, “components”, “data stream”;
Cluster Description
SPECIFICATION “This cluster holds the set of core interfaces and classes used to define a new component and complementary connector. No implementation-specific classes are in this cluster.”
IMPLEMENTATIONS “This cluster contains a set of subclusters, each of which is an implementation of the connector architecture for a different communication mechanism.”
UTILITY “This cluster contains a set of utility classes that are shared by the connector implementations.”
CLUSTER SPECIFICATION Part: 1/1
Purpose
“This cluster holds the set of core interfaces and classes used to define a new component and complementary connector. No implementation-specific classes are in this cluster.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector”;
Class Description
SDO “Semantic Data Object; the primary communication mechanism for the Connector architecture.”
CONNECTOR “The connection between two or more components.”
COMPONENT “A part of the system that is compositional and will be connected to other components with connectors.”
CHANNEL “A potential communication medium for connectors.”
CHANNEL_INFORMATION “Describes the capabilities of a channel.”
NEGOTIATOR “Negotiates the channel properties between components and instantiates the appropriate connector.”
MANAGER “Manages the set of all connectors in a process.”
LEVEL “An ordered set associated with the multi-resolution nature of connector data.”
TYPE “The basic and extended types applied to data in SDOs.”
CLUSTER IMPLEMENTATIONS Part: 1/1
Purpose
“This cluster contains a set of subclusters, each of which is an implementation of the connector architecture for a different communication mechanism.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Cluster Description
MESSAGING “Communication between a set of components via a messaging architecture.”
LOCAL_METHOD_INVOCATION “Communication between a set of components via local method invocation.”
SHARED_MEMORY “Communication between a set of components via shared memory.”
LOCAL_FILES “Communication between a set of components via shared files in a filesystem.”
PIPES “Communication between a set of components via anonymous or named pipes.”
LOOPBACK “Communication between a set of components via a loopback network device.”
REMOTE_METHOD_INVOCATION “Communication between a set of components via remote method invocation (RMI).”
DATABASE “Communication between a set of components via shared database records and/or tables.”
TUPLE_SPACE “Communication between a set of components via a tuple space (JavaSpace).”
CLUSTER MESSAGING Part: 1/1
Purpose
“Communication between a set of components via a messaging architecture.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER LOCAL_METHOD_INVOCATION Part: 1/1
Purpose
“Communication between a set of components via local method invocation.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER SHARED_MEMORY Part: 1/1
Purpose
“Communication between a set of components via shared memory.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER LOCAL_FILES Part: 1/1
Purpose
“Communication between a set of components via shared files in a filesystem.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER PIPES Part: 1/1
Purpose
“Communication between a set of components via anonymous or named pipes.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER LOOPBACK Part: 1/1
Purpose
“Communication between a set of components via a loopback network device.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER REMOTE_METHOD_INVOCATION Part: 1/1
Purpose
“Communication between a set of components via remote method invocation (RMI).”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER DATABASE Part: 1/1
Purpose
“Communication between a set of components via shared database records and/or tables.”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLUSTER TUPLE_SPACE Part: 1/1
Purpose
“Communication between a set of components via a tuple space (JavaSpace).”
Indexing
author: “Joseph Kiniry”;
keywords: “connector implementations”;
note: “These clusters have not yet been specified.”;
Class Description
NONE “A placeholder for refinement of this cluster.”
CLASS NONE Part: 1/1
Type Of Object
“The 'bottom' class of all classes. NONE inherits from all classes and has no features.”
Indexing
Queries
Commands
Constraints
CLUSTER UTILITY Part: 1/1
Purpose
“This cluster contains a set of utility classes that are shared by the connector implementations.”
Indexing
author: “Joseph Kiniry”;
keywords: “utility functions”, “bandwidth”, “latency”;
Class Description
CHANNEL_ANALYST “Aggregate data and associated analysis of channel availability and conditions.”
DEBUGGING “Enable, disable, and fine-tune debugging information within the Connector architecture.”
CLASS SDO Part: 1/1
Type Of Object
“A Semantic Data Object.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What data/SDO is associated with a given Tag?”
“Is a given tag valid?”
“Is a given level valid?”
“Is a given tag used?”
“Does this SDO contain at least one tag of a specified level?”
“What is the current size?”
“What is the current tag set?”
“What is the current value set?”
“How many entries (triples) exist?”
“What is the type of the data associated with a Tag?”
Commands “Add/replace (Tag,Level,Data) triple.”
“Add/replace (Tag,Level,SDO) triple.”
“Delete a triple based upon a Tag.”
“Delete all triples above a certain level.”
“Delete all triples below a certain level.”
Constraints “All tags must be valid.”
“All used tags has been added but not deleted.”
“No two tags can be the same.”
“A valid tag is a non-null String.”
“The size of an SDO is exactly the sum of the sizes of its (Tag,Level,Data) triples.”
“The number of entries in an SDO is exactly the number of tags in its tag set.”
CLASS CONNECTOR Part: 1/1
Type Of Object
“A connector between two or more components.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What is the current level of this connector?”
“What is the current network utilization?”
“What is the name of this connector?”
“Which channel is used by this connector?”
“Which components are attached to this connector?”
Commands “Send SDO.”
“Receive SDO.”
“Close this connector.”
“Set the name of this connector.”
Constraints “All connectors have legal levels.”
“All connectors have a legal name.”
“The components associated with a connector are exactly the connector associated with the components.”
CLASS COMPONENT Part: 1/1
Type Of Object
“A major part of the system that will be used compositionally and composed via connectors.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What connectors are associated with this component?”
“What levels are associated with the connectors of this component?”
“What is the maximum level associated with any connector of this component?”
“What is the maximum level associated with a connector of this component?”
“What bandwidth communication demands does this component make on a connector at each level?”
“What latency communication demands does this component make on a connector at each level?”
“Is this component ready to be queried and have its connectors manipulated?”
“What interfaces does this component need?”
“What are the interfaces that this component provides?”
Commands “Add a connector to the set of connectors through which this component communicates.”
“Remove a connector from the set of connectors through which this component communicates.”
“Initialize this component so that it is prepared for being queried and having connectors manipulated.”
Constraints “The components associated with a connector are exactly the connector associated with the components.”
CLASS CHANNEL Part: 1/1
Type Of Object
“A potential communication medium for connectors.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “Is this channel being used?”
“What are the current legal channels?”
“What are the potential communication properties of this channel?”
“What is the current state of this communication channel?”
“Which connectors are using this channel?”
“What is the identifier for a channel type?”
Commands “Build and return a new Channel for a particular channel type.”
“Make this channel available for future connectors.”
“Make this channel unavailable for future connectors.”
“Register a new channel.”
“Unregister a channel.”
Constraints “All types mentioned are elements of the legal channel types set.”
CLASS CHANNEL_INFORMATION Part: 1/1
Type Of Object
“Describes the capabilities of a channel.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-08-15 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What is the maximal data rate of the channel (in kilobytes per second)?”
“What is the average data rate of the channel (in kilobytes per second)?”
“What is the minimal latency of the channel (in milliseconds)?”
“What is the average latency of the channel (in milliseconds)?”
“What is the identifier for this channel type?”
“What is a printable string form for this data?”
“Is this object equal to another?”
Commands
Constraints “Maximum data rate is non-negative.”
“Average data rate is non-negative.”
“Minimum latency is non-negative.”
“Average latency is non-negative.”
“Maximum data rate is at least average data rate.”
“Minimum latency is at most average latency.”
“Channel identifier is a valid and unique per channel-type string.”
CLASS NEGOTIATOR Part: 1/1
Type Of Object
“Negotiates the channel properties between components and instantiates the appropriate connector.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries
Commands “Bind a set of components together into a specified topology.”
Constraints
CLASS MANAGER Part: 1/1
Type Of Object
“Manages the set of all connectors in a process.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What are the connectors currently in use?”
“What components are available?”
“What channel types are available?”
“How many channel types are available?”
“Is a particular channel type currently available?”
Commands “Initialize the Connector system.”
“Perform an orderly/immediate shutdown all connectors.”
“Perform an orderly/immediate shutdown of a specific connector.”
“Register/unregister a component with the manager.”
“Compose a set of components.”
Constraints
CLASS LEVEL Part: 1/1
Type Of Object
“Levels associated with components, connectors, and data in SDOs.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “Is this level bigger/smaller than/equal to another?”
“What is the value of this level?”
Commands “Set the level to a particular value.”
Constraints “Level values are non-negative floats.”
CLASS TYPE Part: 1/1
Type Of Object
“The type of a data value in an SDO.”
Indexing
in_cluster: “SPECIFICATION”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What are the valid basic types?”
“Is a given type a valid/basic/user type?”
Commands “Add a new type to the set of user types.”
“Remove a type from the set of user types.”
Constraints “The set of basic types is invariant.”
CLASS CHANNEL_ANALYST Part: 1/1
Type Of Object
“Aggregate data and associated analysis of channel availability and conditions.”
Indexing
in_cluster: “UTILITY”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “What is the current information available for a particular channel type?”
Commands “Start/stop gathering data on a particular channel type.”
“Start/stop gathering data on all channel types.”
Constraints “All channel types are exactly one of the set of types specified in the CHANNEL class.”
CLASS DEBUGGING Part: 1/1
Type Of Object
“Enable, disable, and fine-tune debugging information within the Connector architecture.”
Indexing
in_cluster: “UTILITY”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Queries “Is debugging enabled?”
“Is debugging enabled on a particular channel type?”
“Is debugging enabled on a particular connector?”
Commands “Enable/disable debugging on a particular channel type.”
“Enable/disable debugging on a particular connector.”
Constraints
EVENT CONNECTOR_SYSTEM Part: 1/2
Comment
“Selected external events triggering representative types of behavior.”
Indexing
author: “Joseph Kiniry”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
External (incoming) Involved object types
“Request to initialize Connecter system.” MANAGER, NEGOTIATOR, DEBUGGING, CHANNEL_ANALYST, (IMPLEMENTATIONS)
“Register/unregister a component.” MANAGER, COMPONENT, LEVEL, TYPE
“Shutdown all connectors.” MANAGER, CONNECTOR, (IMPLEMENTATIONS)
“Shutdown a specific connector.” MANAGER, CONNECTOR, CHANNEL
“Compose a set of components by type.” MANAGER, NEGOTIATOR, COMPONENT, CHANNEL, CONNECTOR, LEVEL, TYPE
“Compose a set of components by name.” MANAGER, COMPONENT, CHANNEL, CONNECTOR, LEVEL, TYPE
“Request for the list of components available.” MANAGER
“Request for the list of connector types available.” MANAGER
“Request for the list of components in use.” MANAGER
“Manipulate debugging system (turn on, turn off, enable specific channel types or connectors, etc.).” DEBUGGING
“Query the types of channels available.” MANAGER, CHANNEL
“Query the information available for a particular channel type.” CHANNEL_ANALYST, CHANNEL_INFORMATION, CHANNEL
“Start/stop channel information collection for a particular channel type/all channel types.” CHANNEL_ANALYST, CHANNEL
“Receive an SDO on a channel.” CHANNEL, CONNECTOR, CHANNEL_ANALYST
EVENT CONNECTOR_SYSTEM Part: 2/2
Comment
“Selected internal events triggering system responses leaving the system.”
Indexing
author: “Joseph Kiniry”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Internal (outgoing) Involved object types
“Send an SDO on a connector.” CHANNEL, CONNECTOR, CHANNEL_ANALYST, (IMPLEMENTATIONS)
“Query the properties of a channel.” CHANNEL, (IMPLEMENTATIONS)
“Query the state of a channel.” CHANNEL, (IMPLEMENTATIONS)
“Query the legal channel types.” CHANNEL, (IMPLEMENTATIONS)
“Make a channel type available/unavailable for connectors.” CHANNEL, (IMPLEMENTATIONS)
“Manipulate an SDO.” SDO, LEVEL, TYPE
“Compose a set of components to build a connector.” MANAGER, NEGOTIATOR, COMPONENT, CHANNEL, CONNECTOR, LEVEL, TYPE
“Create a new connector on a channel.” CONNECTOR, CHANNEL
SCENARIOS CONNECTOR_SYSTEM Part: 1/1
Comment
“Set of representative scenarios to show important types of system behavior.”
Indexing
author: “Joseph Kiniry”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Initialize the Connector system.
“When a system starts up the connector system needs to be initialized. This is a potentially lengthy operation in that it must query the system to determine which channel types are available.”
Shutdown the Connector system.
“When a system shuts down, all of the components, connectors, and channels need be shut down in an orderly fashion.”
Manipulate debugging subsystem.
“Turn on, turn off, enable specific channel types or connectors, etc.”
Manipulate the analysis subsystem.
“Query information for a particular channel type, start/stop channel information collection, etc.”
Send an SDO.
“A component sends an SDO on a connector, that connector appends the proper metadata for delivery and sends the SDO on its associated channel.”
Receive an SDO.
“The implementation of a channel delivers an SDO on a connector where it is inspected and queued by the connector for the proper component.”
Manipulate the components of a system.
“Register/unregister components with the system.”
Compose a set of components.
“A set of components are chosen and they are composed by the manager. The manager asks the negotiator to analyze the components, their needs, and the current channel availability, and determine which channel type and level is appropriate for this composition. The negotiator creates the new connector(s), registers them with the correct components, and turns on analysis and debugging as appropriate.”
Tear down a connection thus disconnecting two or more components.
“A connection is chosen to be disconnected. The manager disconnects it from its components, shuts analysis down for it, and finally shuts it down.”
Reconfigure a composition.
“Some change in communication or component conditions necessitates a change in component topology. Some external entity performs this analysis, tears down the appropriate connectors, and builds new connectors as appropriate.”
CREATION CONNECTOR_SYSTEM Part: 1/1
Comment
“List of classes creating objects in the system.”
Indexing
author: “Joseph Kiniry”;
created: “2000-07-12 Joseph Kiniry”;
revised: “$Id: connector.bon,v 1.5 2002/04/26 02:01:09 kiniry Exp $”;
Class Creates instances of
CHANNEL (IMPLEMENTATIONS)
CHANNEL_ANALYST CHANNEL_INFORMATION
MANAGER CHANNEL, CONNECTOR, DEBUGGING, NEGOTIATOR
CHANNEL SDO
CONNECTOR SDO, CHANNEL, (IMPLEMENTATIONS)
COMPONENT CHANNEL, SDO
CLASS DICTIONARY CONNECTOR_SYSTEM Part: 1/1
Comment
“BONc automatically generated class dictionary.”
Indexing
Class Cluster Description
CHANNEL SPECIFICATION “A potential communication medium for connectors.”
NEGOTIATOR SPECIFICATION “Negotiates the channel properties between components and instantiates the appropriate connector.”
MANAGER SPECIFICATION “Manages the set of all connectors in a process.”
CHANNEL_ANALYST UTILITY “Aggregate data and associated analysis of channel availability and conditions.”
CHANNEL_INFORMATION SPECIFICATION “Describes the capabilities of a channel.”
LEVEL SPECIFICATION “Levels associated with components, connectors, and data in SDOs.”
COMPONENT SPECIFICATION “A major part of the system that will be used compositionally and composed via connectors.”
SDO SPECIFICATION “A Semantic Data Object.”
CONNECTOR SPECIFICATION “A connector between two or more components.”
NONE LOOPBACK, LOCAL_METHOD_INVOCATION, PIPES, DATABASE, REMOTE_METHOD_INVOCATION, MESSAGING, TUPLE_SPACE, SHARED_MEMORY, LOCAL_FILES “The 'bottom' class of all classes. NONE inherits from all classes and has no features.”
DEBUGGING UTILITY “Enable, disable, and fine-tune debugging information within the Connector architecture.”
TYPE SPECIFICATION “The type of a data value in an SDO.”