Software Connectors – A Taxonomy Approach

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
Component Design and Separation of Concern Designing involve: – Coming up with “application” functional components & – Integrating these functional components:
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
The Architecture Design Process
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Agenda Architectural Styles The Alfa Project Architectural framework.
Demystifying Architectural Styles Nikunj Mehta 3/11/02Demystifying Architectural Styles2 Architectural Styles Characterize –Structure, i.e. external.
Software Architecture in Practice
Institute for Software Research©2001, University of California, Irvine Product-Line Architectures André van der Hoek Institute for Software Research University.
Chapter 10: Architectural Design
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Architectural Design.
What is Software Architecture?
Chapter 10 Architectural Design
Ryan McAlister CONNECTORS. Introduction Integration and interaction As important as developing functionality More challenging decisions Transfer control.
An Introduction to Software Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 Introduction to Software Architecture TV Prabhakar.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
10 Software Architecture CSCU 411 Software Engineering.
Developing Component- Based Systems X LIU, School of Computing, Napier University TIP This chapter discusses the techniques to develop component-based.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Software Connectors Acknowledgement: slides mostly from Software Architecture: Foundations, Theory, and Practice; Richard N. Taylor, Nenad Medvidovic,
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Basic Concepts and Definitions
Software Connectors. What is a Software Connector? 2 What is Connector? – Architectural element that models Interactions among components Rules that govern.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors Software Architecture Lecture 7.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Software Architecture Lecture 3
Software Architecture
CSCI 578 Software Architectures
Software Connectors.
OO Methodology OO Architecture.
Distribution and components
Software Quality Engineering
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Software Architecture Lecture 3
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Model-Driven Analysis Frameworks for Embedded Systems
Software Architecture Lecture 3
Ch 15 –part 3 -design evaluation
Software Connectors.
Software Architecture
Chapter 20 Object-Oriented Analysis and Design
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
Appendix A Object-Oriented Analysis and Design
Software Architecture Lecture 3
Software Connectors.
An Introduction to Software Architecture
Software Architecture Lecture 3
Software Connectors.
Chapter 2 Database Environment Pearson Education © 2014.
Software Architecture Lecture 7
Software Architecture Lecture 7
Chapter 5 Architectural Design.
Database System Concepts and Architecture
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Software Architecture Lecture 3
Software Architecture Lecture 7
Appendix A Object-Oriented Analysis and Design
Stumpf and Teague Object-Oriented Systems Analysis and Design with UML
Software Architecture Lecture 6
Presentation transcript:

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