صفحه 1:
Software Connectors Software Architecture Lecture 7 Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reser

صفحه 2:
مت What is a Software Connector? ٠» Architectural element that models Interactions among components Rules that govern those interactions e 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

صفحه 3:
ee RN ‏ماص‎ Where are Connectors in Software ‎REAL-TIME‏ و ‎Dara‏ ‎XN STREAM‏ ‎PIPE‏ ‎DATABASE‏ ‎‘ACCESS‏ ‎ ‎ ‎ ‏صم سیفن مسرت عا" منک ۵ با سل ۵۵۵06 ز 0۵9۵۴ ‎yr, Nenad Hedvidovic, and Eric M.‏ ‎ ‎Systems? ‎\ ‎ADT Op AccEss ‎PIPE ‎0 ‎۱ ‎Impurcit | InvocaTion\ ‏۱ ‏به ‏مايه ‎١‏ 6 ی مه ‎Rowtesieas, Theory; nit‏ سرعم اسل

صفحه 4:
مت 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

صفحه 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 # 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

صفحه 7:
مت Treating Connectors Independently (cont’d) ® Localization of interaction definition ° Extra-component system (interaction) information © Component independence © Component interaction flexibility

صفحه 8:
مت 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

صفحه 9:
مت An Example of Explicit Connectors

صفحه 10:
مت An Example of Explicit Connectors (cont’d)

صفحه 11:
مت 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

صفحه 12:
مت 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 ۰ 6.9. © Separates communication from computation » May influence non-functional system characteristics e.g. performance, scalability, security

صفحه 13:
مت 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

صفحه 14:
مت Connectors as Converters © Enable interaction of independently developed, mismatched components © Mismatches based on interaction » Type » Number Frequency Order © Examples of converters Adaptors Wrappers

صفحه 15:
مت 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

صفحه 16:
مت Connector Types Procedure call Data access Event Stream Linkage Distributor Arbitrator Adaptor

صفحه 17:
ee RN ‏ماص‎ A Framework for Classifying Connectors

صفحه 18:
ee RN ‏ماص‎ Procedure Call Connectors Dimension Subdimenton Value | — feterence ‏مده‎ tansior—<—— Vala Name Beta vues — Parametors ( —— Semantes = — Inne paramos. tum values sh from Lo Invocation econ — Push from Fat Fin tae Entry point <—— Mae — Metrod eat ‏اهروت‎ <= oo Invocation — impiet = — Asyrehronous ‘Synerwonicty —— ‏ی‎ ‎Ccarinaty ‏سسسب‎ Fan out — Private ‏سس مور‎ Bo | Service Type ‘Communication ‎erocedure call‏ سرح ‎ ‎Architecture: Foundations, Theory. and Practice: Richard W. Taylor, Nenad Medvidovic, and Eric M. Dashofy: ۵۵۵۵6 ‏مسمس ب مسرت سیک 0۵ سل‎ ‎

صفحه 19:
ee RN ‏ماص‎ Event Connectors Subdimension Value Producers Cantinaity <— Observers, / Event pattems —_— Best otfort — Exactly once: —— Atmos once Atleast once Type Dimension Delivery — Outing Prionty Incoming Synchronous —— Asynchronous — “Time out synchronous — Pollew ‏عاك‎ ‎— Central update — Gteued dispatch سس _ 6 سک مایم موم ‎Hardware <== — Intrrapts‏ — ۷ ‎Traps‏ ۰ Signals — Gut inpuvoutput — Taggers ‘Synchronicity —== Communication een ‎Notification —=‏ بصع ‎ ‎Causality — ‎ ‎ ‎ ‎ ‎Architectures: Pmindatians, Tarary; ont Proctiee: Riekard:W: Tayler; Nenad. Haditeavie, ۳ ‏سا ده 8 ی ند 00 اه‎ ‎ ‎ ‎

صفحه 20:
ee RN ‏ماص‎ Data Access Connectors Service Type Dimension Subdimension Value — Thread specie — Process speciic —— Glebat = —— Accessor Access —— ‏سح‎ Mutator — Locality ‏عب‎ Register Cache DMA Heap Stack Repository access File vO Dynamic data exchange Dataase Access —— Private Protected ‏تا‎ ‘Communication ۳ مه امه Accessibility — ۳ لشم سس ‎Litecycle‏ ‎Detines‏ —— — Cardinalty Arebisoctine: Rowndesioas; Theory; ant Proctice: Scher W: Toy er; Vened Wachee; nnd Erk 17: ‏ماهم‎ ١ 668006 ‏مس هتس منهج سكع مان حك‎

صفحه 21:
ee RN ‏ماص‎ Linkage Connectors Service Type Dimension Subdimension Value — | 1 ٩م‎ ‏الا سس 890160006 ل‎ 7 unit Variable 2 1 ‏وم‎ ‎_ Granularty ‏ی > مک سس‎ Ce ve Gonstant |) Fecttaion Linkage < Semantic Type - Detnes Uses — Cacinaity <—— HSS Requires 0 | ۳ anime =o Pre-compie-time 21 Architecture: Foundations, Theory. and Practice: Richard W. Taylor, Nenad Medvidovic, and Eric ۷۰ ‏و0۵۵۵‎

صفحه 22:
ee RN ‏ماص‎ Stream Connectors Service Tine Dimension ‘Subdimension Value Buttering —— — Atomic unis — fight unas — siaoiess ae ‏نت‎ Tougeout — — Names ‎amt‏ میا ‏ملع الما سس سح واه مرو م19 ‎Bias‏ — م۱ ‎cantoasy < — ut sender‏ —\ م٩ ‎—t‏ ‎ ‏سا ده 8 ی ند 00 اه 8142 ما۱ مس هار۳ ۸ سک رم مره ی ما۳ و 1ج

صفحه 23:
ee RN ‏ماص‎ 1 Arbitrator Connectors [Series Tipe Soortination itor ( action

صفحه 24:
ee RN ‏ماص‎ Adaptor Connectors Service Type Dimension Subdimension Value Address mapping Invocation <—— Marshalling Translation conversion —— Wrappers Packaging _ Packagers conversion’ Protocol conversion |] Conversion Adaptor. Prosentation conversion 24 ¢ Architecture: Foundations, Theory, and Practice; Richard W. Taylor, Nenad Hedvidovic, and Eric M. Dashoty; 6 ‏نان‎ bie Why B Com, he. pena ih ere

صفحه 25:
ee RN ‏ماص‎ Distributor Connectors Service Type Dimension Subdimension Value —— Structure basea << figrarehical — Naming < / — attbute based — Best ation - ‏لي‎ once 7 Semantics <= at most once Facilitation Distributor < — Atleast once \ Unicast Multicast ~— Broadcast _— Bounded — Ad-hoc ~ Static Cached Dynamic Mechanism < 25 ¢ Architecture: Foundations, Theory, and Practice; Richard W. Taylor, Nenad Hedvidovic, and Eric M. Dashoty; 6 ‏نان‎ bie Why B Com, he. pena ih ere

صفحه 26:
مت Discussion © Connectors allow modeling of arbitrarily complex interactions © Connector flexibility aids system evolution + Component addition, removal, replacement, reconnection, migration © Support for connector interchange is desired » Aids system evolution » May not affect system functionality

صفحه 27:
مت Discussion © Libraries of OTS connector implementations allow developers to focus on application-specific issues © Difficulties * Rigid connectors * Connector “dispersion” in implementations © Key issue » Performance vs. flexibility

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان