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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Steffen Becker. Coupled Model Transformations for QoS Enabled Component-Based Software Design. Universitätsverlag Karlsruhe, 2008. https://publikationen.bibliothek.kit.edu/1000009095.
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.
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.
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. Pattern-Oriented Software Architecture—Volume 1: A System of Patterns. Wiley Publishing, 1996.
Henning Groenda. Certifying Software Component Performance Specifications. Vol. 11. KIT Scientific Publishing, Karlsruhe, 2013. https://doi.org/10.5445/KSP/1000036063.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Robert C. Martin. Design Principles and Design Patterns. Vol. 1. Prentice Hall, 2000.
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.
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.
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.
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.
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.
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.
Susan Stepney. “A pattern language for scientific simulations”. In: Workshop on complex systems modelling and simulation. 2012, pp. 77–103.
Christian Stier. Adaptation-Aware Architecture Modeling and Analysis of Energy Efficiency for Software Systems. 2018, p. 262. https://doi.org/10.5445/IR/1000083402.
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.
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.
Emre Taspolatoglu and Robert Heinrich. “Context-based Architectural Security Analysis”. In: 13th Working IEEE/IFIP Conference on Software Architecture. 2016, pp. 281–282.
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.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
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)