Skip to main content

Challenges in the Evolution of Palladio—Refactoring Design Smells in a Historically-Grown Approach to Software Architecture Analysis

  • Chapter
  • First Online:
Composing Model-Based Analysis Tools
  • 495 Accesses

Abstract

In this chapter, we provide insights into Palladio—a tool-supported approach to modelling and analysing software architectures. Palladio serves as a case study for the evolution of historically-grown approaches to model-based analysis. We report about design smells in Palladio’s metamodel and simulators caused by evolution and growth over several years. Design smells are structures that require refactoring. Decomposition is key for refactoring these design smells. We discuss how techniques for decomposition and purpose-oriented composition can help refactoring design smells in Palladio’s metamodel and simulators.

This case-study chapter illustrates concepts introduced in Chaps. 4 and 5; it addresses Challenge 1 and Challenge 2 in Chap. 3 of this book.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.00
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Steffen Becker. Coupled Model Transformations for QoS Enabled Component-Based Software Design. Universitätsverlag Karlsruhe, 2008. https://publikationen.bibliothek.kit.edu/1000009095.

    Google Scholar 

  2. Matthias Becker, Markus Luckey, and Steffen Becker. “Performance Analysis of Selfadaptive Systems for Requirements Validation at Design-time”. In: 9th International ACM Sigsoft Conference on Quality of Software Architectures. 2013, pp. 43–52. https://doi.org/10.1145/2465478.2465489.

  3. Franz Brosch, Heiko Koziolek, Barbora Buhnova, and Ralf Reussner. “Architecture- Based Reliability Prediction with the Palladio Component Model”. In: IEEE Transactions on Software Engineering 38.6 (2012), pp. 1319–1339. https://doi.org/10.1109/TSE.2011.94.

  4. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. Pattern-Oriented Software Architecture—Volume 1: A System of Patterns. Wiley Publishing, 1996.

    Google Scholar 

  5. Henning Groenda. Certifying Software Component Performance Specifications. Vol. 11. KIT Scientific Publishing, Karlsruhe, 2013. https://doi.org/10.5445/KSP/1000036063.

    Google Scholar 

  6. Samarthyam Ganesh and Tushar Sharma. “Towards a Principle-based Classification of Structural Design Smells”. In: Journal of Object Technology 12 (2013). https://doi.org/10.5381/jot.2013.12.2.a1.

  7. Jens Happe. Predicting Software Performance in Symmetric Multi-Core and Multiprocessor Environments. University of Oldenburg, Germany, 2008. http://oops.uni-oldenburg.de/827/1/happre08.pdf.

    Google Scholar 

  8. Robert Heinrich, Philipp Merkle, Jörg Henss, and Barbara Paech. “Integrating business process simulation and information system simulation for performance prediction”. In: Software & Systems Modeling 16.1 (2017), pp. 257–277. https://doi.org/10.1007/s10270-015-0457-1.

  9. Robert Heinrich, Dominik Werle, Heiko Klare, Ralf Reussner, Max Kramer, Steffen Becker, Jens Happe, Heiko Koziolek, and Klaus Krogmann. “The Palladio-Bench for Modeling and Simulating Software Architectures”. In: 40th International Conference on Software Engineering: Companion Proceedings. 2018, pp. 37–40.

    Google Scholar 

  10. Robert Heinrich, Francisco Durán, Carolyn L. Talcott, and Steffen Zschaler (eds.) Composing Model-Based Analysis Tools. Springer, 2021. https://doi.org/10.1007/978-3-030-81915-6.

  11. Jörg Henss, Philipp Merkle, and Ralf Reussner. “The OMPCM Simulator for Model- Based Software Performance Prediction: Poster Abstract”. In: 6th International ICST Conference on Simulation Tools and Techniques. 2013, pp. 354–357.

    Google Scholar 

  12. Robert Heinrich, Misha Strittmatter, and Ralf Reussner. “A Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis”. In: IEEE Transactions on Software Engineering 47.4 (2019), pp. 775–800. https://doi.org/10.1109/TSE.2019.2903797.

  13. IEEE. 1516-2010—IEEE Standard for Modeling and Simulation (M&S) High Level Architecture (HLA). Tech. rep. IEEE, 2010, pp. 1–38. https://doi.org/10.1109/IEEESTD.2010.5553440.

  14. Heiko Koziolek, Steffen Becker, and Jens Happe. “Predicting the Performance of Component-Based Software Architectures with Different Usage Profiles”. In: Third International Conference on Quality of Software Architectures. 2007, pp. 145–163. https://doi.org/10.1007/978-3-540-77619-2_9.

  15. Heiko Koziolek and Ralf Reussner. “A Model Transformation from the Palladio Component Model to Layered Queueing Networks”. In: SPEC International Performance Evaluation Workshop. 2008, pp. 58–78. https://doi.org/10.1007/978-3-540-69814-2_6.

  16. Philip Langer, Konrad Wieland, Manuel Wimmer, and Jordi Cabot. “EMF profiles: A lightweight extension approach for EMF models”. In: Journal of Object Technology 11 (2011), p. 8. https://doi.org/10.5381/jot.2012.11.1.a8.

  17. Sebastian Lehrig. “Applying Architectural Templates for Design-Time Scalability and Elasticity Analyses of SaaS Applications”. In: 2nd International Workshop on Hot Topics in Cloud Service Scalability. 2014, 2:1–2:8.

    Google Scholar 

  18. Michele Lanza and Radu Marinescu. Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object- Oriented Systems. Springer, 2006. https://doi.org/10.1007/3-540-39538-5.

    MATH  Google Scholar 

  19. Anne Martens, Heiko Koziolek, Steffen Becker, and Ralf Reussner. “Automatically Improve Software Architecture Models for Performance, Reliability, and Cost Using Evolutionary Algorithms”. In: First Joint WOSP/SIPEW International Conference on Performance Engineering. 2010. https://doi.org/10.1145/1712605.1712624.

  20. Robert C. Martin. Design Principles and Design Patterns. Vol. 1. Prentice Hall, 2000.

    Google Scholar 

  21. Philipp Merkle and Jörg Henss. “EventSim—An Event-driven Palladio Software Architecture Simulator”. In: Palladio Days 2011. 2011, pp. 15–22. http://digbib.ubka.uni-karlsruhe.de/volltexte/1000025188.

  22. Philipp Meier, Samuel Kounev, and Heiko Koziolek. “Automated Transformation of Component-based Software Architecture Models to Queueing Petri Nets”. In: 19th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. 2011. https://doi.org/10.1109/MASCOTS.2011.23.

  23. Ralf H. Reussner, Steffen Becker, Jens Happe, Robert Heinrich, Anne Koziolek, Heiko Koziolek, Max Kramer, and Klaus Krogmann. Modeling and Simulating Software Architectures—The Palladio Approach. MIT Press, 2016.

    Google Scholar 

  24. Kiana Rostami, Johannes Stammel, Robert Heinrich, and Ralf Reussner. “Architecture-based Assessment and Planning of Change Requests”. In: 11th International ACM SIGSOFT Conference on Quality of Software Architectures. 2015, pp. 21–30. https://sdqweb.ipd.kit.edu/publications/pdfs/rostami2015a.pdf.

  25. Misha Strittmatter, Robert Heinrich, and Ralf Reussner. Supplementary Material for the Evaluation of the Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis. Tech. rep. 11. Karlsruher Institut für Technologie (KIT), 2018. 42 pp. https://doi.org/10.5445/IR/1000089243.

  26. Stephan Seifermann, Robert Heinrich, and Ralf H. Reussner. “Data-Driven Software Architecture for Analyzing Confidentiality”. In: IEEE International Conference on Software Architecture. 2019, pp. 1–10.

    Google Scholar 

  27. Susan Stepney. “A pattern language for scientific simulations”. In: Workshop on complex systems modelling and simulation. 2012, pp. 77–103.

    Google Scholar 

  28. Christian Stier. Adaptation-Aware Architecture Modeling and Analysis of Energy Efficiency for Software Systems. 2018, p. 262. https://doi.org/10.5445/IR/1000083402.

  29. Misha Strittmatter, Georg Hinkel, Michael Langhammer, Reiner Jung, and Robert Heinrich. “Challenges in the Evolution of Metamodels: Smells and Anti-Patterns of a Historically-Grown Metamodel”. In: 10th International Workshop on Models and Evolution. 2016.

    Google Scholar 

  30. Misha Strittmatter. A Reference Structure for Modular Metamodels of Quality- Describing Domain-Specific Modeling Languages. Universitätsverlag Karlsruhe, 2019. https://publikationen.bibliothek.kit.edu/1000098906.

    Google Scholar 

  31. Emre Taspolatoglu and Robert Heinrich. “Context-based Architectural Security Analysis”. In: 13th Working IEEE/IFIP Conference on Software Architecture. 2016, pp. 281–282.

    Google Scholar 

  32. Tom Verdickt, Bart Dhoedt, Filip De Turck, and Piet Demeester. “Hybrid performance modeling approach for network intensive distributed software”. In: 6th International Workshop on Software and Performance. 2007, pp. 189–200. https://doi.org/10.1145/1216993.1217026.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Robert Heinrich .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Heinrich, R., Henss, J., Koch, S., Reussner, R. (2021). Challenges in the Evolution of Palladio—Refactoring Design Smells in a Historically-Grown Approach to Software Architecture Analysis. In: Heinrich, R., Durán, F., Talcott, C., Zschaler, S. (eds) Composing Model-Based Analysis Tools. Springer, Cham. https://doi.org/10.1007/978-3-030-81915-6_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-81915-6_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-81914-9

  • Online ISBN: 978-3-030-81915-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics