Toward Architecture-based Reliability Estimation Roshanak - - PowerPoint PPT Presentation

toward architecture based reliability estimation
SMART_READER_LITE
LIVE PREVIEW

Toward Architecture-based Reliability Estimation Roshanak - - PowerPoint PPT Presentation

Toward Architecture-based Reliability Estimation Roshanak Roshandel, Nenad Medvidovic Computer Science Department University of Southern California roshande@usc.edu ICSE Workshop on Architecting Dependable System (WADS'04), May 25, 2004


slide-1
SLIDE 1

ICSE Workshop on Architecting Dependable System (WADS'04), May 25, 2004

Toward Architecture-based Reliability Estimation

Roshanak Roshandel, Nenad Medvidovic Computer Science Department University of Southern California roshande@usc.edu

slide-2
SLIDE 2

Motivation

  • Software reliability: probability that the system

performs its intended functionality without failure

  • Software reliability techniques aim at reducing
  • r eliminating failure of software systems
  • Complimentary to testing, rely on

implementation

  • How one goes about building reliable systems?

And how to measure early reliability?

slide-3
SLIDE 3

Software Architecture

  • High-level abstractions describing

– Structure, Behavior, Constraints

  • Coarse-grain building blocks, promote

separation of concerns, reuse

– Components, Connectors, Interfaces, Configurations

  • Architectural decisions directly affect aspects of

software dependability

– Reliability

  • ADLs, Formal modeling notations, related

analysis

– Often lack quantification and measurement

slide-4
SLIDE 4

Architectural Reliability

  • Lightly explored
  • Require availability of implementation to:

– Build behavioral model of the software system – Obtain individual component’s reliability

  • Software architecture offers compositional

approaches to modeling, and analysis

  • The challenge is quantifying these results

– Presence of uncertainty

  • Unknown operational profile
  • Improper behavior
slide-5
SLIDE 5

Archi chitect ectur ure

Local Reliability Local Reliability

Local Reliability

Global Reliability

M ar kov M ar kov M

  • del

M

  • del

M ar kov M ar kov M

  • del

M

  • del

M ar kov M ar kov M

  • del

M

  • del

Interfac e Protoco ls Static Behavio rs

Component

  • nent

Interfac e Protocols Static Behavio rs Dynamic Behaviors

Component

  • nent

Interface Protocols Static Behaviors Dynamic Behaviors

Component

  • nent

“The Quartet” “The Quartet”

slide-6
SLIDE 6

Comp Reliability Transition Probabilities

Architectural Models

Analysis Defects State Reliability Quantification

Classification Cost framework

( ( ), ) G t f θ r Domain Knowledge Random OR Model Extractor ITP Reliability Estimator Baum- Welch Algorithm Training data State-based Markov model Hidden Markov Modeling

Legend

Artifacts Major steps of the approach Numerical values Iterative process

ITP

Initial transition probabilities

Component Reliability

slide-7
SLIDE 7

The Quartet

1. Interface models specify the points by which a component interacts with other components in a system 2. Static behavior models describe the functionality of a component discretely, i.e., at particular “snapshots” during the system’s execution 3. Dynamic behavior models provide a continuous view of how a component arrives at different states throughout its execution 4. Interaction protocol models provide an external view of the component and how it may legally interact with

  • ther components in the system
slide-8
SLIDE 8

Cruise Control Comp gas() brake() cruise() decelerate() accelerate () maintain()

PRO V gas( val : SpeedType) : SpeedType; PRO V br ake( val : SpeedType) : SpeedType; PRO V cr ui se( speed: SpeedType) ; Bool ean; STATE- VAR: cur Speed: SpeedType; i sCr ui si ng: Bool ean; I NVARI ANT: cur Speed M AX; O PERATI O NS:

  • gas. pr eCond ( val > 0) ;
  • gas. post Cond ( ~cur Speed = cur Speed + val ) ;

br ake. pr eCond ( val < 0) ; br ake. post Cond ( ~cur Speed = cur Speed + val AND i sCr ui si ng = f al se) ; cr ui se. pr eCond ( speed > 0) ; cr ui se. post Cond ( ~cur Speed = speed AND i sCr ui si ng = t r ue) ; INT ERFACES ST ATIC BEHAVIOR

stop

gas/accelerate

manual cruise

gas/accelerate brake[val +curSpeed >0] /decelerate cruise/maintain brake/decelerate gas/accelerate brake[val +curSpeed 0] /decelerate DYNAM IC BEHAVIOR

S1 S2

gas() brake() cruise gas brake() INT ERACT ION PROT OCOLS

slide-9
SLIDE 9

Comp Reliability Transition Probabilities

Architectural Models

Analysis Defects State Reliability Quantification

Classification Cost framework

( ( ), ) G t f θ r Domain Knowledge Random OR Model Extractor ITP Reliability Estimator Baum- Welch Algorithm Training data State-based Markov model Hidden Markov Modeling

Legend

Artifacts Major steps of the approach Numerical values Iterative process

ITP

Initial transition probabilities

Component Reliability

slide-10
SLIDE 10

Interface Static Behaviors Interaction Protocols Dynamic Behaviors

Syntactic Semantic

slide-11
SLIDE 11

Comp Reliability Transition Probabilities

Architectural Models

Analysis Defects State Reliability Quantification

Classification Cost framework

( ( ), ) G t f θ r Domain Knowledge Random OR Model Extractor ITP Reliability Estimator Baum- Welch Algorithm Training data State-based Markov model Hidden Markov Modeling

Legend

Artifacts Major steps of the approach Numerical values Iterative process

ITP

Initial transition probabilities

Component Reliability

slide-12
SLIDE 12

Defect Quantification

  • Architectural defects could affect system

Reliability

  • Different defects affect the Reliability differently

– e.g., interface mismatch vs. protocol mismatch

  • The cost of mitigation of defects varies based on

the defect type

  • Other (domain specific) factors may affect the

quantification

  • Classification + Cost framework
slide-13
SLIDE 13

Classification + Cost Framework

1 2

( ( ), ), ( ) [ ( ), ( ),..., ( )]

t n

c G t f where t t t t θ θ θ θ θ = = r r

  • Pluggable/Adaptable
  • Identify the important

factors within a domain

  • For a defect class t
  • f: Frequency of
  • ccurrence
  • And

vector of all relevant factors

  • Result will be used in

reliability estimation

( ) t θ r

Directional Structural Usage Incomplete Interface Signatures Static Behavior Pre / Post Conditions Protocol Interaction Protocols Topological Error Behavioral Inconsistency Architectural Defect Directional Structural Usage Incomplete Interface Signatures Static Behavior Pre / Post Conditions Protocol Interaction Protocols Topological Error Behavioral Inconsistency

slide-14
SLIDE 14

Comp Reliability Transition Probabilities

Architectural Models

Analysis Defects State Reliability Quantification

Classification Cost framework

( ( ), ) G t f θ r Domain Knowledge Random OR Model Extractor ITP Reliability Estimator Baum- Welch Algorithm Training data State-based Markov model Hidden Markov Modeling

Legend

Artifacts Major steps of the approach Numerical values Iterative process

ITP

Initial transition probabilities

Component Reliability

slide-15
SLIDE 15

Reliability Techniques

  • Non-Homogenous Poisson Processes, Binomial

Models, Software Reliability Growth Models, …

  • Markovian Models

– Suited to architectural approaches – Considers system’s structure, compositional – Stochastic processes – Informally, a finite state machine extended with transition probabilities

slide-16
SLIDE 16

Our Reliability Model

  • Built based on the dynamic behavioral model
  • Assume Markov property (Discrete Time

Markov Chains)

  • Transition probabilities maybe unknown
  • Complex behavior results in lack of a

correspondence between events and states

  • Event/action pairs to describe components’

interaction Augmented Hidden Markov Models (AHMM)

slide-17
SLIDE 17

Evaluation

  • Uncertainty analysis

– Operational profile – Incorrect behavior

  • Sensitivity analysis

– Traditional Markov-based sensitivity analysis combined with the defect quantification

  • Complexity
  • Scalability
slide-18
SLIDE 18

Conclusion and Future Work

  • Step toward closing the gap between

architectural specification and its effect on system’s reliability

  • Handles two types of uncertainties associated

with early reliability estimation

  • Preliminary results are promising
  • Need further evaluation
  • Build compositional models to estimate system

reliability based on estimated component reliabilities

slide-19
SLIDE 19

Questions?