Evaluating Software Architectures for Real- Time Systems R. Kazman, M. Klein, P. Clements Software Engineering Institute Carnegie Mellon University.

Slides:



Advertisements
Similar presentations
Chapter 15: Analytical evaluation
Advertisements

ATAM Architecture Tradeoff Analysis Method
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Pedigreed Attribute eLicitation Method (PALM) Onno Dijkstra.
:: 1 :: What is a requirement? Standard Definition Something the product must do or a quality the product must have. More Ways to Characterize Something.
ArchE Presented By Samanvitha Ramayanam. TOPICS 1. Introduction 2. Theoretical assumptions 3. ArchE as an expert system 4. Overall flow of ArchE 5. Key.
Evaluating a Software Architecture By Desalegn Bekele.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
Informatics 43 – May 7, Restatement of Goals for Testing Want to verify software’s correctness  Need to test  Need to decide on test cases  No.
Overview Lesson 10,11 - Software Quality Assurance
Active Review for Intermediate Designs [Clements, 2000]
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Usability Inspection n Usability inspection is a generic name for a set of methods based on having evaluators inspect or examine usability-related issues.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
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.
An expert system is a package that holds a body of knowledge and a set of rules on a subject that has been gained from human experts. An expert system.
Course Instructor: Aisha Azeem
Chapter 10: Architectural Design
Software architecture evaluation
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Software Life Cycle Model
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
Chapter 1 Embedded And Real-Time System Department of Computer Science Hsu Hao Chen Professor Hsung-Pin Chang.
What is Business Analysis Planning & Monitoring?
Chapter 10 Architectural Design
S/W Project Management
EVALUVATING SOFTWARE ARCHITECTURES FOR REAL-TIME SYSTEMS R.Kazman, M.Klein, P.Clements Software Engineering Institute Carnegie Mellon University.
Predictive Evaluation
Evaluating Architectures: ATAM
CLEANROOM SOFTWARE ENGINEERING.
PLANNING YOUR EPQ How to write a great research paper – Cambridge Uni.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
ATAM –Cont’d SEG 3202 N. Elkadri.
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
NIST Special Publication Revision 1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
1 Chapter 14 Architectural Design 2 Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Methods: Pointers for good practice Ensure that the method used is adequately described Use a multi-method approach and cross-check where possible - triangulation.
1 Introduction to Software Engineering Lecture 1.
Evaluating Architectural Options Simon Field Chief Technology Officer.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Systems Engineering Simulation Modeling Maintenance Analysis Availability Research Repair Testing Training Copyright © 2009, David Emery & D&S Consultants,
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Architecture Analysis Techniques
Requirements Validation
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
RLV Reliability Analysis Guidelines Terry Hardy AST-300/Systems Engineering and Training Division October 26, 2004.
Cognitive Walkthrough More evaluating with experts.
Requirements Engineering Requirements Validation and Management Lecture-24.
Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Chapter : 9 Architectural Design
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Week 5 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
S7-1 © 2001 Carnegie Mellon University OCTAVE SM Process 7 Conduct Risk Analysis Software Engineering Institute Carnegie Mellon University Pittsburgh,
CS4311 Spring 2011 Process Improvement Dr
Security SIG in MTS 05th November 2013 DEG/MTS RISK-BASED SECURITY TESTING Fraunhofer FOKUS.
Chapter 19: Architecture, Implementation, and Testing
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Object-Oriented Analysis
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Vanilson Burégio The Battlefield Control System – The First Case Study in Applying the ATAM Chapter 4 of: Clements, Paul et al., Evaluating.
SECURITY AS NON-FUNCTIONAL REQUIREMENT IN SOFTWARE ENGINEERING
Experience with Performing architecture Trade-off Analysis
Presentation transcript:

Evaluating Software Architectures for Real- Time Systems R. Kazman, M. Klein, P. Clements Software Engineering Institute Carnegie Mellon University

Methodology for evaluating software architectures of real- time systems Uses the Architecture Tradeoff Analysis Method (ATAM) zArticulates Quality Goals zIdentifies Sensitivity Points zIdentifies Tradeoff Points

Scenarios are used to elicit quality goals zUse Cases zGrowth Scenarios zExploratory Scenarios

Attribute Taxonomies are collections of knowledge from expert communities about quality attributes such as performance, reliability, security, or modifiability

Attribute information in the taxonomies is placed in one of three categories zExternal stimuli zArchitectural parameters zResponses Taxonomies help ensure attribute coverage and offer a rationale for asking elicitation questions

Example Taxonomy

As a scenario is traced through the architecture, the elicitation questions uncover attribute specific information Screening questions are also asked to guide or focus the elicitation

Outcome of elicitation is the identification of zSensitivity points zTradeoff points

Once these points have been identified, Attribute- based architecture styles (ABAS) are applied zRoutine and predictable design zStandard set of analysis questions ztight link between design and analysis

An ABAS has four parts zProblem description zStimuli/Responses zArchitectural Style zAnalysis

ABAS Example Part 1: Problem Description Consider a single processor on which multiple processes reside, each of which perform computations on their own input data stream. Each final output from the system must be produced within a specified time interval after the arrival of an input, after all computations have been performed. We refer to the input data as a message. The requirement then is to completely process each message with a specified bounded end-to-end latency. Part 2: Stimulus/Response Stimuli: two or more periodic or sporadic input streams Response: end-to-end worst-case latency

ABAS Example Part 3: Architectural Style Part 4: Analysis Latency for a process:

Qualitative analysis heurisitics are coarse grained analyses of the ABAS Questions capture the essence of problems discovered by more formal methods

Example qualitative analysis heuristics zIf this architecture has real-time performance requirements and consists of multiple processes that share a resource then what process prioritization strategy is used including the priority used during the critical sections? zIf this architecture includes layers/facades, are there any places where the layers/facades are circumvented?

Analysis ATAM is the application of a common engineering practice - the critical design review - to software systems

Analysis - Key Points Identifies critical system attributes that are most sensitive to design decisions Uses experiential evidence to evaluate the system architecture with respect to the critical attributes

Analysis - Advantages Is very easy and relatively inexpensive Catches critical design flaws early

Analysis - Disadvantages Is somewhat limited - only addresses architecture, does not address whether the system is functionally correct Is very dependent on good architectural representation - suggests 4+1 views, would presumably work with UML