0% found this document useful (0 votes)
84 views

Lecture 7 Software Connectors

7

Uploaded by

Wajiha Sultana
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views

Lecture 7 Software Connectors

7

Uploaded by

Wajiha Sultana
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

Software Connectors

Software Architecture Lecture 7

Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.

Software Architecture

Foundations, Theory, and Practice

What is a Software Connector?

Architectural element that models Interactions among components Rules that govern those interactions Simple interactions Procedure calls Shared variable access Complex & semantically rich interactions Client-server protocols Database access protocols Asynchronous event multicast Each connector provides Interaction duct(s) Transfer of control and/or data

Software Architecture

Foundations, Theory, and Practice

Where are Connectors in Software Systems?

3
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Implemented vs. Conceptual Connectors

Connectors in software system implementations Frequently no dedicated code Frequently no identity Typically do not correspond to compilation units Distributed implementation Across multiple modules Across interaction mechanisms

Software Architecture

Foundations, Theory, and Practice

Implemented vs. Conceptual Connectors (contd)

Connectors in software architectures First-class entities Have identity Describe all system interaction Entitled to their own specifications & abstractions

Software Architecture

Foundations, Theory, and Practice

Reasons for Treating Connectors Independently

Connector Component Components provide application-specific functionality Connectors provide application-independent interaction mechanisms Interaction abstraction and/or parameterization Specification of complex interactions Binary vs. N-ary (the no of arguments a function can take) Asymmetric vs. Symmetric Interaction protocols
6

Software Architecture

Foundations, Theory, and Practice

Treating Connectors Independently (contd)


Localization of interaction definition Extra-component system (interaction) information Component independence Component interaction flexibility

Software Architecture

Foundations, Theory, and Practice

Benefits of First-Class Connectors


Separate computation from interaction Minimize component interdependencies Support software evolution At component-, connector-, & system-level Potential for supporting dynamism Facilitate heterogeneity Become points of distribution Aid system analysis & testing

Software Architecture

Foundations, Theory, and Practice

Software Connector Roles

Locus of interaction among set of components Protocol specification (sometimes implicit) that defines its properties Types of interfaces it is able to mediate (facilitate) Assurances about interaction properties Rules about interaction ordering Interaction commitments (e.g., performance) Roles Communication Coordination Conversion Facilitation

Software Architecture

Foundations, Theory, and Practice

Connectors as Communicators

Main role associated with connectors Supports Different communication mechanisms e.g. procedure call, RPC, shared data access, message passing Constraints on communication structure/direction e.g. pipes Constraints on quality of service e.g. persistence Separates communication from computation May influence non-functional system characteristics e.g. performance, scalability, security 10

Software Architecture

Foundations, Theory, and Practice

Connectors as Coordinators

Determine computation control Control delivery of data Separates control from computation

11

Software Architecture

Foundations, Theory, and Practice

Connectors as Converters

Enable interaction of independently developed, mismatched components Mismatches based on interaction Type Number Frequency Order Examples of converters Adaptors Wrappers
12

Software Architecture

Foundations, Theory, and Practice

Connectors as Facilitators

Enable interaction of components intended to interoperate Mediate and streamline interaction Govern access to shared information Ensure proper performance profiles e.g., load balancing Provide synchronization mechanisms Critical sections Monitors
13

Software Architecture

Foundations, Theory, and Practice

Connector Types

Procedure call Data access Event Stream Linkage Distributor Arbitrator Adaptor

14

Software Architecture

Foundations, Theory, and Practice

A Framework for Classifying Connectors

15
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Procedure Call Connectors

16
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Event Connectors

17
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Data Access Connectors

18
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Linkage Connectors

19
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Stream Connectors

20
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Arbitrator Connectors

21
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Adaptor Connectors

22
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

Software Architecture

Foundations, Theory, and Practice

Distributor Connectors

23
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; 2008 John Wiley & Sons, Inc. Reprinted with permission.

You might also like