Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Robert Heinrich is active.

Publication


Featured researches published by Robert Heinrich.


quality of software architectures | 2015

Architecture-based Assessment and Planning of Change Requests

Kiana Rostami; Johannes Stammel; Robert Heinrich; Ralf H. Reussner

Software architecture reflects important decisions on structure, used technology and resources. Architecture decisions influence to a large extent requirements on software quality. During software evolution change requests have to be implemented in a way that the software maintains its quality, as various potential implementations of a specific change request influence the quality properties differently. Software development processes involve various organisational and technical roles. Thus, for sound decision making it is important to understand the consequences of the decisions on the various software engineering artefacts (e.g. architecture, code, test cases, build, or deployments) when analysing the impact of a change request. However, existing approaches do not use sufficient architecture descriptions or are limited to software development without taking management tasks into account. In this paper, we present the tool-supported approach Karlsruhe Architectural Maintainability Prediction (KAMP) to analyse the change propagation caused by a change request in a software system based on the architecture model. Using context information annotated on the architecture KAMP enables project members to assess the effects of a change request on various technical and organisational artefacts and tasks during software life cycle. We evaluate KAMP in an empirical study, which showed that it improves scalability of analysis for information systems due to automatically generated task lists containing more complete and precise context annotations than manually created ones.


international conference on software engineering | 2015

A Platform for Empirical Research on Information System Evolution

Robert Heinrich; Stefan Gärtner; Tom-Michael Hesse; Thomas Ruhroth; Ralf H. Reussner; Kurt Schneider; Barbara Paech; Jan Jürjens

Software-intensive systems are subject to continuous change due to modification of the systems themselves and their environment. Methods for supporting evolution are a competitive edge in software engineering as software is operated over decades. Empirical research is useful to validate the effectiveness of these methods. However, empirical studies on software evolution are rarely comprehensive and hardly replicable. Collaboration in empirical studies may prevent these shortcomings. We analyzed the support for such collaboration and examined existing studies in a literature review. Based on our findings, we designed CoCoMEP‐ a platform for supporting collaboration in empirical research on software evolution by shared knowledge. We report lessons learned from the application of the platform in a large research programme.


measurement and modeling of computer systems | 2016

Architectural Run-time Models for Performance and Privacy Analysis in Dynamic Cloud Applications

Robert Heinrich

Building software systems by composing third-party cloud services promises many benefits such as flexibility and scalability. Yet at the same time, it leads to major challenges like limited control of third party infrastructures and runtime changes which mostly cannot be foreseen during development. While previous research focused on automated adaptation, increased complexity and heterogeneity of cloud services as well as their limited observability, makes evident that we need to allow operators (humans) to engage in the adaptation process. Models are useful for involving humans and conducting analysis, e.g. for performance and privacy. During operation the systems often drifts away from its design-time models. Run-time models are kept insync with the underlying system. However, typical run-time models are close to an implementation level of abstraction which impedes understandability for humans. In this vision paper, we present the iObserve approach to target aforementioned challenges while considering operationlevel adaptation and development-level evolution as two mutual interwoven processes. Central to this perception is an architectural run-time model that is usable for automatized adaptation and is simultaneously comprehensible for humans during evolution. The run-time model builds upon a technology-independent monitoring approach. A correspondence model maintains the semantic relationships between monitoring outcomes and architecture models. As an umbrella a megamodel integrates design-time models, code generation, monitoring, and run-time model update. Currently, iObserve covers the monitoring and analysis phases of the MAPE control loop. We come up with a roadmap to include planning and execution activities in iObserve.


Software and Systems Modeling | 2017

Integrating business process simulation and information system simulation for performance prediction

Robert Heinrich; Philipp Merkle; Jörg Henss; Barbara Paech

