CS 795 – Spring 2010.  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.

Slides:



Advertisements
Similar presentations
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Advertisements

Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Context Awareness System and Service SCENE JS Lee 1 An Energy-Aware Framework for Dynamic Software Management in Mobile Computing Systems.
ITIL: Service Transition
1 Hidden Markov Model Xiaole Shirley Liu STAT115, STAT215, BIO298, BIST520.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Hidden Markov Models. A Hidden Markov Model consists of 1.A sequence of states {X t |t  T } = {X 1, X 2,..., X T }, and 2.A sequence of observations.
Hidden Markov Models M. Vijay Venkatesh. Outline Introduction Graphical Model Parameterization Inference Summary.
Hidden Markov Models Fundamentals and applications to bioinformatics.
Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium.
Kuang-Hao Liu et al Presented by Xin Che 11/18/09.
1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance.
CSE 322: Software Reliability Engineering Topics covered: Architecture-based reliability analysis.
Telecommunications Project Management Quality Management PERT.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Quality of Service in IN-home digital networks Alina Albu 23 October 2003.
Chapter 13 Embedded Systems
Integrating POMDP and RL for a Two Layer Simulated Robot Architecture Presented by Alp Sardağ.
CSE 322: Software Reliability Engineering Topics covered: Architecture-based reliability analysis.
SE 555 – Software Requirements & Specifications Introduction
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
WIR FORSCHEN FÜR SIE The Palladio Component Model (PCM) for Performance and Reliability Prediction of Component-based Software Architectures Franz Brosch.
The Pursuit for Efficient S/C Design The Stanford Small Sat Challenge: –Learn system engineering processes –Design, build, test, and fly a CubeSat project.
Isolated-Word Speech Recognition Using Hidden Markov Models
Performance analysis and prediction of physically mobile systems Point view: Computational devices including Mobile phones are expanding. Different infrastructure.
International Conference on Software Engineering 2007
Illinois Center for Wireless Systems Wireless Security Quantification and Mechanisms Bill Sanders Professor, Electrical and Computer Engineering Director,
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Cluster Reliability Project ISIS Vanderbilt University.
Some Probability Theory and Computational models A short overview.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Ch. 1.  High-profile failures ◦ Therac 25 ◦ Denver Intl Airport ◦ Also, Patriot Missle.
22CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 10: Advanced Input.
Architecture-based Reliability of web services Presented in SRG Group meeting January 24, 2011 Cobra Rahmani.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
Lecture 4: State-Based Methods CS 7040 Trustworthy System Design, Implementation, and Analysis Spring 2015, Dr. Rozier Adapted from slides by WHS at UIUC.
10/03/05 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
CUHK Learning-Based Power Management for Multi-Core Processors YE Rong Nov 15, 2011.
1 CONTEXT DEPENDENT CLASSIFICATION  Remember: Bayes rule  Here: The class to which a feature vector belongs depends on:  Its own value  The values.
1 CS 552/652 Speech Recognition with Hidden Markov Models Winter 2011 Oregon Health & Science University Center for Spoken Language Understanding John-Paul.
Adaptive Resource Management Architecture for DRE Systems Nishanth Shankaran
1 CSE 552/652 Hidden Markov Models for Speech Recognition Spring, 2006 Oregon Health & Science University OGI School of Science & Engineering John-Paul.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
CMDBs: Above and Beyond…
ECE 8443 – Pattern Recognition ECE 8527 – Introduction to Machine Learning and Pattern Recognition Objectives: Elements of a Discrete Model Evaluation.
Query Processing in Connectivity- Challenged Environments Priyanka Puri Sharma Chakravarthy Gururaj Poornima Mohan Kumar Information Technology Laboratory.
Stochastic Processes and Transition Probabilities D Nagesh Kumar, IISc Water Resources Planning and Management: M6L5 Stochastic Optimization.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
Movement-Based Check-pointing and Logging for Recovery in Mobile Computing Systems Sapna E. George, Ing-Ray Chen, Ying Jin Dept. of Computer Science Virginia.
Hidden Markov Model Parameter Estimation BMI/CS 576 Colin Dewey Fall 2015.
Hidden Markov Models. A Hidden Markov Model consists of 1.A sequence of states {X t |t  T } = {X 1, X 2,..., X T }, and 2.A sequence of observations.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Other Models for Time Series. The Hidden Markov Model (HMM)
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
SENG521 (Fall SENG 521 Software Reliability & Testing Preparing for Test (Part 6a) Department of Electrical & Computer Engineering,
Hidden Markov Models BMI/CS 576
ITIL: Service Transition
The Extensible Tool-chain for Evaluation of Architectural Models
Design Yaodong Bi.
Quality-aware Middleware
Chapter-5 Traffic Engineering.
Presentation transcript:

CS 795 – Spring 2010

 “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends on;  Type of user input, or features or services being invoked  Characteristics of the physical environment ◦ System’s configuration is dynamic throughout its lifetime  E.g.: Changes in the number and type of software components (and devices) in the system, and their organization structure ◦ Other contextual properties  E.g.: Resource limitations such as battery power and network bandwidth  Typical in mobile embedded systems ◦ This dynamic nature, in turn, affects the QoS of a system

 Deployment time analysis of reliability is insufficient ◦ System’s reliability (and other quality attributes) actually depends on its runtime characteristics ◦ Thus a system needs to adapt at runtime to improve its QoS  Reactive systems adapt after the system’s capability has degraded ◦ That’s not good enough ◦ Thus a system needs to adapt proactively in order to maintain its effectiveness throughout its mission

 Software Systems are increasingly Situated in dynamic, mission critical settings ◦ A system is mission critical if the loss of capability leads to a reduction in mission effectiveness  E.g.: Unmanned space mission, or a firefighting robot ◦ But software failures occur during system’s execution, either due to  Previously unknown defects that get manifested due to the dynamic nature of the operational profile  Propagation of unhandled faults to non-faulty components  E.g.: OS faults  Hardware malfunction, which in turn result in software faults  E.g.: Hardware damage while the robot extinguishes a fire  Failure of required resources  E.g.: Network bandwidth fluctuations etc.

 Need to effectively estimate system reliability at runtime ◦ Requires efficient, fine-grain reliability analysis  Proactive reconfiguration requires estimation of the system’s future reliability ◦ Estimating the future operational profile is required  Need to determine the optimally reliable architecture at runtime ◦ Requires analyzing effects of adaptation on Reliability, and other QoS attributes

 Robot controller’s behavior model

Terminal faults of the Navigator can propagate to all other components Less reliable, more efficient Terminal faults of the Navigator are contained within process 2, preventing propagation More reliable, less efficient Lets consider two alternative deployment architectures for the Robot Subsystem

 Context-aware middleware to provide support for; ◦ Monitoring internal and external properties  Failures, Service requests etc  Network fluctuations, battery power etc ◦ Adaptation of the software  Changes is the structure of software ◦ Contextual properties  Location etc

 Upfront static reliability prediction offers little help ◦ Due to the dynamic operational context  Therefore runtime reliability analysis is required  Can be estimated stochastically using a Discrete Time Markov Chain (DTMC) ◦ Set of States S = {S 1, S 2,..., S N } ◦ Transition matrix A = {a ij }, where a ij is the probability of transitioning from state S i to state S j ◦ How to derive transition Matrix A?

 Use Hidden Markov Models (HMMs) to estimate transition matrix A ◦ Observations from the system are used to derive the model  An HMM is defined as follows ◦ Set of States S = {S 1, S 2,..., S N } ◦ Transition matrix A = {a ij }, where a ij is the probability of transitioning from state S i to state S j ◦ Set of observations O = {O 1, O 2,..., O M } ◦ Observation matrix E = {e ij }, where e ij is the probability of observing event O k in state S i

 Robot controller’s behavior model

 Given the sequences of observations, use the Baum-Welch algorithm to train transition matrix A States S = {idle, estimating, planning, moving, failed}  The steady state vector obtained from A represents the probability of being in any of the states given the system operates over time;  Reliability is computed as the probability of not being in a state

 Component Reliability Prediction ◦ We consider a set of contextual parameters monitored by the runtime infrastructure C= {C 1,…,C x } ◦ Revise transition matrix A using a context specific function quantifying the impact of contextual change on the transition probability. ◦ When adjusting a ’ kj the cumulative probability of that row must be equal to 1:

 System Reliability Calculation ◦ Map components and their interactions to a DTMC, where a state is one or more components in concurrent execution

 Effects of adaptation on Reliability ◦ Changing the Architectural Style  E.g.: Replicating components

 Effects of adaptation on Reliability ◦ Changing the Deployment Architecture  E.g.: Re-allocating components to processes

 Optimal architecture should be determined by considering quality trade-offs ◦ E.g.: Reliability vs Efficiency  Objective is to find configuration C* given the current configuration C, such that; Where U q is a utility function indicating the engineer’s preferences for the quality attribute q, and where;

 Assume the following; ◦ P = number of processes ◦ C = number of components ◦ N = number of replicas  This implies that there are ◦ O(P C ) ways of allocating software components to OS processes  E.g.: with 3 components, and 2 processes, 8 possible configurations ◦ O(N C ) ways of replicating components  E.g.: with 3 components and with up to 2 replicas for each, 8 possible configurations  Therefore, O((NxP) C )possible configurations

 XTEAM for maintaining structural, behavioral and reliability models  PRISM-MW as the context-aware middleware  MATLAB as computational environment

 Effectiveness of Reliability Analysis  Estimated vs Observed reliability (a) Top - N and C as separate processes (a) Bottom - N and C sharing a process

 Effectiveness of architectural reconfiguration (a) N and C sharing the a process (a) N and C separated (a) N replicated

 Comparison of the system with and without RESIST

 Execution time of reliability analysis