Software Connectors

Work in progress. This note is still being written and incomplete.

Software Connector

A software connector is an architectural element that performs the transfer of control and data among components.

Connectors can provide services such as:

  • Persistence
  • Invocation
  • Messaging
  • Transaction

Software connectors are not just calls between components, such as method calls.

Connectors in an Architecture

Connectors model:

  • Interactions among components.
  • Rules that govern these interactions.

Simple Interactions

  • Procedure calls
  • Shared variable access

Complex Interactions

  • Client-server protocols
  • Database access protocols
  • Asynchronous event multicast

Properties of Connectors

Each connector provides:

  • Interaction duct(s)
  • Transfer of control and/or data

Connectors are first-class entities that:

  • Have their own identity.
  • Describe system interactions.
  • Have their own specification and abstraction.

Connectors vs. Components

ComponentsConnectors
Provide application-specific functionality.Provide application-independent interaction mechanisms.
Focus on functionality abstraction and/or parametrisation.Focus on interaction abstraction and/or parametrisation.
Perform computation.Handle interaction.
Are connected through connectors.Connect components.

Connectors are independent of the components they connect.

Benefits of Connectors

Connectors provide several benefits:

  • Separate computation from interaction.
  • Minimize component interdependencies.
  • Support software evolution.
  • Support evolution at component, connector, and system levels.
  • Provide potential for dynamism.
  • Facilitate heterogeneity.
  • Become points of distribution.
  • Aid system analysis and testing.
Written by October 9, 2026 2 min read
Was this helpful?