7/28/2019 Understanding Software Connector Compatibilities
1/12
7/28/2019 Understanding Software Connector Compatibilities
2/12
Software ArchitecturesHigh-level modeling primitives
Components, connectors, configurations [SG96]Software connectors To mediate interactions among components
To provide auxiliary mechanisms for interaction Impact aggregate system properties
Liveness, throughput, dependability, evolvability
Support in software architecture techniques Modeling [AG97], middleware support [MMR02]
Complementary approaches
Middleware (ORB), standards (e.g. COM, J2EE)
7/28/2019 Understanding Software Connector Compatibilities
3/12
Towards Richer ConnectorsFocus on connectors
Component scale, complexity requires greaterdistribution
Complexity of interactions a bigger concern thancomplexity of algorithms
Simple connectors Procedure calls, module dependencies, pipes
Complex connectors DNS, remote procedure calls, repository access
State-of-the-art in software connectors
Model arbitrarily complex - implement simple ones
7/28/2019 Understanding Software Connector Compatibilities
4/12
Interaction Services (MMP00)Communication
Transmission of data
Coordination
Exchange of controlConversion
Transform interactions to remedy heterogeneity
Facilitation
Streamline interactions for interoperation
7/28/2019 Understanding Software Connector Compatibilities
5/12
Classification Framework
7/28/2019 Understanding Software Connector Compatibilities
6/12
Connector Taxonomy
7/28/2019 Understanding Software Connector Compatibilities
7/12
Hybrid ConnectorsReal-world situations often requiresophisticated connectors
E.g. RPC with privacy and integrity
Hardto systematically compose hybrid connectorsIntegration issues
Interoperability of connectors
Mismatching assumptionsabout interaction
Cause for project failures [GAO95, GB98]
7/28/2019 Understanding Software Connector Compatibilities
8/12
Composing Hybrid ConnectorsFirst order Does not combine connector types e.g. object-
oriented method call
Higher order Combine dimensions from different connector
types e.g. RPC, SSL
Not all combinations of dimensions result inmeaningful, or safeconnectorsTaxonomy provides empirical rules ofcompatibility between connector dimensions
7/28/2019 Understanding Software Connector Compatibilities
9/12
Connector Compatibility RulesCautions (?) Certain combination of dimensions required to be
used in conjunction are unsafe
Requires (=) Dimensions required to be used in conjunction, no
unsafe combinations
Restricts (:) Dimensions may be combined, some combinations
are unsafe
Prohibits (7) Dimensions cannot be combined
7/28/2019 Understanding Software Connector Compatibilities
10/12
Linkage
Parameters
Entrypoint
Invocation
Synchronicity
Cardinality
Accessibility
Cardinality
Delivery
Priority
Synchronicity
Notification
Causality
Mode
Locality
Mode
Availability
Accessibility
Cardinality
Delivery
Format
Directionality
Cardinality
State
Granularity
Cardinality
Resolution
Faulthandling
Concurrency
Transactions
Logging
Security
Scheduling
Pooling
Invocation
Data
Presentation
Deployment
Naming
Delivery
Routing
Parameters = = : : ? =Entry point = ? ? ?
Invocation ? = ? ? =
Synchronicity = = :
Cardinality = =
Accessibility = = : =
Cardinality : = = :
Delivery = : :
Priority : = :
Synchronicity : ? = = :
Notification : : : = = = = : 7 ? ? =
Causality ? =
Mode ? =
Locality ? :
Mode : : : = ? =
Availability = = ?
Accessibility : = =
Cardinality = = ?Delivery 7 = = 7
Format =
Directionality = =
Cardinality : : = ?
State = = =
Granularity = =
Cardinality =
Resolution = =
Fault handling = = = = =
Concurrency ? = ?
Transactions = = = ?
Logging = = = = = = = = = = = = ? = =
Security = = = :
Scheduling
Pooling
Invocation = 7 = = =
Data = 7 = = = =Presentation = = ? 7 = ? =
Deployment = = =
Naming = = ? = = =
Delivery = = = =
Routing =
Adaptor
Distributor
Adaptor Distributor
Arbitrator
Data access Arbitrator
Linkage
Stream
Stream
Data access
Event
Procedure
call
Event
Procedure call
7/28/2019 Understanding Software Connector Compatibilities
11/12
Applications/EvaluationStability of taxonomy Taxonomy applied to architecture of Linux
[MMP00]
Sparser reflexive sections reflect lack of known
incompatibilities Rich constraints indicate greater cohesion and
stability
Compatibility constraints Rule out potentially unstable connector species
Create higher-order connectors using transitive
application of constraints
7/28/2019 Understanding Software Connector Compatibilities
12/12
Current Status/Future WorkPublication N. R. Mehta & N. Medvidovic. Understanding
software connector compatibilities using aconnector taxonomy, SoDA 02, Bangalore, India
ACTiVE Expert knowledge capture tool for connector
compatibilities
Design guidance using compatibility matrixAlfa Composition of architectural style elements
including connectors from architectural primitives(http://sunset.usc.edu/~softarch/Alfa)
Top Related