Business process (BP) designs and enterprise information system (IS) designs are often not well aligned. Missing alignment may result in performance problems at run-time, such as large process execution time or overloaded IS resources. The complex interrelations between BPs and ISs are not adequately understood and considered in development so far. Simulation is a promising approach to predict performance of both BP and IS designs. Based on prediction results, design alternatives can be compared and verified against requirements. Thus, BP and IS designs can be aligned to improve performance. In current simulation approaches, BP simulation and IS simulation are not adequately integrated. This results in limited prediction accuracy due to neglected interrelations between the BP and the IS in simulation. In this paper, we present the novel approach Integrated Business IT Impact Simulation (IntBIIS) to adequately reflect the mutual impact between BPs and ISs in simulation. Three types of mutual impact between BPs and ISs in terms of performance are specified. We discuss several solution alternatives to predict the impact of a BP on the performance of ISs and vice versa. It is argued that an integrated simulation of BPs and ISs is best suited to reflect their interrelations. We propose novel concepts for continuous modeling and integrated simulation. IntBIIS is implemented by extending the Palladio tool chain with BP simulation concepts. In a real-life case study with a BP and IS from practice, we validate the feasibility of IntBIIS and discuss the practicability of the corresponding tool support.


2015 IEEE 9th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Environments (MESOCA) | 2015

Architectural run-time models for operator-in-the-loop adaptation of cloud applications

Robert Heinrich; Reiner Jung; Eric Schmieders; Andreas Metzger; Wilhelm Hasselbring; Ralf H. Reussner; Klaus Pohl

Building software systems by composing third-party cloud services promises many benefits. However, the increased complexity, heterogeneity, and limited observability of cloud services brings fully automatic adaption to its limits. We propose architectural run-time models as a means for combining automatic and operator-in-the-loop adaptations of cloud services.


European Workshop on Performance Engineering | 2014

Deriving Work Plans for Solving Performance and Scalability Problems

Christoph Heger; Robert Heinrich

The performance of an enterprise application (e.g. response time, throughput, or resource utilization) is an important quality attribute that can have a significant impact on a company’s success. When a performance problem such as a performance bottleneck has been detected, the root cause identified and a solution proposed, developers have to identify the elements of the application often manually that will undergo changes and determine how these elements must be changed in order to implement the solution. Many existing approaches are able to identify the elements that have to be modified but only few are able to determine the necessary types of changes on these elements. Neither of the approaches supports developers with a work plan sketching the implementation steps. In this paper, we propose an approach to point developers the way torwards an implementation of a performance or scalability solution with an ordered set of work activities. Rules are used to derive a work plan sketching the implementation of a solution for the particular application based on an initial set of work activities. The rule-based approach identifies impacted elements and determines how they should be changed. We demonstrate the proposed approach with a solution of a performance bottleneck as an example.


international conference on performance engineering | 2017

Performance Engineering for Microservices: Research Challenges and Directions

Robert Heinrich; André van Hoorn; Holger Knoche; Fei Li; Lucy Ellen Lwakatare; Claus Pahl; Stefan Schulte; Johannes Wettinger

Microservices complement approaches like DevOps and continuous delivery in terms of software architecture. Along with this architectural style, several important deployment technologies, such as container-based virtualization and container orchestration solutions, have emerged. These technologies allow to efficiently exploit cloud platforms, providing a high degree of scalability, availability, and portability for microservices. Despite the obvious importance of a sufficient level of performance, there is still a lack of performance engineering approaches explicitly taking into account the particularities of microservices. In this paper, we argue why new solutions to performance engineering for microservices are needed. Furthermore, we identify open issues and outline possible research directions with regard to performance-aware testing, monitoring, and modeling of microservices.


Proceedings of the 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling | 2014

A Method for Aspect-oriented Meta-Model Evolution

Reiner Jung; Robert Heinrich; Eric Schmieders; Misha Strittmatter; Wilhelm Hasselbring

