1 / 19

Connector Types

Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in modeling and analyzing an architecture. As a result, connectors are further classified into eight types:

Download Presentation

Connector Types

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in modeling and analyzing an architecture. As a result, connectors are further classified into eight types: Procedure calls, event, data access, linkage, stream, Arbitrator, Adaptor, and Distributor Connector Types

  2. Procedure Call Connectors: • Model flow of control. (Coordination) • Perform transfer of data via parameters (Communication).

  3. Event Connectors • An event is defined as “...an instantaneous instance (normal or abnormal) termination of the invocation of an operation on an object, which occurs at that object's location” • Flow of Control (Coordination) • Provide communication channels (Communication).

  4. Event Connectors (con't) • Event Connectors establish virtual connectors between components interested in the same event topics. • Rely on notion of time and ordering of actions. • Dimensions such as casuality, atomicity, and sychronicity play a critical role.(!).

  5. Event Connectors (con't) • Example of an event connector in practice: • An Android application ecosystem where one component broadcasts an Intent (Java object containing event data) to several listening Activity objects for processing. • User deactivates Bluetooth while an application that requires it is running. That application's Activity objects are notified so that they may act accordingly.

  6. Data Access Connectors • Allow components to access data maintained by a data store. (Communication). • May need to convert data into a usable format (Conversion). • Data can be stored persistently (SQL database access) or temporarily (accessing cached values).

  7. Linkage Connectors: • Used to tie system components together. • Enable the establishment of ducts used by higher order connectors to enforce interaction semantics (Facilitation). • May disappear once no longer needed, or remain in order to facilitate the system's evolution.

  8. Linkage Connectors (con't) • Linkage connectors have a dimension called “granularity”, which refers to the size of components and level of detail required to establish a linkage: • Unit: specifies that only one component depends on another • Syntactic: establishes links between variables, procedures, functions, constants, and types within the linked components. • Semantic: specifies how the linked components are supposed to interact.

  9. Stream Connectors • Used to perform transfers of large amounts of data (Communication). • Can be combined with other types of connectors. • Examples: Unix pipes, TCP/UDP communication sockets, client-server protocols.

  10. Arbitrator Connectors • When components cannot make assumptions about the needs and state of other components, arbitrator connectors streamline operation and resolve conflicts, and redirect the flow of control (Facilitation and Coordination). • Provide scheduling and load balancing services. • Can ensure system trustworthiness by providing crucial support for dependability in the form of reliability, safety, and security.

  11. Adaptor Connectors • Provide facilities to support interaction between components that have not been designed to interoperate. (Conversion). • Necessary for heterogeneous environments. • Can be used to optimize interactions. • May employ transformations to match required services to available facilities. • Example: Java wrapper/JVM plugin that interfaces with a daemon written in C.

  12. Distributor Connectors • “Distributor connectors perform the identification of interaction paths and subsequent routing of communication and coordination information among components along these paths” (Facilitation). • Never exist by themselves, but provide assistance to other connectors.

  13. Examples of Distributed Connectors • Four examples of distributed connectors that use multiple connector types • Event-Based Data Distribution Connectors • Grid-Based Data Distribution Connectors • Client-Server—Base Data Distribution Connectors • P2P-Based Data Distribution Connectors.

  14. Event-Based Data Distribution Connectors • Compositions of four of the connector types: • Event, data access, stream, and distributor. • Send and receive asynchronous notifications called events. • Events can be prioritized, tailored, and specified by system users. • Data can be accessed, possibly mutated, and packaged into streams using a best-effort approach.

  15. Grid-Based Data Distribution Connectors • Composition of four of the connector types • Procedure call, data access, stream, and distributor. • Invoked via a named, synchronous procedure call. • URLs describe where the data is and who is to receive it. • Access and mutate transient and persistent data • Package data into streams.

  16. Grid-Based Data Distribution Connectors • Data delivered using the grid environment. • Data can be delivered to multiple consumers.

  17. Client-Server—Based Data Distribution Connectors • Composition of four of the connector types • Procedure call, data access, stream, and distributor. • Invoked via remote procedure calls that appear to the client to be local procedure calls. • Method can have return values • Upon invocation, data is accessed, mutated, and packaged into streams. • Data is streamed back using a naming registry to locate the requesting consumer.

  18. P2P-Based Data Distribution Connectors • Composition of four of the connector types: • Arbitrator, data access, stream, and distributor. • Relies on arbitration for synchronization and invocation. • “Arbitration involves control flow redirection between distributed resources, or peers, operating in a networked environment.” • Uses rendezvous as a mechanism to achieve concurrency and scheduling.

  19. P2P-Based Data Distribution Connectors (con't) • Upon invocation, peers engage in accessing transient and persistent data. • Data is accessed and packaged via streams using a best effort bounded mechanism. • Data is obtained by locating other peers with desired pieces of data. • Data Routing is mostly handled by a tracking mechanism.

More Related