Architecture with Components

Slides:



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

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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
OTS Integration Analysis using iStudio Jesal Bhuta, USC-CSE March 14, 2006.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
Robust Tools for Archiving and Preserving Digital Data Joseph JaJa, Mike Smorul, and Mike McGann Institute for Advanced Computer Studies Department of.
ProActive Infrastructure Eric Brewer, David Culler, Anthony Joseph, Randy Katz Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Active Networks.
Security Engineering II. Problem Sources 1.Requirements definitions, omissions, and mistakes 2.System design flaws 3.Hardware implementation flaws, such.
Architectural Mismatch. DAIMIHenrik Bærbak Christensen2 Literature [Bass et al. 2003] § 18 [Garlan et al., 1995] –Garlan, D., Allen, R., Ockerbloom, J.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Component-Based Software Engineering (CBSE) Speaker: Jerry Gao Ph.D. San Jose State University URL:
Component-Based Software Engineering (CBSE)
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Achieving Qualities 1 Võ Đình Hiếu. Contents Architecture tactics Availability tactics Security tactics Modifiability tactics 2.
Software Architecture Classification for Estimating the Costs of COTS Integration Yakimovich, Bieman, Basili; icse 99.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
EXPECTATIONS OF TURKISH ENVIRONMENTAL SECTOR FROM INSPIRE Ministry of Environment and Forestry June, 2010 Özlem ESENGİN Ahmet ÇİVİ Tuncay DEMİR.
Integrity Through Mediated Interfaces PI Meeting: Feb 22-23, 2000 Bob Balzer Information Sciences Institute Legend: Changes from previous.
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.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
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.
All Hands Meeting 2005 BIRN Portal Architecture: Security Jana Nguyen
1 Service Charge and Energy- Aware Vertical Handoff in Integrated IEEE e/ Networks Youngkyu Choi and Sunghyun Choi School of Electrical Engineering.
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.
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.
Revision Questions Experimentation. 2 Explain Independent variable The variable that is changed by the person doing the experiment. Remember: If I am.
Managing TDM Drawings Lifecycle WorkFlow Created: March 30, 2006 Updated: April 10, 2006 By: Tony Parker.
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,
How to Fix Bitdefender Total Security Error -1022? Support Number
Presentation on Marketing Mix
Chapter 6: Interoperability
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 - Component-based software engineering
Advance Software Engineering
Some Simple Definitions for Testing
Call on How Can Be Fix to Norton Product Error 8504, 104?
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
The Mediation Process.
OUTLINE Basic ideas of traditional retrieval systems
How to be a Good Developer
The Object Oriented Approach to Design
Architecture with Components
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.
Quality Management, Peer Review, & Architecture Review Board
QA Reviews Lecture # 6.
Interfacing Motion Sensor with PIC Microcontroller
Software Architecture Lecture 7
Software Architecture Lecture 7
Chapter 17 - Component-based software engineering
Software Architecture
Design Yaodong Bi.
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.
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?