Software Connectors Software Architecture Lecture 7 Copyright Richard N Taylor Nenad Medvidovic and Eric M Dashofy All rights reserv 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 2 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 4 Software Architecture Foundations Theory and Practice 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 5 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 Asymmetric vs Symmetric Interaction protocols 6 Software Architecture Foundations Theory and Practice Treating Connectors Independently cont d Localization of interaction definition Extra component system interaction information Component independence Component interaction flexibility 7 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 8 Software Architecture Foundations Theory and Practice An Example of Explicit Connectors Software Architecture Foundations Theory and Practice Richard N Taylor Nenad Medvidovic and Eric M Dashofy 2008 John Wiley Sons Inc Reprinted with permission 9 Software Architecture Foundations Theory and Practice An Example of Explicit Connectors cont d 10 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 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 Assurances about interaction properties Rules about interaction ordering Interaction commitments e g performance Roles Communication Coordination Conversion Facilitation 11 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 12 Software Architecture Foundations Theory and Practice Connectors as Coordinators Determine computation control Control delivery of data Separates control from computation Orthogonal to communication conversion and facilitation Elements of control are in communication conversion and facilitation 13 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 14 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 15 Software Architecture Foundations Theory and Practice Connector Types Procedure call Data access Event Stream Linkage Distributor Arbitrator Adaptor 16 Software Architecture Foundations Theory and Practice A Framework for Classifying 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 Procedure Call 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 Event 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 Data Access 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 Linkage 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 Stream 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 Arbitrator 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 Software Architecture Foundations Theory and
View Full Document