The Palladio Approach
Too often, software designers lack an understanding of the effect of design decisions on such quality attributes as performance and reliability. This necessitates costly trial-and-error testing cycles, delaying or complicating rollout. This book presents a new, quantitative architecture simulation approach to software design, which allows software engineers to model quality of service in early design stages. It presents the first simulator for software architectures, Palladio, and shows students and professionals how to model reusable, parametrized components and configured, deployed systems in order to analyze service attributes.
The text details the key concepts of Palladio’s domain-specific modeling language for software architecture quality and presents the corresponding development stage. It describes how quality information can be used to calibrate architecture models from which detailed simulation models are automatically derived for quality predictions. Readers will learn how to approach systematically questions about scalability, hardware resources, and efficiency. The text features a running example to illustrate tasks and methods as well as three case studies from industry. Each chapter ends with exercises, suggestions for further reading, and “takeaways” that summarize the key points of the chapter. The book can be used in graduate courses on software architecture, quality engineering, or performance engineering. It will also be an essential resource for software architects and software engineers and for practitioners who want to apply Palladio in industrial settings.
“As software architects, we experience a plethora of technical decisions heavily impacting a systems economy later down the road. Deciding based on best practices and educated guesses alone often feels unsatisfying. The Palladio approach comprehensively presented by this book offers reproducible simulations to measure specific quality attributes that will influence the success of projects.”
—Dr. Wolfgang Weck, Professor of Computer Science, University of Applied Sciences and Arts Northwestern Switzerland>
“The use of models to describe, analyze, and validate designs is a common practice in mature engineering fields. Despite its industrial and social relevance, software engineering has not yet reached a comparable maturity level. This book is a major step in this direction. The comprehensive approach developed by the Palladio team and presented in this book sets the stage for mature, model-based software engineering and distills methods that can become standard practice in the software industry. Every student and professional should read it and learn from it.”
—Carlo Ghezzi, Professor and Chair of Software Engineering, Politecnico di Milano