Long-living systems face many modifications and extensions over time due to changing technology and requirements. This causes changes in the models reflecting the systems, and subsequently in the underlying meta-models, as their structure and semantics are adapted to adhere these changes. Modifying meta-models requires adaptations in all tools realizing their semantics. This is a costly endeavor, especially for complex meta-models. To solve this problem we propose a method to construct and refactor meta-models to be concise and focused on a small set of concerns. The method results in simpler metamodel modification scenarios and fewer modifications, as new concerns and aspects are encapsulated in separate meta-models. Furthermore, we define design patterns based on the different roles meta-models play in software. Thus, we keep large and complex modeling projects manageable due to the improved adaptability of their meta-model basis.


requirements engineering foundation for software quality | 2012

Answering a request for proposal --- challenges and proposed solutions

Barbara Paech; Robert Heinrich; Gabriele Zorn-Pauli; Andreas Jung; Siamak Tadjiky

[Context and motivation] The tender process is a special requirements engineering process. The customer provides a request for proposal (RFP) with requirements of varying detail. Several software companies answer with a solution proposal. The customer chooses the supplier according to the price and the quality of the proposed solution. So far very little has been published on how the requirements engineering process of the suppliers in producing the solution proposal should be performed. [Question/problem] The main challenges of the tender process for the supplier are that the RFP is very big and the solution proposal has to be produced in a very tight time frame. Furthermore, there is typically very little direct communication between customer and supplier, which is needed to clarify the requirements in the RFP. So, the supplier needs to guess the meaning of the requirements. [Principal ideas/results] The main idea to overcome these challenges is to produce a structured documentation of available solutions and typical risks experienced in former tender processes. This documentation can be used to identify the most important risks of the current tender process and to efficiently produce a viable solution proposal. [Contribution] In this paper we report on the experiences of a supplier company with tender processes. We summarize the challenges of the requirements engineering for tender processes from the viewpoint of the supplier and we describe the solutions envisaged by this company for these challenges.


Computer Languages, Systems & Structures | 2018

Concern-Oriented Language Development (COLD): Fostering Reuse in Language Engineering

Benoit Combemale; Jörg Kienzle; Gunter Mussbacher; Olivier Barais; Erwan Bousse; Walter Cazzola; Philippe Collet; Thomas Degueule; Robert Heinrich; Jean-Marc Jézéquel; Manuel Leduc; Tanja Mayerhofer; Sébastien Mosser; Matthias Schöttle; Misha Strittmatter; Andreas Wortmann

Domain-Specific Languages (DSLs) bridge the gap between the problem space, in which stakeholders work, and the solution space, i.e., the concrete artifacts defining the target system. They are usually small and intuitive languages whose concepts and expressive-ness fit a particular domain. DSLs recently found their application in an increasingly broad range of domains, e.g., cyber-physical systems, computational sciences and high performance computing. Despite recent advances, the development of DSLs is error-prone and requires substantial engineering efforts. Techniques to reuse from one DSL to another and to support customization to meet new requirements are thus particularly welcomed. Over the last decade, the Software Language Engineering (SLE) community has proposed various reuse techniques. However, all these techniques remain disparate and complicate the development of real-world DSLs involving different reuse scenarios. In this paper, we introduce the Concern-Oriented Language Development (COLD) approach, a new language development model that promotes modularity and reusability of language concerns. A language concern is a reusable piece of language that consists of usual language artifacts (e.g., abstract syntax, concrete syntax, semantics) and exhibits three specific interfaces that support (1) variability management, (2) customization to a specific context, and (3) proper usage of the reused artifact. The approach is supported by a conceptual model which introduces the required concepts to implement COLD. We also present concrete examples of some language concerns and the current state of their realization with metamodel-based and grammar-based language workbenches. We expect this work to provide insights into how to foster reuse in language specification and implementation, and how to support it in language workbenches.

Collaboration


Dive into the Robert Heinrich's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ralf H. Reussner

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Eric Schmieders

University of Duisburg-Essen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Kiana Rostami

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Andreas Metzger

University of Duisburg-Essen

View shared research outputs
Top Co-Authors

Avatar

Klaus Pohl

University of Duisburg-Essen

View shared research outputs
Top Co-Authors

Avatar

Misha Strittmatter

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Kiana Busch

Karlsruhe Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge