Home | Sitemap | Contact | Legals | Data Protection | KIT

Karlsruhe Series on Software Design and Quality

This series reports on research in Karlsruhe for the engineering foundations of software design. Edited by Prof. Dr. Ralf Reussner

All books from this series are available online and as book on demand from KIT Scientific Publishing.

Volume 1: Coupled model transformations for QoS enabled component-based software design

by Steffen Becker

This thesis presents the Palladio Component Model and its accompanying transformations for component-based software design with predictable performance attributes. The use of transformations results in a deterministic relationship between the model and its implementation. The introduced Coupled Transformations method uses this relationship to include implementation details into predictions to get better predictions. The approach is validated in several case studies showing the increased accuracy.

Fulltext PDF | Oder printed book

Volume 2: Parameter dependencies for reusable performance specifications of software components

by Heiko Koziolek

To avoid design-related per­for­mance problems, model-driven performance prediction methods analyse the response times, throughputs, and re­source utilizations of software architectures before and during implementation. This thesis proposes new modeling languages and according model transformations, which allow a reusable description of usage profile dependencies to the performance of software components. Predictions based on this new methods can support performance-related design decisions.

Fulltext PDF | Order printed book

Volume 3: Predicting software performance in symmetric multi-core and multiprocessor Environments

by Jens Happe

With today's rise of multi-core processors, concurrency becomes a ubiquitous challenge in software development.Performance prediction methods have to reflect the influence of multiprocessing environments on software performance in order to help software architects to find potential performance problems during early development phases. In this thesis, we address the influence of the operating system scheduler on software performance in symmetric multiprocessing environments.

Fulltext PDF | Order printed book

Volume 4: Reconstruction of Software Component Architectures and Behaviour Models using Static and Dynamic Analysis

by Klaus Krogmann

Model-based performance prediction systematically deals with the evaluation of software performance to avoid for example bottlenecks, estimate execution environment sizing, or identify scalability limitations for new usage scenarios. Such performance predictions require up-to-date software performance models. This book describes a new integrated reverse engineering approach for the reconstruction of parameterised software performance models (software component architecture and behaviour).

Fulltext PDF | Order printed book

Volume 5: Quantifying and Predicting the Influence of Execution Platform on Software Component Performance

by Michael Kuperberg

The performance of software components depends on several factors, including the execution platform on which the software components run. To simplify cross-platform performance prediction in relocation and sizing scenarios, a novel approach is introduced in this thesis which separates the application performance profile from the platform performance profile. The approach is evaluated using transparent instrumentation of Java applications and with automated benchmarks for Java Virtual Machines.

Fulltext PDF | Order printed book

Volume 6: View-based textual modelling

by Thomas Goldschmidt

This work introduces the FURCAS approach, a framework for view-based textual modelling. FURCAS includes means that allow software language engineers to define partial and overlapping textual modelling languages. Furthermore, FURCAS provides an incremental update approach that enables modellers to work with multiple views on the same underlying model. The approach is validated against a set of formal requirements, as well as several industrial case studies showing its practical applicability.

Fulltext PDF | Order printed book

Volume 7: Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes

by Anne Koziolek

Quality attributes, such as performance or reliability, are crucial for the success of a software system and largely influenced by the software architecture. Their quantitative prediction supports systematic, goal-oriented software design and forms a base of an engineering approach to software design. This thesis proposes a method and tool to automatically improve component-based software architecture (CBA) models based on such quantitative quality prediction techniques. The method and tool support software architects in making trade-off decisions and negotiating quality requirements with stakeholders.

Fulltext PDF | Order printed book

Volume 8: Configurable Software Performance Completions through Higher-Order Model Transformations

by Lucia Happe

Chillies is a novel approach for variable model transformations closing the gap between abstract architecture models, used for performance prediction, and required low-level details. We enable variability of transformations using chain of generators based on the Higher-Order Transformation (HOT). HOTs target different goals, such as template instantiation or transformation composition. In addition, we discuss state-dependent behavior in prediction models and quality of model transformations.

Fulltext PDF | Order printed book

Volume 9: Integrated Software Architecture-Based Reliability Prediction for IT Systems

by Franz Brosch

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.

Fulltext PDF | Order printed book

Volume 10: Modelling Event-Based Interactions in Component-Based Architectures for Quantitative System Evaluation

by Christoph Rathfelder

This dissertation thesis presents an approach enabling the modelling and quality-of-service prediction of event-based systems at the architecture-level. Applying a two-step model refinement transformation, the approach integrates platform-specific performance influences of the underlying middleware while enabling the use of different existing analytical and simulation-based prediction techniques.

PDF fulltext | Order printed book

Volume 11: Certifying Software Component Performance Specifications

by Henning Groenda

In component-based software engineering, performance prediction approaches support the design of business information systems on the architectural level. They are based on behavior specifications of components. This work presents a round-trip approach for using, assessing, and certifying the accuracy of parameterized, probabilistic, deterministic, and concurrent performance specifications. Its applicability and effectiveness are demonstrated using the CoCoME benchmark.

Fulltext PDF | Order printed book

Volume 12: Deriving Goal-oriented Performance Models by Systematic Experimentation

by Dennis Westermann

Performance modelling can require substantial effort when creating and maintaining performance models for software systems that are based on existing software. Therefore, this thesis addresses the challenge of performance prediction in such scenarios. It proposes a novel goal-oriented method for experimental, measurement-based performance modelling. We validated the approach in a number of case studies including standard industry benchmarks as well as a real development scenario at SAP.

Fulltext PDF | Order printed book

Volume 13: Automated Experiments for Deriving Performance-relevant Properties of Software Execution Environments

by Michael Hauck

The software execution environment can play a crucial role when analyzing the performance of a software system. In this book, a novel approach for the automated detection of performance-relevant properties of the execution environment is presented. The properties are detected using predefined experiments and integrated into performance prediction tools. The approach is applied to experiments for detecting different CPU, OS, and virtualization properties, and validated in different case studies.

Fulltext PDF | Order printed book

Volume 14: Architectural Design Decision Documentation through Reuse of Design Patterns.

by Zoya Durdik

The ADMD3 approach presented in this book enchances the architectural design documentation of decision via reuse of design patterns. It combines the support for evaluation of pattern application, semi-automated documentation of decision rationale and trace links. The approach is based on a new kind of design pattern catalogue, whereby usual pattern descriptions are captured together with question annotations to the patterns and information on architectural structure of patterns.

Fulltext PDF | Order printed book

Volume 15: Flexible Views for View-based Model-driven Development

by Erik Burger

Modern software development faces growing size and complexity of systems. The usage of several formalisms introduces the problem of fragmentation of information across heterogeneous artefacts in different formats, concepts, and languages. In this thesis, the conceptual foundations for the Vitruvius approach are presented. Flexible views are introduced as a concept for the compact definition of user-specific views, which can be defined in the ModelJoin language. The view-based development process is supported by a change metamodel for the description of metamodel evolution and a change impact analysis.

Fulltext PDF | Order printed book

Volume 16: Consolidation of Customized Product Copies into Software Product Lines

by Benjamin Klatt

In software development, project constraints lead to customer-specific variants by copying and adapting the product. During this process, modifications are scattered all over the code. Although this is flexible and efficient in the short term, a Software Product Line (SPL) offers better results in the long term, regarding cost reduction, time-to-market, and quality attributes. This book presents a novel approach named SPLevo, which consolidates customized product copies into an SPL.

Fulltext PDF | Order printed book

Volume 17: Model Transformation Languages with Modular Information Hiding

by Andreas Rentschler

Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain.

Fulltext PDF | Order printed book

Volume 18: Modeling and Prediction of I/O Performance in Virtualized Environments

by Qais Noorshams

We present a novel performance modeling approach tailored to I/O performance prediction in virtualized environments. The main idea is to identify important performance-influencing factors and to develop storage-level I/O performance models. To increase the practical applicability of these models, we combine the low-level I/O performance models with high-level software architecture models. Our approach is validated in a variety of case studies in state-of-the-art, real-world environments.

Fulltext PDF | Order printed book

Volume 19: Architekturbasierte Bewertung und Planung von Änderungsanfragen

by Johannes Stammel

Software Architecture covers the technical organization of a software system and principles which determine design and evolution of the system. The research issue of this work results from software evolution, when the software needs to be modified. The contribution of this book is a method for change request analysis based on software architecture models. The method supports derivation of tasks covering several work areas and life cycle phases.

Fulltext PDF | Order printed book

Volume 20: Performance Problem Diagnostics by Systematic Experimentation

by Alexander Wert

In this book, we introduce an automatic, experiment-based approach for performance problem diagnostics in enterprise software systems. The proposed approach systematically searches for root causes of detected performance problems by executing series of systematic performance tests. The presented approach is evaluated by various case studies showing that the presented approach is applicable to a wide range of contexts.

Fulltext PDF | Order printed book

Volume 21: An Approach for Guiding Developers to Performance and Scalability Solutions

by Christoph Heger

The quality of enterprise software applications plays a crucial role for the satisfaction of the users and the economic success of the enterprises. Software applications with unsatisfying performance and scalability are perceived by its users as low in quality, as less interesting and less attractive, and cause frustration when preventing the users from attaining their goals.

This work proposes an approach for a recommendation system that enables developers who are novices in software performance engineering to solve software performance and scalability problems without the assistance of a software performance expert. The approach includes a set of description languages for data representation and human computer interaction and a workflow to guide the developer through the solution process without the assistance of a software performance expert.

Fulltext PDF | Order printed book

Volume 22: Weighted Statistical Testing based on Active Learning and Formal Verification Techniques for Software Reliability Assessment

by Fouad Omri

This work developed an automatic approach for the assessment of software reliability which is both theoretical sound and practical. The developed approach extends and combines theoretical sound approaches in a novel manner to systematically reduce the overhead of reliability assessment.

PDF | Order printed book

Volume 23: Automated Coevolution of Source Code and Soware Architecture Models

by Michael Langhammer

This work introduces a novel approach to keep high-level component-based architecture models consistent with source code during software development and software evolution. The approach helps to avoid architecture drift and architecture erosion, which are two well-known problems that can arise during development and maintenance of a software system. In particular, the presented approach can be used to keep instances of the Palladio Component Model (PCM) consistent with Java source code.

Fulltext PDF | Order printed book

Volume 24: Specification Languages for Preserving Consistency between Models of Different Languages

by Max Kramer

When complex IT systems are being developed, the usage of several programming and modelling languages can lead to inconsistencies that yield faulty designs and implementations. To address this problem, this work contributes a classification of consistency preservation challenges and an approach for preserving consistency. It is formalized using set theory and monitors changes to avoid matching and diffing problems. Three new languages that follow this preservation approach are presented.

Fulltext PDF | Order printed book

Volume 25: Efficiently Conducting Quality-of-Service Analyses by Templating Architectural Knowledge

by Sebastian Lehrig

Previously, software architects were unable to effectively and efficiently apply reusable knowledge (e.g., architectural styles and patterns) to architectural analyses. This work tackles this problem with a novel method to create and apply templates for reusable knowledge. These templates capture reusable knowledge formally and can efficiently be integrated in architectural analyses.

Fulltext PDF | Order printed book

Volume 26: Implicit Incremental Model Analyses and Transformations

by Georg Hinkel

— to appear —

Volume 27: Adaptation-Aware Architecture Modeling and Analysis of Energy Efficiency for Software Systems

by Christian Stier

This work presents an approach for the architecture analysis of energy efficiency for static and self-adaptive software systems. It introduces a modeling language that captures consumption characteristics on an architectural level. The outlined analysis predicts the energy efficiency of systems described with this language. Lastly, this work introduces an approach for considering transient effects in design time architecture analyses.

Fulltext PDF | Order printed book

Volume 28: Entwurfsoptimierung von selbst-adaptiven Wartungsmechanismen für software-intensive technische Systeme

by Lukas Märtin

This work presents novel concepts for efficient decision support in reconfiguring software-intensive technical systems with limited maintenance access. In contrast to purely redundancy-oriented approaches, the proposed methodology is based on the predictive pre-calculation of adequate configuration alternatives in the relevant design space. The knowledge about configuration relationships is manifested early and used for the autonomic cost-efficient assessment of configuration alternatives.

Fulltext PDF | Order printed book

Volume 29: Quality-driven Reuse of Model-based Software Architecture Elements

by Axel Busch

In software development, components are increasingly being reused, especially for the implementation of standard functionalities making software development more cost-efficient. At design time, however, it is often unclear which solution providing these functionalities fits the requirements of the software system. This work proposes a method and tool enabling software architects to automatically evaluate the effects on the quality attributes of software architectures when reusing features.

Fulltext PDF | Order printed book

Volume 30: An Architecture-based Approach for Change Impact Analysis of Software-intensive Systems

by Kiana Busch

A main property of software-intensive technical systems is sustainability. Sustainable systems need to change continuously. A change to a system element can result in further changes to other system elements. If these elements originate from different domains, the change can also propagate between several domains. This book presents an architecture-based approach to change propagation analysis of software-intensive technical systems that considers heterogeneous elements from different domain.

Fulltext PDF | Order printed book

Volume 31: A Reference Structure for Modular Metamodels of Quality-Describing Domain-Specific Modeling Languages

by Misha Strittmatter

To understand the problems in metamodeling, this work presents an investigation of bad smells in metamodels. The core contribution of this work is the reference structure. It enables design, evolution, and extension of metamodels for modeling languages used for quality analysis. Applying the reference structure yields a modular metamodel. To be able to couple the metamodel modules in a meaningful way, this book investigates metamodel extension mechanisms.

Fulltext PDF | Order printed book