190 likes | 289 Views
The Palladio Component Model (PCM) for Performance and Reliability Prediction of Component-based Software Architectures. Franz Brosch 28/11/2011. Outline. Foundations PCM overview Performance & reliability prediction PCM applications & further research. Foundations.
E N D
The Palladio Component Model (PCM)for Performance and Reliability Predictionof Component-based Software Architectures Franz Brosch 28/11/2011
Outline • Foundations • PCM overview • Performance & reliability prediction • PCM applications & further research
Foundations Software System Quality Overview Prediction Applications Quality Requirements Requirements Specification Software Development Process Actual Quality Product(Software System)
Foundations Design-time Modeling & Prediction Overview Prediction Applications • Architectural model of a • component-based software system • Prediction of expected quality • Performance • Reliability • …
Foundations Architectural Design Loop Overview Prediction Applications SUPPORT Annotated Architectural Model Architectural Model Estimation, Benchmark Automation Model Transfor-mation Evaluation Feedback Analysis / Simulation Quality models (e.g. queueing networks for Performance) Predicted Quality Metrics
Foundations The Palladio Approach Overview Prediction Applications A Component Model Multiple Analysis Methods A Development Process
Foundations Component Quality Influences Overview Prediction Applications Code User behaviour External Services Hardware
Foundations PCM Developer Roles Overview Prediction Applications
Foundations Models and Analyses Overview Prediction Applications QueueingNetwork Component Developer Simulation Part of Transformation PerformancePrototype Execution + Measurement SoftwareArchitect Part of Transformation Markov Chains Analysis Transformation Part of SystemDeployer PCMInstance Transformation Part of DomainExpert Java CodeSkeletons Completion + Compilation
Foundations PCM Bench Overview Prediction Applications
Foundations PCM Features Overview Prediction 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
Foundations Performance Prediction Overview Prediction Applications Resource demands Communication link latency & throughput Throughput Responsetime System workload Responsetime <<Server>> <<Server>> Service Call <<Network Link>> RDSEFF RDSEFF Return HDD CPU Memory Resp.time Hardware resource processing speed Resource utilization Resource utilization
Foundations Performance Prediction Overview Prediction Applications • 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
Foundations Reliability Prediction Overview Prediction Applications Communication link failures Software failures <<Server>> <<Server>> Service Call <<Network Link>> RDSEFF RDSEFF Return HDD CPU Memory Hardware resource unavailability P(SUCCESS)
Foundations Reliability Prediction Overview Prediction Applications • 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
Foundations PCM Applications: Research Overview Prediction Applications CoCoME
Foundations PCM Applications: Industry Overview Prediction Applications
Foundations Further Research Directions Overview Prediction Applications • Architecture optimization • Architecture reengineering • Run-time prediction • Maintainability • Security • Component certification
Thank You Thank you!