Network


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

Hotspot


Dive into the research topics where Goetz Botterweck is active.

Publication


Featured researches published by Goetz Botterweck.


International Journal on Software Tools for Technology Transfer | 2012

Software diversity: state of the art and perspectives

Ina Schaefer; Rick Rabiser; David Clarke; Lorenzo Bettini; David Benavides; Goetz Botterweck; Animesh Pathak; Salvador Trujillo; Karina Villela

Diversity is prevalent in modern software systems to facilitate adapting the software to customer requirements or the execution environment. Diversity has an impact on all phases of the software development process. Appropriate means and organizational structures are required to deal with the additional complexity introduced by software variability. This introductory article to the special section “Software Diversity—Modeling, Analysis and Evolution” provides an overview of the current state of the art in diverse systems development and discusses challenges and potential solutions. The article covers requirements analysis, design, implementation, verification and validation, maintenance and evolution as well as organizational aspects. It also provides an overview of the articles which are part of this special section and addresses particular issues of diverse systems development.


model driven engineering languages and systems | 2006

A model-driven approach to the engineering of multiple user interfaces

Goetz Botterweck

In this paper, we describe MANTRA, a model-driven approach to the development of multiple consistent user interfaces for one application. The common essence of these user interfaces is captured in an abstract UI model (AUI) which is annotated with constraints to the dialogue flow. We consider in particular how the user interface can be adapted on the AUI level by deriving and tailoring dialogue structures which take into account constraints imposed by front-end platforms or inexperienced users. With this input we use model transformations described in ATL (Atlas Transformation Language) to derive concrete, platform-specific UI models (CUI). These can be used to generate implementation code for several UI platforms including GUI applications, dynamic web sites and mobile applications. The generated user interfaces are integrated with a multi tier application by referencing WSDL-based interface descriptions and communicating with the application core over web service protocols.


model driven engineering languages and systems | 2010

Taming EMF and GMF using model transformation

Dimitrios S. Kolovos; Louis M. Rose; Saad Bin Abid; Richard F. Paige; Fiona Polack; Goetz Botterweck

EMF and GMF are powerful frameworks for implementing tool support for modelling languages in Eclipse. However, with power comes complexity; implementing a graphical editor for a modelling language using EMF and GMF requires developers to hand craft and maintain several low-level interconnected models through a loosely-guided, labour-intensive and error-prone process. In this paper we demonstrate how the application of model transformation techniques can help with taming the complexity of GMF and EMF and deliver significant productivity, quality, and maintainability benefits. We also present EuGENia, an open-source tool that implements the proposed approach, illustrate its functionality through an example, and report on the communitys response to the tool.


Journal of Systems and Software | 2012

Model-driven support for product line evolution on feature level

Andreas Pleuss; Goetz Botterweck; Deepak Dhungana; Andreas Polzer; Stefan Kowalewski

Highlights? We model the evolution of a product line on feature model level. ? Our approach supports both modeling of historic evolution and proactively planning of future evolution. ? The initial evolution model can be derived automatically from a given sequence of feature model versions. ? After planning future evolution using the evolution model, the resulting feature models can be generated automatically. ? The evolution model provides a foundation for automated analyses and interactive tools. Software Product Lines (SPL) are an engineering technique to efficiently derive a set of similar products from a set of shared assets. In particular in conjunction with model-driven engineering, SPL engineering promises high productivity benefits. There is however, a lack of support for systematic management of SPL evolution, which is an important success factor as a product line often represents a long term investment. In this article, we present a model-driven approach for managing SPL evolution on feature level. To reduce complexity we use model fragments to cluster related elements. The relationships between these fragments are specified using feature model concepts itself leading to a specific kind of feature model called EvoFM. A configuration of EvoFM represents an evolution step and can be transformed to a concrete instance of the product line (i.e., a feature model for the corresponding point in time). Similarly, automatic transformations allow the derivation of an EvoFM from a given set of feature models. This enables retrospective analysis of historic evolution and serves as a starting point for introduction of EvoFM, e.g., to plan future evolution steps.


fundamental approaches to software engineering | 2008

Formal approach to integrating feature and architecture models

Mikoláš Janota; Goetz Botterweck

If we model a family of software applications with a feature model and an architecture model, we are describing the same subject from different perspectives. Hence, we are running the risk of inconsistencies. For instance, the feature model might allow feature configurations that are not realizable by the architecture. In this paper we tackle this problem by providing a formalization of dependencies between features and components. Further, we demonstrate that this formalization offers a better understanding of the modeled concepts. Moreover, we propose automated techniques that derive additional information and provide feedback to the user. Finally, we discuss how some of these techniques can be implemented.


software product lines | 2012

Managing forked product variants

Julia Rubin; Andrei Kirshin; Goetz Botterweck; Marsha Chechik

We consider the problem of supporting effective code reuse as part of Software Product Line Engineering. Our approach is based on code forking -- a practice commonly used in industry where new products are created by cloning the existing ones. We propose to maintain meta-information allowing organization to reason about the developed product line in terms of features rather than incremental code changes made in different forks and to detect inconsistencies in implementations of these features. In addition, we propose to detect and maintain semantic, implementation-level require relationships between features, supporting the developers when they copy features from different branches or delete features in their own branch, thus facilitating reuse of features between products. Our approach aims at mitigating the disadvantages of the forking mechanism while leveraging its advantages. We illustrate the approach on an example, and discuss its possible implementation and integration with Software Configuration Management systems.


model based methodologies for pervasive and embedded software | 2009

Applying software product line techniques in model-based embedded systems engineering

Andreas Polzer; Stefan Kowalewski; Goetz Botterweck

This paper addresses variability in the domain of software-based control systems. When designing product lines of such systems, varying sensors and actuators have to be used and parameterized, which in turn requires adaptations in the behavior of the microcontroller. For efficient engineering these adaptations should be performed in an systematic and straightforward manner. We tackle these challenges by using a Rapid Control Prototyping (RCP) system in combination with model-based development techniques. In particular, we modularize the parametrization of components into a separate configuration, which is isolated from the model that defines the controller behavior. Hence, during adaptations the model can often remain unchanged, which significantly reduces the turnaround time during design iterations. The approach is illustrated and evaluated with a parking assistant application, which is tested on our experimental vehicle, where it performs automatic parking maneuvers.


automated software engineering | 2007

Model-driven derivation of product architectures

Goetz Botterweck; Liam O'Brien; Steffen Thiel

Product Derivation is one of the central activities in Software Product Lines (SPL). One of the main challenges of the process of product derivation is dealing with complexity, which is caused by the large number of artifacts and dependencies between them. Another major challenge is maximizing development efficiency and reducing time-to-market, while at the same time producing high quality products. One approach to overcome these challenges is to automate the derivation process. To this end, this paper focuses on one particular activity of the derivation process; the derivation of the product-specific architecture and describes how this activity can be automated using a model-driven approach. The approach derives the product-specific architecture by selectively copying elements from the product-line architecture. The decision, which elements are included in the derived architecture, is based on a product-specific feature configuration. We present a prototype that implements the derivation as a model transformation described in the Atlas Transformation Language (ATL). We conclude with a short overview of related work and directions for future research


Evolving Software Systems | 2014

Evolution of Software Product Lines

Goetz Botterweck; Andreas Pleuss

A Software Product Line (SPL) aims to support the development of a family of similar software products from a common set of shared assets. SPLs represent a long-term investment and have a considerable life-span. In order to realize a return-on-investment, companies dealing with SPLs often plan their product portfolios and software engineering activities strategically over many months or years ahead. Compared to single system engineering, SPL evolution exhibits higher complexity due to the variability and the interdependencies between products. This chapter provides an overview on concepts and challenges in SPL evolution and summarizes the state of the art. For this we first describe the general process for SPL evolution and general modeling concepts to specify SPL evolution. On this base, we provide an overview on the state-of-the-art in each of the main process tasks which are migration towards SPLs, analysis of (existing) SPL evolution, planning of future SPL evolution, and implementation of SPL evolution.


engineering interactive computing system | 2012

User interface engineering for software product lines: the dilemma between automation and usability

Andreas Pleuss; Benedikt Hauptmann; Deepak Dhungana; Goetz Botterweck

Software Product Lines (SPL) are systematic approach to develop families of similar software products by explicating their commonalities and variability, e.g., in a feature model. Using techniques from model-driven development, it is then possible to automatically derive a concrete product from a given configuration (i.e., selection of features). However, this is problematic for interactive applications with complex user interfaces (UIs) as automatically derived UIs often provide limited usability. Thus, in practice, the UI is mostly created manually for each product, which results in major drawbacks concerning efficiency and maintenance, e.g., when applying changes that affect the whole product family. This paper investigates these problems based on real-world examples and analyses the development of product families from a UI perspective. To address the underlying challenges, we propose the use of abstract UI models, as used in HCI, to bridge the gap between automated, traceable product derivation and customized, high quality user interfaces. We demonstrate the feasibility of the approach by a concrete example implementation for the suggested model-driven development process.

Collaboration


Dive into the Goetz Botterweck's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Rick Rabiser

Johannes Kepler University of Linz

View shared research outputs
Top Co-Authors

Avatar

Deepak Dhungana

Johannes Kepler University of Linz

View shared research outputs
Top Co-Authors

Avatar

Julia Rubin

University of British Columbia

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge