Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Executional Architecture
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Systems.
Mahmut Ali GÖKÇEIndustrial Systems Engineering Lecture 2 System Identification ISE102 Spring 2007.
Software Architecture in Practice (3 rd Ed) Understanding Quality Attributes Understanding the following: How to express the qualities we want our architecture.
Lecture # 2 : Process Models
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Pedigreed Attribute eLicitation Method (PALM) Onno Dijkstra.
Evaluating a Software Architecture By Desalegn Bekele.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
M : Model v1 : ViewA c1 : ControllerA v2 : ViewB c2 : ControllerB access An abstract object model propagate.
1 Security Architecture Analysis Lecture 3 Architecture Analysis –Analysis of architectural properties –Architecture tradeoffs Presentation: “Architectural.
Evaluating Software Architectures for Real- Time Systems R. Kazman, M. Klein, P. Clements Software Engineering Institute Carnegie Mellon University.
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
Analysis Concepts and Principles
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Introduction to Software Engineering Dr. Basem Alkazemi
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
What is Software Architecture?
The Design Discipline.
S/W Project Management
EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.
Evaluating Architectures: ATAM
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
Requirements Analysis
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
IST 210 Database Design Process IST 210 Todd S. Bacastow January 2005.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Requirements Engineering Requirements Elicitation Requirements Analysis Requirements Validation Requirements Management.
Lecture 9: Chapter 9 Architectural Design
Chapter 13 Architectural Design
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Approaching a Problem Where do we start? How do we proceed?
Lecture 7: Requirements Engineering
1 Introduction to Software Engineering Lecture 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
Requirement Handling
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Requirements Engineering Lesson 2. Terminologies:  Software Acquisition is where requirement engineering significantly meets business strategy.  Software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
1 Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e Supplementary Slides for Software Engineering: A Practitioner's Approach,
Architecture Analysis Techniques
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Arch-1 9.Architecture. Arch-2 What’s Architecture? Description of sub-system –Components/sub-systems –Their interaction Framework for communication.
John D. McGregor Architecture Evaluation
Chapter : 9 Architectural Design
4+1 View Model of Software Architecture
CS223: Software Engineering Lecture 13: Software Architecture.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Requirements Elicitation and Elaboration
Chapter 6 Database Design
Recall The Team Skills Analyzing the Problem (with 5 steps)
Model-Driven Analysis Frameworks for Embedded Systems
Object-Oriented Analysis
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Presentation transcript:

Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003

Road Map I.Introduction – Software Evaluation II.Case Study – Web content Delivery Secret behind Akamai technologies III.ATAM ( Paper Summary) Terminologies Steps IV.Applying ATAM to the case study V.Going beyond the paper VI. what I have done last summer?

I. Software Evaluation Software Architecture Analysis and Evaluation Need for Analysis AIAM AIAM Rough Plan

Software Architecture - Bridge for Requirements & Code - Choices + tradeoffs View. {Elements, Forms, Rationale}. Logical, Physical, Process and Development View Requirements Code Architecture

Analysis and Evaluation How can we use software architectures to evaluate a Quality Attribute Quality attributes Tussle in Software space Architectural Trade-off and Analysis

Why analysis ? Risk mitigation for a particular systems What does the quality of attributes imply? How to you determine these desired QA Knowing whether the architecture is suitable without even building them Real time systems

AIAM Assumes –that attribute-specific analyses are interdependent –that each quality attribute has connections with other quality attributes through specific architectural elements Architectural element: a component, a property of a component, or a property of the relationship between components that affects some quality attributes

ATAM Rough Plan Collect Scenarios Collect Requirements, Constraints, Environment Describe Architectural Views Realize Scenarios Attribute Specific Analyses Identify Sensitivities Identify Tradeoffs Phase I: Scenario and Requirements Gathering Phase II: Architectural Views and Scenario Realization Phase III: Model Building and Analyses Phase IV: Tradeoffs

II. Case Study – Web content Delivery Akamai Technologies – Content Delivery – Host Web Service Possible Architectural Models –Client – Server –Client – Server – Server –Client – Intelligent Cache – Server –Client – Redirection Proxies – Server

QA for Content Delivery Performance Reliability Cost

III. Summary of [KKC99] Evaluation Scenarios: Use/growth/exploratory QA: stimulus, architectural parameters, responses. elicitation/screening questions sensitivity/trade off point ABAS – problem description, stimuli/response, arch style, analysis Quality analysis heuristics

ATAM Steps Scenario elicitation Architecture elicitation Mapping of Scenarios onto the architecture representations Analysis

Collect Scenarios Elicit system usage scenarios from stakeholders Purpose: –to operationalize both functional and quality requirements –facilitate communication –develop a common vision of the important activities the system should support

Collect Requirements, Constraints, and Environment Identify attribute-based requirements, constraints, and environment Run-time qualities Non run-time qualities

Describe Architectural Views Generate candidate architectures Can do this by matching the architectural styles to the quality attributes of the system Realize the scenarios by verifying the architectures against the scenarios

Identify Sensitivities Involves varying elements of the architecture to identify if values from the attribute analyses change If a significant change is identified, then the modeled values are considered “sensitivity points”

Identify Tradeoffs Focuses on the interaction of attribute- specific analyses Finding tradeoff points: –multiple attributes may be sensitive to a single architectural element –the architectural element is considered a tradeoff point

IV. Applying ATAM to the case study In a client-server architecture, each of the following is sensitive to the # of servers –Performance –Availability –Security

Iterations When analyses show that the system’s predicted behavior comes adequately close to its requirements, the designers can proceed to a more detailed level of design When analyses reveal a problem, we can develop a plan for changing the architecture and repeating the steps Steps do not have to be linear

Tradeoffs Attribute 1Attribute 2 Architecture 1Architecture 2 Attribute-specific architecture analysis Attribute-specific architecture analysis Change in software architecture Effect of change on attribute

Tradeoffs Attribute Set 1 Attribute Set 2 Architecture 1Architecture 2 Attribute-specific architecture analyses Attribute-specific architecture analyses Change in software architecture Effect of change on attributes

Attribute Analysis Several analysis techniques already exist for performing: –reliability and risk analysis –safety analysis –performance analysis –security analysis

V. Beyond the Paper Identification of analysis methods Applicability of methods across several architectural styles Specification of quality attributes in order to facilitate measurement Examples!

VI So, How is my work related ? Validation of software systems FSMs Markov Analysis Abstract State Machines –Open source from Microsoft Research –Compatible with all platforms Will have something exciting soon