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

Leveraging Palladio for Performance Awareness in the IETS 3 Integrated Specification Environment

Fabian Keller
November 08, 2016

Leveraging Palladio for Performance Awareness in the IETS 3 Integrated Specification Environment

Performance is an important concern when designing and implementing software-intensive systems. Various techniques are available for specifying and evaluating performance concerns throughout the system life-cycle. However, there is a gap in terms of tooling when moving between requirements, design, and implementation artifacts. We address this gap by integrating simulation-based and analytical performance prediction tools into IETS3 — an integrated specification environment for technical software systems based on the JetBrains MPS language workbench. In this paper, we provide an overview of our work in progress on integrating performance awareness support into the IETS3 editor and user interface. We leverage Palladio’s prediction infrastructure by transforming to Palladio’s modeling language to obtain performance predictions, which are then fed back into the IETS3 user interface. The approach yields a tight integration of the requirements and the design of a system strengthened by a real-time feedback loop.

Fabian Keller

November 08, 2016
Tweet

More Decks by Fabian Keller

Other Decks in Research

Transcript

  1. Leveraging Palladio for Performance Awareness in the IETS 3 Integrated

    Specification Environment Symposium on Software Performance 2016-11-08, Kiel, Germany Fabian Keller Markus Völter André van Hoorn Klaus Birken
  2. Leveraging Palladio for Performance Awareness in IETS3 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
  3. Building Software with Performance in Mind State of the Art

    Leveraging Palladio for Performance Awareness in IETS3 3
  4. Leveraging Palladio for Performance Awareness in IETS3 4 Or how

    to ship performant code Software Performance Engineering RE SPL SA NFR IDE
  5. Leveraging Palladio for Performance Awareness in IETS3 5 Integration of

    performance awareness in Java EE development environments – Chrusciel, 2015 – Related Work
  6. Leveraging Palladio for Performance Awareness in IETS3 6 In Situ

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

    for Performance Awareness in IETS3 8 * ISE = Integrated Specification Environment
  8. • 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? Leveraging Palladio for Performance Awareness in IETS3 10 Immediate feedback raises performance awareness Questions
  9. Define Performance Analyses Define Variability Analyses Performance result standard (semantics!)

    Leveraging Palladio for Performance Awareness in IETS3 17 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 PerformanceQuantity 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 Leveraging Palladio for Performance Awareness in IETS3 18 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 Leveraging Palladio for Performance Awareness in IETS3 25
  12. • Slide 1: https://commons.wikimedia.org/wiki/File:Fale_F1_Monza_2004_73.jpg • Slide 4: Doors Screenshot: https://www.ibm.com/developerworks/mydeveloperworks/blogs/requirementsmanagement/re

    source/BLOGS_UPLOADED_IMAGES/seg2.jpg • Slide 4: ArchStudio Screenshot: http://y.web.umkc.edu/yzheng/img/archfeature/ArchFeature.PNG • Slide 4: EnterpriseArchitect Screenshot: http://assets.devx.com/articlefigs/Fig3_DetailedClassDiagrams.jpg • Slide 4: Palladio Bench Screenshot: http://sdq.ipd.kit.edu/uploads/media/palladio- bench_3.4_screenshot_01.jpg • Slide 4: IntelliJ IDEA Screenshot: https://www.jetbrains.com/idea/img/screenshots/[email protected] Leveraging Palladio for Performance Awareness in IETS3 26 Image References