Home | Sitemap | Index | Contact | Legals | KIT

Publications of Franz Brosch

Books/Book Chapters and edited Proceedings

[1] Franz Brosch. Integrated Software Architecture-Based Reliability Prediction for IT Systems, volume 9 of The Karlsruhe Series on Software Design and Quality. KIT Scientific Publishing, Karlsruhe, 2012. [ bib ]
[2] Christoph Rathfelder, Benjamin Klatt, Franz Brosch, and Samuel Kounev. Performance Modeling for Quality of Service Prediction in Service-Oriented Systems. IGI Global, Hershey, PA, USA, December 2011. [ bib | DOI | http | Abstract ]
With the introduction of services, systems become more flexible as new services can easily be composed out of existing services. Services are increasingly used in mission-critical systems and applications and therefore considering Quality of Service (QoS) properties is an essential part of the service selection. Quality prediction techniques support the service provider in determining possible QoS levels that can be guaranteed to a customer or in deriving the operation costs induced by a certain QoS level. In this chapter, we present an overview on our work on modeling service-oriented systems for performance prediction using the Palladio Component Model. The prediction builds upon a model of a service-based system, and evaluates this model in order to determine the expected service quality. The presented techniques allow for early quality prediction, without the need for the system being already deployed and operating. We present the integration of our prediction approach into an SLA management framework. The emerging trend to combine event-based communication and Service-Oriented Architecture (SOA) into Event-based SOA (ESOA) induces new challenges to our approach, which are topic of a special subsection.
[3] Franz Brosch. Service Level Agreements for Cloud Computing, chapter Software Performance and Reliability Prediction, pages 153-164. Springer New York, 2011. [ bib | DOI ]

Refereed journal articles

[1] Franz Brosch, Heiko Koziolek, Barbora Buhnova, and Ralf Reussner. Architecture-based reliability prediction with the palladio component model. IEEE Transactions on Software Engineering, 38(6):1319-1339, Nov 2012, IEEE Computer Society. [ bib | DOI | Abstract ]
With the increasing importance of reliability in business and industrial software systems, new techniques of architecture-based reliability engineering are becoming an integral part of the development process. These techniques can assist system architects in evaluating the reliability impact of their design decisions. Architecture-based reliability engineering is only effective if the involved reliability models reflect the interaction and usage of software components and their deployment to potentially unreliable hardware. However, existing approaches either neglect individual impact factors on reliability or hard-code them into formal models, which limits their applicability in component-based development processes. This paper introduces a reliability modelling and prediction technique that considers the relevant architectural factors of software systems by explicitly modelling the system usage profile and execution environment and automatically deriving component usage profiles. The technique offers a UML-like modelling notation, whose models are automatically transformed into a formal analytical model. Our work builds upon the Palladio Component Model, employing novel techniques of information propagation and reliability assessment. We validate our technique with sensitivity analyses and simulation in two case studies. The case studies demonstrate effective support of usage profile analysis and architectural configuration ranking, together with the employment of reliability-improving architecture tactics.

Refereed conference/Workshop papers

