Architecture with Components

Slides:



Advertisements
Similar presentations
Computer Systems & Architecture Lesson 2 4. Achieving Qualities.
Advertisements

Signals and Circuits 2 Time responses The nature of the time response at the electrical system is the same as at the mechanical system. As example in the.
Architectural Mismatch: Why Reuse Is So Hard David Garlan, Robert Allen, and John Ockerbloom Presented by Hoang Bao CSC 509 – Winter 2005.
1 Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Architectural Mismatch. DAIMIHenrik Bærbak Christensen2 Literature [Bass et al. 2003] § 18 [Garlan et al., 1995] –Garlan, D., Allen, R., Ockerbloom, J.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Component-Based Software Engineering (CBSE)
Achieving Qualities 1 Võ Đình Hiếu. Contents Architecture tactics Availability tactics Security tactics Modifiability tactics 2.
EXPECTATIONS OF TURKISH ENVIRONMENTAL SECTOR FROM INSPIRE Ministry of Environment and Forestry June, 2010 Özlem ESENGİN Ahmet ÇİVİ Tuncay DEMİR.
Software Architecture – An Overview The software architecture of a system is the composition of software components, the structures that interconnect them,
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 18 Security.
Software Engineering General architecture. Architectural components:  Program organisation overview Major building blocks in a system Definition of each.
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
Approaching a Problem Where do we start? How do we proceed?
SE: CHAPTER 7 Writing The Program
1 Computer Systems & Architecture Lesson Building Systems from Off-the-Shelf Components.
Design Process for Architecture. Architectural Lifecycle Not all lifecycle plans support Architecture! It is hard to achieve architecture based design.
Tsinghua University Library Yang Zhao & Airong Jiang Tsinghua University Library, Beijing China 4 June, 2004 Electronic Thesis and Dissertation System.
Software Design: Principles, Process, and Concepts Getting Started with Design.
A. Hangan, L. Vacariu, O. Cret, H. Hedesiu Technical University of Cluj-Napoca A Prototype for the Remote Monitoring of Water Parameters.
1 Chapter 6 Developing Models and Prototypes (Steps and Decision Making)
Introduction to Evaluation without Users. Where are you at with readings? Should have read –TCUID, Chapter 4 For Next Week –Two Papers on Heuristics from.
Daniele Spiga PerugiaCMS Italia 14 Feb ’07 Napoli1 CRAB status and next evolution Daniele Spiga University & INFN Perugia On behalf of CRAB Team.
July 19, 2004Joint Techs – Columbus, OH Network Performance Advisor Tanya M. Brethour NLANR/DAST.
Logical Design 12/10/2009GAK1. Learning Objectives How to remove features from a local conceptual model that are not compatible with the relational model.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
CLASSIFICATION OF DESIGN PATTERNS Hladchuk Maksym.
Power Point Mistakes Contrasting background and text Microsoft Office PowerPoint 2007 enables users to quickly create high-impact, dynamic presentations,
Chapter 6: Interoperability
Software Engineering Management
Based on Eric Dashofy’s slides for
Integration Testing.
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Chapter 17: Designing an Architecture
Advance Software Engineering
Some Simple Definitions for Testing
The Mediation Process.
Technological Systems
OUTLINE Basic ideas of traditional retrieval systems
The Object Oriented Approach to Design
Design Process for Architecture
Peer Reviews Tips for the author.
Approve Documents (Requisitions) in Owl Link
Lecture 09:Software Testing
Layers Data from IBM-Rational and Craig Larman’s text integrated into these slides. These are great references… Slides from these sources have been modified.
Commonapp.org #commonappready © 2015 The Common Application.
Author search - compound name
The Structure and Value of Modularity in Software Design
Sudipto Ghosh CS 406 Fall 99 November 16, 1999
Quality Management, Peer Review, & Architecture Review Board
Design Process for Architecture
Architecture with Components
Equations – Success if you can do these
Interfacing Motion Sensor with PIC Microcontroller
Software Architecture Lecture 7
Software Architecture Lecture 7
Software Architecture
Human Computer Interaction Lecture 14 HCI in Software Process
Number % Q1 Very satisfied Fairly satisfied
Software Architecture Lecture 7
x 4 = 7 x 4 = 3 x 4 = x 4 = 1 x 4 = 2 x 4 = x 4 = 6 x 4 = 0 x 4 = Instructions Cut out the cards choose a question, find the.
Design Process for Architecture
Architectural Mismatch: Why reuse is so hard?
Software Architecture Lecture 6
Presentation transcript:

Architecture with Components

What Changes? Components reduce the architectural control Remove some qualities from your direct influence Which can force “how-important-is-this” decisions about requirements Search becomes a part of the problem

Searching for workable component ensembles Define constraints that the ensemble must meet Define a first cut at other success criteria Try to make it work Revise (usually, add to) the success criteria Modify the ensemble Repeat 3-5 until An adequate ensemble is found, OR You give up

Remember You are searching for a working ensemble of components Working one component at a time will probably waste time and energy

Mismatch can make an ensemble unworkable Each OTS component comes with an architectural style Architectural Mismatch! Requires Provides What to do? Detect mismatch during search and avoid it Detect it during design/implementation and fix it

Detect mismatch during search Inspect each candidate component to discover Requires Provides Make sure each requires can be satisfied by a provides Parameterized interfaces can give you some control over requires/provides Unfortunately, examining all assumptions for components is not possible!

Detect mismatch during design/implementation Qualify the interfaces by discovering requires and provides while Designing the architecture Integrating the ensemble Prototyping Building a skeletal system

When qualifying an interface, remember An interface is more than method signatures It may also include assumptions about Ordering of method calls Threading Resource availability and consumption Authorization Security Persistent storage Network access Error reporting and handling Logging

Fixing mismatch Wrappers Bridges Mediators

Fixing Mismatch 1 - Wrappers Encase the component to Translate an element Hide an element Preserving an element without change Usually specific to the using and used components Examples: Screen scraping Most legacy wrappers What experience do you have with wrappers?

Fixing Mismatch 2 - Bridges An independent component Translate a requires of one side to a provides of the other Translation is defined at design time Often independent of the components Example: postscript to PDF Experience with bridges?

Fixing Mismatch 3 - Mediators Planning Is often a first class component in the architecture Examples: Sensor fusion (p 459) EAI platform Experience with mediators?

Summary Components are almost always used Examine the costs Know solutions Examine as a whole