A Scalable Approach to Architectural-Level Reliability Prediction

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

Performance Testing - Kanwalpreet Singh.
Executional Architecture
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
VoIP: Full Lifecycle Management Russell M. Elsner APM Technology Director OPNET Technologies, Inc.
Reliability SHARPE Reliability and SHARPE. Outline 1. What is Reliability? 2. How can you evaluate it? 3. What is SHARPE? 4. Usage of SHARPE.
A Dependable Auction System: Architecture and an Implementation Framework
The Architecture Design Process
Smart Redundancy for Distributed Computation George Edwards Blue Cell Software, LLC Yuriy Brun University of Washington Jae young Bang University of Southern.
An Architectural Approach to Robotics Software Design, Implementation, and Deployment Brian D’Souza Joshua Garcia Ivo Krka Natachart Laotheppitak Hossein.
IT Planning.
Sensor Coordination using Role- based Programming Steven Cheung NSF NeTS NOSS Informational Meeting October 18, 2005.
1 Refining Reliability Estimation of Mobile Software Systems The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig,
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
An Integration Framework for Sensor Networks and Data Stream Management Systems.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
INTERACTIVE ANALYSIS OF COMPUTER CRIMES PRESENTED FOR CS-689 ON 10/12/2000 BY NAGAKALYANA ESKALA.
Tony McGregor RIPE NCC Visiting Researcher The University of Waikato DAR Active measurement in the large.
Computer Science and Engineering - University of Notre Dame Jimmy Neutron CSE 40827/60827 – Ubiquitous Computing December 9, 2009 Project Presentation.
Smart Home Technologies
A Security Framework with Trust Management for Sensor Networks Zhiying Yao, Daeyoung Kim, Insun Lee Information and Communication University (ICU) Kiyoung.
Dr. Ir. Yeffry Handoko Putra
Cognitive Informatics for Biomedicine – Chapter 5
Change Request Management
A Hierarchical Model for Object-Oriented Design Quality Assessment
OPERATING SYSTEMS CS 3502 Fall 2017
Regression Testing with its types
Professor: Zvi Aronson, Ph.D.
Software Engineering Process
A Fault Tolerance Protocol for Uploads: Design and Evaluation
Building Distributed Educational Applications using P2P
Software Project Management
John D. McGregor Session 9 Testing Vocabulary
Software Architecture in Practice
Chapter 8 – Software Testing
SYSTEM ANALYSIS AND DESIGN
What are the key components of your robot?
Server Concepts Dr. Charles W. Kann.
Simulating Processes Motivation
CHAPTER 3 Architectures for Distributed Systems
John D. McGregor Session 9 Testing Vocabulary
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
CS/ECE Computer Systems Analysis
CS/ECE Computer Systems Analysis
Information Systems Development
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
The Extensible Tool-chain for Evaluation of Architectural Models
Goal, Question, and Metrics
John D. McGregor Session 9 Testing Vocabulary
Software Connectors – A Taxonomy Approach
ECE Computer Systems Analysis
Providing Secure Storage on the Internet
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
The Globus Toolkit™: Information Services
Testing and Test-Driven Development CSC 4700 Software Engineering
Chapter 5 Architectural Design.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Creative Design Solutions: Design Thinking
Computer Systems Performance Evaluation
Presented By: Darlene Banta
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Extreme Programming.
Chapter 5 Architectural Design.
Data mining Data mining is the process of analyzing data from different perspectives and summarizing it into useful information.
Creative Design Solutions: Design Thinking
Chapter 26 Estimation for Software Projects.
1.02 Creative Design Solutions: Design Thinking
COMP755 Advanced Operating Systems
Presentation transcript:

A Scalable Approach to Architectural-Level Reliability Prediction Leslie Cheung Joint work with Leana Golubchik and Nenad Medvidovic

Motivation Many design decisions are made early in the software development process These decisions affect software quality Need to assess software quality early If problems are discovered later (e.g., after implementation), they may be costly to address

Motivation We focus on assessing software reliability using architectural models in this talk Reliability: the fraction of time that the system operates correctly Architectural models: describes system structure, behavior, and interactions

Case Study: MIDAS Measure room temperature and adjust the temperature according to a user-specified threshold by turning on/off the AC Sensor: measures temperature and sends the measured data to a Gateway Gateway: aggregates and translates the data and sends it to a Hub Hub: determines whether it should turn the AC on or off AC: Control the AC GUI: View current temperature, and change thresholds 4

Motivations Existing approaches for concurrent systems: keeps track of the states of all components MIDAS Example State: (Sensor1, Sensor2, Gateway, Hub, GUI, AC)

(Taking Measurements, idle, idle, idle, Processing User Request, idle) Motivations (Taking Measurements, idle, idle, idle, Processing User Request, idle) Existing approaches for concurrent systems: keeps track of the states of all components MIDAS Example State: (Sensor1, Sensor2, Gateway, Hub, GUI, AC)

(Failed!, idle, idle, idle, Processing User Request, idle) Motivations (Failed!, idle, idle, idle, Processing User Request, idle) Existing approaches for concurrent systems: keeps track of the states of all components MIDAS Example State: (Sensor1, Sensor2, Gateway, Hub, GUI, AC)

Motivations Problem: Scalability e.g., 2 Gateways,10 Sensors each >5000 states How about real-world applications, which may have 100s of Sensors and Gateways?  The models are too big to solve (Taking Measurements, idle, idle, idle, Processing User Request, idle) Existing approaches for concurrent systems: keeps track of the states of all components MIDAS Example State: (Sensor1, Sensor2, Gateway, Hub, GUI, AC)

The SHARP Framework SHARP: Scalable, Hierarchical, Architectural-Level Reliability Prediction Framework Idea: generate part of the system model at a time by leveraging use-case scenarios Solving many smaller models is more efficient than solving one huge model

MIDAS Use-Case Scenarios MIDAS example Sensor Measurement GUI Request Control AC

The SHARP Framework Modeling concurrency: instances of scenarios may run simultaneously MIDAS Example Processing a GUI request while processing sensor measurements  Sensor Measurement and GUI request scenarios run simultaneously Multiple sensors  Multiple instances of the Sensor Measurement scenario

The SHARP Framework Generate and solve submodels according to the system’s use-case scenarios Generate and solve a coarser-level model for system reliability Describe what happens when multiple instances of scenarios are running Make use of results from the submodels

The SHARP Framework

The SHARP Framework R1 m1

The SHARP Framework R2 m2 R3 m3

The SHARP Framework Generate and solve submodels according to the system’s use-case scenarios Generate and solve a coarser-level model for system reliability Describe the number of active instances of each scenarios Make use of results from the submodels

The SHARP Framework

The SHARP Framework

The SHARP Framework

The SHARP Framework m1 R1 m2 R2 m3 R3

The SHARP Framework m1 R1 m2 R2 R m3 R3

Evaluation To show… Experiments SHARP has better scalability than a flat model that can be derived from existing approaches, and SHARP is accurate, using results from the flat model as “ground truth” Experiments Computational cost in practice Sensitivity analysis

Computational cost in practice Example: MIDAS system, varying the number of Sensor component (x-axis) Y-axis: number of operations needed to solve the model

Sensitivity Analysis We are primarily interested in what-if analysis Is Architecture A “better” than Architecture B? but not Will my system’s reliability greater than 90%? What is the probability that I can run my system for 100 hours without any failure? Focusing on trends is meaningful at the architectural level 24

Sensitivity Analysis “Ground truth”: results from the flat model Vary Sensor failure rate 25

Conclusions Assessing software quality early is desirable Scalability is a major challenge in reliability prediction of concurrent systems using architectural models We tackle address this challenge by leveraging a system’s use-case scenarios in SHARP Future Work: Contention modeling Work thus far: assume no contention However, concurrency  contention

The End

Defects Architectural: Mismatches between architectural models e.g., An interaction protocol mismatch between 2 comps System: Limitations of components e.g., Sensor has limited power Allow system designers to evaluate how much reliability will improve if defects are addressed Cost