文档介绍:Software Connectors
Software Architecture
2
What is a Software Connector?
Architectural element that models
Interactions ponents
Rules that govern those interactions
Simple interactions
Procedure calls
Shared variable plex & semantically rich interactions
Client-server protocols
Database access protocols
Asynchronous event multicast
Each connector provides
Interaction duct(s)
Transfer of control and/or data
3
Where are Connectors in Software Systems?
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
4
Implemented vs. Conceptual Connectors
Connectors in software system implementations
Frequently no dedicated code
Frequently no identity
Typically do not correspond pilation units
Distributed implementation
Across multiple modules
Across interaction mechanisms
5
Implemented vs. Conceptual Connectors (cont’d)
Connectors in software architectures
First-class entities
Have identity
Describe all system interaction
Entitled to their own specifications & abstractions
6
Reasons for Treating Connectors Independently
Connector ponents provide application-specific functionality
Connectors provide application-independent interaction mechanisms
Interaction abstraction and/or parameterization
Specification plex interactions
Binary vs. N-ary
Asymmetric vs. Symmetric
Interaction protocols
7
Treating Connectors Independently (cont’d)
Localization of interaction definition
ponent system (interaction) ponent ponent interaction flexibility
8
Benefits of First-Class Connectors
putation from interaction
ponent interdependencies
Support software evolution
ponent-, connector-, & system-level
Potential for supporting dynamism
Facilitate heterogeneity
e points of distribution
Aid system analysis & testing
9
An Example of Explicit Connectors
Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M.