Software Connectors – A Taxonomy Approach Nikunj Mehta USC-CSE
Software Architectures Model run time structure of applications Describe the elements, form and rationale Used to analyze system properties Formal representation of elements Domain specific styles Limited modeling primitives Implementation decisions considered outside the scope Concentrate on application architecture instead of network and system architecture Application architecture is not only structure at design time, but includes runtime behavioral model and also identifies the variations possible Elements are still not universally accepted and are still in evolution Representing the elements will help formal analysis and evaluation Architectures differ from technology, products and styles. Style Architecture Technology Product Styles comprise of the overall constraints and guidelines for modeling However, the transformation of solution concerns from system to software and conceptual to concrete architecture is not completely mapped out. 11/15/2018 WESAS 2000
Components Or Connectors Mostly not well understood Fairly well understood Second-class citizens Original inhabitants System dynamism Middleware Bugs Logic, optimization Meet extra-functional properties Realize functional requirements Domain independent Domain dependent Interactions and protocols Memory and Computation Connectors Components Components typically provide a business oriented user service whereas the connectors provide general and repeating services. E.g. authentication is connector oriented whereas bill payment is more likely component service Separating the business logic and analysis from computer science. Are security services connectors or are they components? Does it depend on the style whether something is considered a connector or not? 11/15/2018 WESAS 2000
Richer Connectors Role of connectors To mediate interactions among components To provide auxiliary mechanisms for interaction Large scale development does not adequately address issues of interaction Simple and Complex connectors Procedure calls, module dependencies, pipes are simple DNS, remote procedure calls, repository access, concurrency and synchronization are complex Focus on connectors component logic is essentially frozen early in life cycle connectors evolve to improve levels of service Modern distributed systems impose special requirements on the connectors. 11/15/2018 WESAS 2000
Classification Framework Atomic elements Ducts, data transfer and control transfer Service categories Communication Coordination Conversion Facilitation Connector types, dimensions Finitely many values 11/15/2018 WESAS 2000
11/15/2018 WESAS 2000
Connector Composition Connectors have internal architecture Composed of simpler components and connectors Composition of interaction services for richer connectors E.g. multi-way procedure call connectors Orthogonal and compatible connector dimensions OTS middleware for realizing rich connectors Mappings to services in OMG’s Object Management Architecture 11/15/2018 WESAS 2000
Future Work Connector taxonomy Architecture implementation framework Evolution of connector dimensions and values Architecture implementation framework Composition of arbitrarily complex connectors Architectural gauges and connector instrumentation Architecture based software evolution Architectures for small-and-the-many systems Adaptability and efficiency tradeoffs 11/15/2018 WESAS 2000