Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducing Performance Awareness in an Integra...

Fabian Kleiser
December 14, 2016

Introducing Performance Awareness in an Integrated Specification Environment

With an increase in software complexity and modularization to create large software systems and software product lines it is increasingly difficult to ensure all requirements are met by the built system. Performance requirements are an important concern to software systems and research has developed approaches being capable of predicting software performance from annotated software architecture descriptions, such as the Palladio tool suite. However, the tooling when moving between specification, implementation and verification phase has a gap as the tools are commonly not linked, leading to inconsistencies and ambiguities in the produced artifacts. This thesis introduces performance awareness into the Integrated Specification Environment for the Specification of Technical Software Systems (IETS3), which is a specification environment aiming to close the tooling gap between the different lifecycle phases. Performance awareness is introduced by integrating existing approaches for software performance prediction from the Palladio tool suite and extending them to cope with variability-aware system models for software product lines. The thesis includes an experimental evaluation showing that the developed approach is able to provide performance predictions to users of the specification environment within 2000 ms for systems of up to 20 components and within 8000 ms for systems of up to 30 components.

Fabian Kleiser

December 14, 2016
Tweet

More Decks by Fabian Kleiser

Other Decks in Research

Transcript

  1. Introducing Performance Awareness in an Integrated Specification Environment 2 Fabian

    Keller University of Stuttgart D-70569 Stuttgart Markus Völter voelter – Ingenieurbüro für Softwaretechnologie D-70327 Stuttgart André van Hoorn University of Stuttgart D-70569 Stuttgart Klaus Birken itemis AG D-70565 Stuttgart Hello
  2. Building Software with Performance in Mind State of the Art

    Introducing Performance Awareness in an Integrated Specification Environment 3
  3. Introducing Performance Awareness in an Integrated Specification Environment 5 Or

    how to ship performant code Software Performance Engineering RE SPL SA NFR IDE
  4. Introducing Performance Awareness in an Integrated Specification Environment 6 Integration

    of performance awareness in Java EE development environments – Chrusciel, 2015 – Related Work
  5. Introducing Performance Awareness in an Integrated Specification Environment 7 In

    Situ Understanding of Performance Bottlenecks through Visually Augmented Code – Beck et al., 2013 – Related Work
  6. Straight from the ISE*, not IDE Performance Awareness Introducing Performance

    Awareness in an Integrated Specification Environment 9 * ISE = Integrated Specification Environment
  7. • What impact does this decision have on the performance?

    • Are all performance requirements fulfilled? • Are all performance requirements fulfilled for all relevant configurations? • Having an incomplete configuration, which features yield the best performance? • Oh this is interesting, can we have a thorough analysis? Introducing Performance Awareness in an Integrated Specification Environment 11 Immediate feedback raises performance awareness Questions
  8. Modeling resources and allocations JetBrains MPS and IETS3 Introducing Performance

    Awareness in an Integrated Specification Environment 15
  9. Define Performance Analyses Define Variability Analyses Performance result standard (semantics!)

    Introducing Performance Awareness in an Integrated Specification Environment 18 A framework for model-agnostic performance analysis fastpan PerformanceAnalyzer AnalysisContext PerformanceResult VariabilityAnalyzer VariabilityContext ? Attach.<NamedElement>to(action).utilization(Percentage.of(result.getUtilization())).mean(); Attach.<NamedElement>to(action).serviceTime(serviceTime).normalDistribution(serviceTimeVariance)) PerformanceMetric PerformanceMeasure DECLARE-Project/fastpan
  10. palladio-environment • Use Palladio outside Eclipse (i.e. headless) palladio-builder •

    Build PCM models with fluent Java API palladio-analysis • Supports LQN solver • Implements fastpan PerformanceAnalyzer Introducing Performance Awareness in an Integrated Specification Environment 19 Palladio outside Eclipse palladio-headless DECLARE-Project/palladio-headless
  11. • Palladio can provide real-time diagnostics • Variability analysis in

    IETS 3 • [Yes] What impact does this decision have on the performance? • [Yes] Are all performance requirements fulfilled? • [Yes] Are all performance requirements fulfilled for all relevant configurations? • [Not yet] Having an incomplete configuration, which features yield the best performance? • [Not yet] Oh this is interesting, can we have a thorough analysis? Results & Conclusion Introducing Performance Awareness in an Integrated Specification Environment 27
  12. • Slide 1: https://commons.wikimedia.org/wiki/File:Fale_F1_Monza_2004_73.jpg • Slide 4: Becker, Steffen, Heiko

    Koziolek, and Ralf Reussner. "The Palladio component model for model- driven performance prediction." Journal of Systems and Software 82.1 (2009): 3-22. • Slide 5: Doors Screenshot: https://www.ibm.com/developerworks/mydeveloperworks/blogs/requirementsmanagement/resource/ BLOGS_UPLOADED_IMAGES/seg2.jpg • Slide 5: ArchStudio Screenshot: http://y.web.umkc.edu/yzheng/img/archfeature/ArchFeature.PNG • Slide 5: EnterpriseArchitect Screenshot: http://assets.devx.com/articlefigs/Fig3_DetailedClassDiagrams.jpg • Slide 5: Palladio Bench Screenshot: http://sdq.ipd.kit.edu/uploads/media/palladio- bench_3.4_screenshot_01.jpg • Slide 5: IntelliJ IDEA Screenshot: https://www.jetbrains.com/idea/img/screenshots/[email protected] Introducing Performance Awareness in an Integrated Specification Environment 28 Image References