Software Connectors Copyright Richard N Taylor Nenad Medvidovic
- Slides: 32
Software Connectors Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Software Architecture Foundations, Theory, and Practice What is a Software Connector? l l Architectural element that models u Interactions among components u Rules that govern those interactions Simple interactions u Procedure calls u Shared variable access Complex & semantically rich interactions u Client-server protocols u Database access protocols u Asynchronous event multicast Each connector provides u Interaction duct(s) u 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 l l Connectors in software system implementations u Frequently no dedicated code u Frequently no identity u Typically do not correspond to compilation units u Distributed implementation Connectors in software architectures u First-class entities u Have identity u Describe all system interaction u Entitled to their own specifications & abstractions 4
Software Architecture Foundations, Theory, and Practice Benefits of First-Class Connectors l l l l Separate computation from interaction Minimize component interdependencies Support software evolution u At component-, connector-, & system-level Potential for supporting dynamism Facilitate heterogeneity Become points of distribution Aid system analysis & testing 5
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. 6
Software Architecture Foundations, Theory, and Practice An Example of Explicit Connectors (cont’d) ? 7 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 l l l Locus of interaction among set of components Protocol specification (sometimes implicit) that defines its properties u Types of interfaces it is able to mediate u Assurances about interaction properties u Rules about interaction ordering u Interaction commitments (e. g. , performance) Roles u Communication u Coordination u Conversion u Facilitation 8
Software Architecture Foundations, Theory, and Practice Connectors as Communicators l l Main role associated with connectors Supports u Different communication mechanisms l e. g. procedure call, RPC, shared data access, message passing u Constraints on communication structure/direction l e. g. pipes u Constraints on quality of service l e. g. persistence Separates communication from computation May influence non-functional system characteristics u e. g. performance, scalability, security 9
Software Architecture Foundations, Theory, and Practice Connectors as Coordinators l l Determine computation control Control delivery of data Separates control from computation Orthogonal to communication, conversion, and facilitation u Elements of control are in communication, conversion and facilitation 10
Software Architecture Foundations, Theory, and Practice Connectors as Converters l l l Enable interaction of independently developed, mismatched components Mismatches based on interaction u Type u Number u Frequency u Order Examples of converters u Adaptors u Wrappers 11
Software Architecture Foundations, Theory, and Practice Connectors as Facilitators l l Enable interaction of components intended to interoperate u Mediate and streamline interaction Govern access to shared information Ensure proper performance profiles u e. g. , load balancing Provide synchronization mechanisms u Critical sections u Monitors 12
Software Architecture Foundations, Theory, and Practice Connector Types l l l l Procedure call Data access Event Stream Linkage Distributor Arbitrator Adaptor 13
Software Architecture Foundations, Theory, and Practice A Framework for Classifying Connectors 14 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 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 Event 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 Data Access 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 Linkage 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 Stream 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 Arbitrator 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 Adaptor 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 Distributor 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 Discussion l l l Connectors allow modeling of arbitrarily complex interactions Connector flexibility aids system evolution u Component addition, removal, replacement, reconnection, migration Support for connector interchange is desired u Aids system evolution u May not affect system functionality 23
Software Architecture Foundations, Theory, and Practice Discussion l l l Libraries of OTS connector implementations allow developers to focus on application-specific issues Difficulties u Rigid connectors u Connector “dispersion” in implementations Key issue u Performance vs. flexibility 24
Software Architecture Foundations, Theory, and Practice How Do You Select a Connector? l l Determine a system’s interconnection and interaction needs u Software interconnection models can help Determine roles to be fulfilled by the system’s connectors u Communication, coordination, conversion, facilitation For each connector u Determine its appropriate type(s) u Determine its dimensions of interest u Select appropriate values for each dimension For multi-type, i. e. , composite connectors u Determine the atomic connector compatibilities 25
Software Architecture Foundations, Theory, and Practice Simple Example l l l System components will execute in two processes on the same host u Mostly intra-process u Occasionally inter-process The interaction among the components is synchronous The components are primarily computation-intensive u There are some data storage needs, but those are secondary 26
Software Architecture Foundations, Theory, and Practice Simple Example (cont’d) Ø Ø Ø Select procedure call connectors for intra-process interaction Combine procedure call connectors with distributor connectors for inter-process interaction Ø RPC Select the values for the different connector dimensions Ø What are the appropriate values? Ø What values are imposed by your favorite programming language(s)? 27
Software Architecture Foundations, Theory, and Practice Procedure Call Connectors Revisited 28 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 Revisited 29 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 Two Connector Types in Tandem Select the appropriate values for PC and RPC! 30 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 Composing Basic Connectors l l l In many systems a connector of multiple types may be required to service (a subset of) the components All connectors cannot be composed u Some are naturally interoperable u Some are incompatible u All are likely to require trade-offs The composition can be considered at the level of connector type dimensions and subdimensions 31
Software Architecture Foundations, Theory, and Practice Well Known Composite Connectors l l Grid connectors (e. g. , Globus) u Procedure call u Data access u Stream u Distributor Peer-to-peer connectors (e. g. , Bittorrent) u Arbitrator u Data access u Stream u Distributor Client-server connectors Event-based connectors 32
- Nenad medvidovic
- Nenad medvidovic
- Taylor tlso
- What is death
- Ivanhoe 1952
- Profesor glumbic
- Mirjana djordjevic fasper
- Nenad glumbic
- Glumbi
- Masinska vizija etf
- Demeter open call
- Nenad jovicic etf
- Nenad mojsović
- Nenad jovicic etf
- Zloupotreba alternativne medicine
- Nenad ivezic
- Nenad leder
- Nenad mirkovich
- Nenad pandak
- Power in looking for richard
- Connectors in software architecture
- Logical connectors examples
- Bus topology connectors
- Fanboys adalah
- Muscle connectors
- What are boolean connectors
- Logical connectors examples
- Protectron connectors
- Preposition and connectors
- Essay connectors
- Connectors for essays
- There is no tissue stop in the maxillary gride work, why?
- Power platform data connectors