[1] Benjamin Klatt, Franz Brosch, Zoya Durdik, and Christoph Rathfelder. Quality Prediction in Service Composition Frameworks. In 5th Workshop on Non-Functional Properties and SLA Management in Service-Oriented Computing (NFPSLAM-SOC 2011), Paphos, Cyprus, December 5-8, 2011. [ bib | .pdf | Abstract ]
With the introduction of services, software systems have become more flexible as new services can easily be composed from existing ones. Service composition frameworks offer corresponding functionality and hide the complexity of the underlying technologies from their users. However, possibilities for anticipating quality properties of com- posed services before their actual operation are limited so far. While existing approaches for model-based software quality prediction can be used by service composers for determining realizable Quality of Service (QoS) levels, integration of such techniques into composition frameworks is still missing. As a result, high effort and expert knowledge is required to build the system models required for prediction. In this paper, we present a novel service composition process that includes QoS prediction for composed services as an integral part. Furthermore, we describe how composition frameworks can be extended to support this process. With our approach, systematic consideration of service quality during the composition process is naturally achieved, without the need for de- tailed knowledge about the underlying prediction models. To evaluate our work and validate its applicability in different domains, we have integrated QoS prediction support according to our process in two com- position frameworks - a large-scale SLA management framework and a service mashup platform.
[2] Franz Brosch, Barbora Buhnova, Heiko Koziolek, and Ralf Reussner. Reliability Prediction for Fault-Tolerant Software Architectures. In International ACM Sigsoft Conference on the Quality of Software Architectures (QoSA), 2011, pages 75-84. ACM, New York, NY, USA. 2011. [ bib | .pdf | Abstract ]
Software fault tolerance mechanisms aim at improving the reliability of software systems. Their effectiveness (i.e., reliability impact) is highly application-specific and depends on the overall system architecture and usage profile. When examining multiple architecture configurations, such as in software product lines, it is a complex and error-prone task to include fault tolerance mechanisms effectively. Existing approaches for reliability analysis of software architectures either do not support modelling fault tolerance mechanisms or are not designed for an efficient evaluation of multiple architecture variants. We present a novel approach to analyse the effect of software fault tolerance mechanisms in varying architecture configurations. We have validated the approach in multiple case studies, including a large-scale industrial system, demonstrating its ability to support architecture design, and its robustness against imprecise input data.
[3] Franz Brosch, Ralf Gitzel, Heiko Koziolek, and Simone Krug. Combining architecture-based software reliability predictions with financial impact calculations. In International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA), 2010, volume 264 of ENTCS, pages 3-17. Elsevier. 2010. [ bib | DOI | .pdf | Abstract ]
Software failures can lead to substantial costs for the user. Existing models for software reliability prediction do not provide much insight into this financial impact. Our approach presents a first step towards the integration of reliability prediction from the IT perspective and the business perspective. We show that failure impact should be taken into account not only at their date of occurrence but already in the design stage of the development. First we model cost relevant business processes as well as the associated IT layerand then connect them to failure probabilities. Based on this we conduct a reliability and cost estimation. The method is illustrated by a case study.
[4] Franz Brosch, Heiko Koziolek, Barbora Buhnova, and Ralf Reussner. Parameterized Reliability Prediction for Component-based Software Architectures. In International Conference on the Quality of Software Architectures (QoSA), 2010, volume 6093 of LNCS, pages 36-51. Springer. 2010. [ bib | DOI | .pdf | Abstract ]
Critical properties of software systems, such as reliability, should be considered early in the development, when they can govern crucial architectural design decisions. A number of design-time reliability-analysis methods has been developed to support this task. However, the methods are often based on very low-level formalisms, and the connection to different architectural aspects (e.g., the system usage profile) is either hidden in the constructs of a formal model (e.g., transition probabilities of a Markov chain), or even neglected (e.g., resource availability). This strongly limits the applicability of the methods to effectively support architectural design. Our approach, based on the Palladio Component Model (PCM), integrates the reliability-relevant architectural aspects in a highly parameterized UML-like model, which allows for transparent evaluation of architectural design options. It covers the propagation of the system usage profile throughout the architecture, and the impact of the execution environment, which are neglected in most of the existing approaches. Before analysis, the model is automatically transformed into a formal Markov model in order to support effective analytical techniques to be employed. The approach has been validated against a reliability simulation of a distributed Business Reporting System.
[5] Franz Brosch and Barbora Zimmerova. Design-Time Reliability Prediction for Software Systems. In International Workshop on Software Quality and Maintainability (SQM), March 2009, pages 70-74. [ bib | .pdf | Abstract ]
Reliability is one of the most critical extra-functional properties of a software system, which needs to be evaluated early in the development process when formal methods and tools can be applied. Though many approaches for reliability prediction exist, not much work has been done in combining different types of failures and system views that influence the reliability. This paper presents an integrated approach to reliability prediction, reflecting failures triggered by both software faults and physical-resource breakdowns, and incorporating detailed information about system control flow governed by user inputs.
[6] Heiko Koziolek and Franz Brosch. Parameter dependencies for component reliability specifications. In Proceedings of the 6th International Workshop on Formal Engineering approaches to Software Components and Architectures (FESCA), 2009, volume 253(1) of ENTCS, pages 23 - 38. Elsevier. 2009. [ bib | DOI | .pdf | Abstract ]
Predicting the reliability of a software system at an architectural level during early design stages can help to make systems more dependable and avoid costs for fixing the implementation. Existing reliability prediction methods for component-based systems use Markov models and assume that the software architect can provide the transition probabilities between individual components. This is however not possible if the components are black boxes, only at the design stage, or not available for testing. We propose a new modelling formalism that includes parameter dependencies into software component reliability specifications. It allows the software architect to only model a system-level usage profile, which a tool then propagates to individual components to determine the transition probabilities of the Markov model. We demonstrate the applicability of our approach by modelling the reliability of a retail management system and conduct reliability predictions.
[7] Anne Martens, Franz Brosch, and Ralf Reussner. Optimising multiple quality criteria of service-oriented software architectures. In Proceedings of the 1st international workshop on Quality of service-oriented software systems (QUASOSS), 2009, pages 25-32. ACM, New York, NY, USA. 2009. [ bib | DOI | .pdf | Abstract ]
Quantitative prediction of quality criteria (i.e. extra-functional properties such as performance, reliability, and cost) of service-oriented architectures supports a systematic software engineering approach. However, various degrees of freedom in building a software architecture span a large, discontinuous design space. Currently, solutions with a good trade-off between multiple quality criteria have to be found manually. We propose an automated approach to search the design space by modifying the architectural models, to improve the architecture with respect to multiple quality criteria, and to find optimal architectural models. The found optimal architectural models can be used as an input for trade-off analyses and thus allow systematic engineering of high-quality software architectures. Using this approach, the design of a high-quality component-based software system is eased for the software architect and thus saves cost and effort. Our approach applies a multi-criteria genetic algorithm to software architectures modelled with the Palladio Component Model (PCM). Currently, the method supports quantitative performance and reliability prediction, but it can be extended to other quality properties such as cost as well.

Theses

[1] Franz Brosch. Integrated Software Architecture-Based Reliability Prediction for IT Systems. PhD thesis, Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie, Karlsruhe, Germany, 2012. [ bib | http | Abstract ]
With the increasing importance of reliability in business and industrial IT systems, new techniques for architecture-based software reliability prediction are becoming an integral part of the development process. This dissertation thesis introduces a novel reliability modelling and prediction technique that considers the software architecture with its component structure, control and data flow, recovery mechanisms, its deployment to distributed hardware resources and the system's usage profile.