Software Connectors
اسلاید 1: Software ConnectorsSoftware Architecture Lecture 7
اسلاید 2: What is a Software Connector?Architectural element that modelsInteractions among componentsRules that govern those interactionsSimple interactionsProcedure callsShared variable accessComplex & semantically rich interactionsClient-server protocolsDatabase access protocolsAsynchronous event multicastEach connector providesInteraction duct(s)Transfer of control and/or data2
اسلاید 3: Where are Connectors in Software Systems?3Software 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 ConnectorsConnectors in software system implementationsFrequently no dedicated codeFrequently no identityTypically do not correspond to compilation unitsDistributed implementationAcross multiple modulesAcross interaction mechanisms4
اسلاید 5: Implemented vs. Conceptual Connectors (cont’d)Connectors in software architecturesFirst-class entitiesHave identityDescribe all system interactionEntitled to their own specifications & abstractions5
اسلاید 6: Reasons for Treating Connectors IndependentlyConnector ComponentComponents provide application-specific functionalityConnectors provide application-independent interaction mechanismsInteraction abstraction and/or parameterizationSpecification of complex interactionsBinary vs. N-aryAsymmetric vs. SymmetricInteraction protocols6
اسلاید 7: Treating Connectors Independently (cont’d)Localization of interaction definitionExtra-component system (interaction) informationComponent independenceComponent interaction flexibility7
اسلاید 8: Benefits of First-Class ConnectorsSeparate computation from interactionMinimize component interdependenciesSupport software evolutionAt component-, connector-, & system-levelPotential for supporting dynamismFacilitate heterogeneityBecome points of distributionAid system analysis & testing8
اسلاید 9: An Example of Explicit Connectors9Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 10: 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.
اسلاید 11: Software Connector RolesLocus of interaction among set of componentsProtocol specification (sometimes implicit) that defines its propertiesTypes of interfaces it is able to mediateAssurances about interaction propertiesRules about interaction orderingInteraction commitments (e.g., performance)RolesCommunicationCoordinationConversionFacilitation11
اسلاید 12: Connectors as CommunicatorsMain role associated with connectorsSupportsDifferent communication mechanismse.g. procedure call, RPC, shared data access, message passingConstraints on communication structure/directione.g. pipesConstraints on quality of servicee.g. persistenceSeparates communication from computationMay influence non-functional system characteristicse.g. performance, scalability, security12
اسلاید 13: Connectors as CoordinatorsDetermine computation controlControl delivery of dataSeparates control from computationOrthogonal to communication, conversion, and facilitationElements of control are in communication, conversion and facilitation13
اسلاید 14: Connectors as ConvertersEnable interaction of independently developed, mismatched componentsMismatches based on interactionTypeNumberFrequencyOrderExamples of convertersAdaptorsWrappers14
اسلاید 15: Connectors as FacilitatorsEnable interaction of components intended to interoperateMediate and streamline interactionGovern access to shared informationEnsure proper performance profilese.g., load balancingProvide synchronization mechanismsCritical sectionsMonitors15
اسلاید 16: Connector TypesProcedure callData accessEventStreamLinkageDistributorArbitratorAdaptor16
اسلاید 17: A Framework for Classifying Connectors17Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 18: Procedure Call Connectors18Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 19: Event Connectors19Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 20: Data Access Connectors20Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 21: Linkage Connectors21Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 22: Stream Connectors22Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 23: Arbitrator Connectors23Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 24: Adaptor Connectors24Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 25: Distributor Connectors25Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy; © 2008 John Wiley & Sons, Inc. Reprinted with permission.
اسلاید 26: DiscussionConnectors allow modeling of arbitrarily complex interactionsConnector flexibility aids system evolutionComponent addition, removal, replacement, reconnection, migrationSupport for connector interchange is desiredAids system evolutionMay not affect system functionality26
اسلاید 27: DiscussionLibraries of OTS connector implementations allow developers to focus on application-specific issuesDifficultiesRigid connectorsConnector “dispersion” in implementationsKey issuePerformance vs. flexibility27
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.