Franz Brosch 28/11/2011
description
Transcript of Franz Brosch 28/11/2011
WIR FORSCHEN FÜR SIE
The Palladio Component Model (PCM)
for Performance and Reliability Prediction
of Component-based Software Architectures
Franz Brosch28/11/2011
1. Foundations2. PCM overview3. Performance & reliability prediction4. PCM applications & further research
Outline
2
Software System Quality
3
FoundationsOverviewPrediction
Applications
Quality Requirements
Quality Requirements
Actual QualityActual Quality Product(Software System)
Product(Software System)
Requirements Specification
Requirements Specification
Software Development Process
Design-time Modeling & Prediction
4
Architectural model of acomponent-based software system
Prediction of expected quality PerformanceReliability…
FoundationsOverviewPrediction
Applications
Architectural Design Loop
5
PredictedQuality Metrics
Evaluation Feedback
Architectural Model
Estimation, Benchmark 25 ms
5 ms
10 ms
Annotated Architectural Model
Quality models(e.g. queueing networks
for Performance)
ModelTransfor-mation
Analysis / Simulation
FoundationsOverviewPrediction
Applications
The Palladio Approach
6
A Component Model
Multiple Analysis Methods
A Development ProcessAllocation
QoS Requirement Annotation
QoS Information Integration
QoS
Ana
lysi
s
System Architect
System Model Transformation
System Deployer Domain Expert
System Environment Specification
QoS Attribute Specification of Resources and
Connections
Use Case Analysis
Usage Model Refinement
Use Case Models
Scenarios(Activity Charts)
Component QoS Specification
(Data Dependencies,Resource Consumption)
Annotated System Architecture
Fully QoS Annotated System Architecture
QoS EvaluationModel
QoS Metrics
Results forQoS Metrics
Component Specs &Architecture
Component Specs & Architecture
Use Case Models
AnnotatedDeployment
Diagram Refined User
Model
SystemEnvironment
DeploymentDiagram
Component Developer
BusinessRequirements
QoS Evaluation
DeploymentDiagram
FoundationsOverviewPrediction
Applications
Component Quality Influences
7
User behaviour
Hardware
External Services
Code
FoundationsOverviewPrediction
Applications
PCM Developer Roles
8
FoundationsOverviewPrediction
Applications
Models and Analyses
9
DomainExpert
SystemDeployer
SoftwareArchitect
ComponentDeveloper
Transform
ation
Transformation
Java CodeSkeletons
Completion +Compilation
Transformation
QueueingNetwork
Simulation
Transformation
PerformancePrototype
Execution +Measurement
Part
of
Part of
Part of
Part of
PCMInstance
FoundationsOverviewPrediction
Applications
Markov ChainsAnalysis
PCM Bench
10
FoundationsOverviewPrediction
Applications
Comprehensive quality modeling approach Improved support for CBSE process Improved prediction accuracy
• Sophisticated usage model & usage propagation• Stochastic Expression language for specification of arbitrary
probability distributions and parametric dependencies Support for trade-off analyses Tool support available
PCM Features
11
FoundationsOverviewPrediction
Applications
Performance Prediction
12
<<Server>>
RDSEFF <<Network Link>> RDSEFF
Service Call
CPU HDD Memory
Resource demands Communication link latency & throughput
Hardware resource processing speed
System workload
FoundationsOverviewPrediction
Applications
Resource utilization
<<Server>>Response
time
Resource utilization
Responsetime
Resp.time
Throughput
Return
Quality models• Queueing network (evaluation through simulation)
Result metrics• Response times (system level / component level)• Throughput• Hardware resource utilization
Features• Developer roles, UML-like modeling, usage propagation• Multi-user scenarios with concurrent behavioral
specification• Arbitrary input distributions / full result distributions
Performance Prediction
13
FoundationsOverviewPrediction
Applications
Reliability Prediction
14
<<Server>> <<Server>>
RDSEFF <<Network Link>> RDSEFF
Service Call
ReturnCPU HDD Memory
Software failures Communication link failures
Hardware resource unavailability
FoundationsOverviewPrediction
Applications
P(SUCCESS)
Quality model• Set of absorbing discrete-time Markov Chains (DTMC)• Evaluation through analysis
Result metrics• Probability of successful execution of a usage scenario
(= 1 – POFOD) Features
• Developer Roles, UML-like modeling, usage propagation• Accurate modeling of control and data flow• Combined consideration of software reliability & hardware
availability
Reliability Prediction
15
FoundationsOverviewPrediction
Applications
PCM Applications: Research
16
FoundationsOverviewPrediction
Applications
PCM Applications: Industry
17
FoundationsOverviewPrediction
Applications
Further Research Directions
18
Architecture optimization Architecture reengineering Run-time prediction Maintainability Security Component certification
FoundationsOverviewPrediction
Applications
Thank You
19
Thank you!Thank you!