Bernhard Westfechtel

dblp:w/BWestfechtel · DBLP profile ↗
← Back
48ranked-venue papers
11as first author
3since 2021 · last 2022
0000-0002-0296-0334ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 39 · 9 first-author · 3 since 2021Theory of computation · 6 · 2 first-authorDatabases, data management, data science and information retrieval · 4 · 1 first-authorHuman-computer interaction and ubiquitous computing · 2Applied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1 · 1 first-author
YearPublicationVenuePosition
2022 BXtendDSL: A layered framework for bidirectional model transformations combining a declarative and an imperative language
Thomas Buchmann, Matthias Bank, Bernhard Westfechtel
J. Syst. Softw.3
2021 Combining a Declarative Language and an Imperative Language for Bidirectional Incremental Model Transformations
Matthias Bank, Thomas Buchmann, Bernhard Westfechtel
MODELSWARD3
2021 A Framework for Projectional Multi-variant Model Editors
Johannes Schröpfer, Thomas Buchmann, Bernhard Westfechtel
MODELSWARD3
2020 MuLE - a Multiparadigm Language for Education. The Procedural Sublanguage
abstract
The question of which language should be used in an introductory programming course has no obvious answer. Modern general purpose languages that are currently used in education were not originally designed for this task. They are either too complex or have specific limitations and are thus not really suited to be used as an effective tool to teach programming concepts to potential beginners. In this paper we present the implementation details and underlying design decisions of the procedural part of a multi-paradigm language for education called MuLE. Furthermore we give examples of an actual application of that language in a live environment as well as students’ feedback that we had a chance to gather by using our language in an introductory programming course.
Nikita Dümmel, Bernhard Westfechtel, Matthias Ehmann
EDUCON2
2020 Incremental Bidirectional Transformations: Evaluating Declarative and Imperative Approaches using the AST2Dag Benchmark
Matthias Bank, Sebastian Kaske, Thomas Buchmann, Bernhard Westfechtel
ENASE4
2020 A Generic Projectional Editor for EMF Models
Johannes Schröpfer, Thomas Buchmann, Bernhard Westfechtel
MODELSWARD3
2020 Benchmarking bidirectional transformations: theory, implementation, application, and assessment
Anthony Anjorin, Thomas Buchmann, Bernhard Westfechtel, Zinovy Diskin, Hsiang-Shang Ko, Romina Eramo, Georg Hinkel, Leila Samimi-Dehkordi, Albert Zündorf
Softw. Syst. Model.3
2020 Extending single- to multi-variant model transformations by trace-based propagation of variability annotations
abstract
Abstract Model-driven engineering involves the construction of models on different levels of abstraction. Software engineers are supported by model transformations, which automate the transition from high- to low-level models. Product line engineering denotes a systematic process that aims at developing different product variants from a set of reusable assets. When model-driven engineering is combined with product line engineering, engineers have to deal with multi-variant models. In annotative approaches to product line engineering, model elements are decorated with annotations, i.e., Boolean expressions that define the product variants in which model elements are to be included. In model-driven product line engineering, domain engineers require multi-variant transformations, which create multi-variant target models from multi-variant source models. We propose a reuse-based gray-box approach to realizing multi-variant model transformations. We assume that single-variant transformations already exist, which have been developed for model-driven engineering, without considering product lines. Furthermore, we assume that single-variant transformations create traces, which comprise the steps executed in order to derive target models from source models. Single-variant transformations are extended into multi-variant transformations by trace-based propagation: after executing a single-variant transformation, the resulting single-variant target model is enriched with annotations that are calculated with the help of the transformation’s trace. This approach may be applied to single-variant transformations written in different languages and requires only access to the trace, not to the respective transformation definition. We also provide a correctness criterion for trace-based propagation, and a proof that this criterion is satisfied under the prerequisites of a formal computational model.
Bernhard Westfechtel, Sandra Greiner 0001
Softw. Syst. Model.1
2019 Work in Progress: Gathering Requirements and Developing an Educational Programming Language
abstract
In this paper we discuss requirements for an educational programming language. Analyzing these requirements and some of the existing languages and educational tools, we have realized that a new language should be developed to cover our needs. For example, various programming paradigms must be supported by the language without explicitly focusing on a specific paradigm, i.e. you should be capable to write a procedural program without using objects. The procedural paradigm was deemed to be the most integral part of the language and has been already implemented and is currently tested in an introductory course. Thus, we also present some of the currently implemented features and provide an example of their utilization in our introductory programming course.
Nikita Dümmel, Bernhard Westfechtel, Matthias Ehmann
EDUCON2
2019 Generic Framework for Evaluating Commutativity of Multi-Variant Model Transformations
abstract
Multi-variant model transformations (MVMTs) aim at automatically propagating variability annotations present in software product lines (SPL) when executing state-of-the-art model transformations. Variability annotations are boolean expressions used in annotative SPL engineering (SPLE) for expressing in which products model elements are visible. Developing the SPL in a model-driven way requires various model representations, e.g., database schemata for data storage or Java models for the code generation. Although model transformations are the key essence of model-driven software engineering (MDSE) and can be used to generate these representations from already existing (model) artifacts, they suffer from not being able to handle the variability annotations. Thus, the developer is forced to annotate target models manually contradicting the goal of both disciplines, MDSE and SPLE, to increase productivity. Recently, approaches have been proposed to solve the problem using, e.g., traces, to propagate annotations without changing the transformation itself. For evaluating the outcome all of the approaches require the transformation to commute w.r.t. the derived products. Although the criterion is the same, a common framework for testing it does not exist. Therefore, we contribute a generic framework allowing to evaluate whether the target model of arbitrary (reuse-based) MVMTs was correctly annotated according to the shared commutativity criterion.
Sandra Greiner 0001, Bernhard Westfechtel
MODELSWARD2
2019 Integrated revision and variation control for evolving model-driven software product lines
Felix Schwägerl, Bernhard Westfechtel
Softw. Syst. Model.2
2018 Incremental Bidirectional Transformations: Applying QVT Relations to the Families to Persons Benchmark
Bernhard Westfechtel
ENASE1
2018 From Single- to Multi-Variant Model Transformations: Trace-Based Propagation of Variability Annotations
abstract
In annotative approaches to model-driven product line engineering (MDPLE), model elements are decorated with variability annotations defining the product variants in which they are included. A multi-variant model transformation (MVMT) has to propagate these annotations from source to target models. We propose trace-based propagation as a grey box solution to this problem: After executing a variability ignorant single-variant transformation (SVMT), annotations are propagated a posteriori based on the trace produced by the SVMT. Trace-based propagation allows to reuse SVMTs, and can be implemented in a generic way, independently of SVMT languages and tools, making it suitable for use in a heterogeneous MDPLE environment. A formal proof demonstrates that trace-based propagation achieves commutativity of filters and transformations, obviating the need to manually edit target model annotations.
Bernhard Westfechtel, Sandra Greiner 0001
MoDELS1
2018 Generating Multi-Variant Java Source Code Using Generic Aspects
Sandra Greiner 0001, Bernhard Westfechtel
MODELSWARD2
2018 Case-based exploration of bidirectional transformations in QVT Relations
Bernhard Westfechtel
Softw. Syst. Model.1
2017 Realizing Multi-variant Model Transformations on Top of Reused ATL Specifications
Sandra Greiner 0001, Felix Schwägerl, Bernhard Westfechtel
MODELSWARD3
2017 Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines
Felix Schwägerl, Bernhard Westfechtel
MODELSWARD2
2016 Multi-variant Model Transformations - A Problem Statement
abstract
Model Transformations are a key element of Model-Driven Software Engineering. As soon as variability is involved, transformations become increasingly complicated. The lack of support for variability in model transformations impairs the acceptance of approaches to organized reuse such as software product lines. In this position paper, the general problem of multi-variant model transformations is formulated for MOF-based, XMI-serialized models. A simplistic case study is presented to specify the input and the expected output of such a transformation. Furthermore, requirements for tool support are defined, including a standardized representation of both multi-variant model instances and variability information, as well as an execution specification for multi-variant transformations. A literature review reveals that the problem is weakly identified and often solved using ad-hoc solutions; there exists no tool providing a general solution to the proposed problem statement. The observations presented here may serve for the future development of standards and tools.
Felix Schwägerl, Thomas Buchmann, Bernhard Westfechtel
ENASE3
2016 SuperMod: tool support for collaborative filtered model-driven software product line engineering
abstract
The increase in productivity implied by model-driven software product line engineering is weakened by the complexity exposed to the user having to manage a multi-variant model. Recently, a new paradigm has emerged: filtered software product line engineering transfers the established check-out/modify/commit workflow from version control to variability management, allowing to iteratively develop the multi-variant model in a single-variant view. This paper demonstrates SuperMod, a tool that supports collaborative filtered model-driven product line engineering, implemented for and with the Eclipse Modeling Framework. Concerning variability management, the tool offers capabilities for editing feature models and specifying feature configurations, both being well-known formalisms in product line engineering. Furthermore, collaborative editing of product lines is provided through distributed version control. The accompanying video shows that SuperMod seamlessly integrates into existing tool landscapes, reduces the complexity of multi-variant editing, automates a large part of variability management, and ensures consistency. A tool demonstration video is available here: http://youtu.be/5XOk3x5kjFc
Felix Schwägerl, Bernhard Westfechtel
ASE2
2016 Bidirectional Transformations with QVT-R: A Case Study in Round-trip Engineering UML Class Models and Java Source Code
abstract
Model-driven software engineering has become more and more important during the last few years. Model transformations constitute the core essence of model-driven development. Throughout the years, the concept of unidirectional model transformations and corresponding tool support has become mature and usable. Transformations of this kind are widely used in model-driven development, for forward or reverse engineering or mainly for code generation. Bidirectional transformations, on the other hand, aim to provide support for (incrementally) transforming one or more source models to one or more target models and vice versa from only one transformation description. However, they seem to be rarely used in model-driven software development although modelers need round-trip support between the different stages of development models. In this paper we present a QVT implementation of a bidirectional model transformation. Our case study keeps UML class diagrams consistent with a Java model during round-trip engineering and thereby shows a real world application. The results and experiences gained in this case study are discussed in detail.
Sandra Greiner 0001, Thomas Buchmann, Bernhard Westfechtel
MODELSWARD3
2015 A Case Study for Evaluating Bidirectional Transformations in QVT Relations
abstract
In model-driven software engineering, high-level models of a software system are eventually transformed into executable code. Model transformations constitute a key technology for model-driven software engineering. QVT Relations (QVT-R) is a language for the declarative specification of model transformations which was defined in an OMG (Object Management Group) standard. In addition to unidirectional transformations, QVT-R supports bidirectional transformations: Rather than writing two unidirectional transformations separately, the user may provide a single relational specification which may be executed in both directions. In this way, the specification of a bidirectional transformation may be simplified considerably — which is crucial e.g. for round-trip engineering. This paper investigates a case study for evaluating QVT-R's capabilities for specifying bidirectional transformations. Even in this rather simple case study, development of a bidirectional transformation turns out to be more complex than expected. Motivated by the case study, we propose extensions to QVT-R which facilitate the specification of bidirectional transformations considerably.
Bernhard Westfechtel
ENASE1
2015 Towards the Integration of Model-Driven Engineering, Software Product Line Engineering, and Software Configuration Management
abstract
Model-Driven Software Engineering (MDSE), Software Product Line Engineering (SPLE) and Software Configuration Management (SCM) have been established as independent disciplines to ease different aspects of software development. The usage of models as high-level abstractions promises to increase productivity, while software product lines manage variability within a family of similar software products; software configuration management systems manage evolution and support collaborative development. In this paper, we explore the state of the art regarding the pairwise combinations MDSE/SPLE, SPLE/SCM, and MDSE/SCM and show that an integrated solution combining all three disciplines is missing. We present a conceptual framework to integrate MDSE, SPLE and SCM uniformly based on a filtered editing model. The framework implies a number of advantages, namely unconstrained variability, a reduction of cognitive complexity, improved consistency, tool independence, and a higher level of automation. Our formalism is based on a uniform versioning model for temporal, cooperative, and logical versioning of models. By an example, we show the feasibility of our approach.
Felix Schwägerl, Thomas Buchmann, Sabrina Uhrig, Bernhard Westfechtel
MODELSWARD4
2015 A graph-based algorithm for three-way merging of ordered collections in EMF models
Felix Schwägerl, Sabrina Uhrig, Bernhard Westfechtel
Sci. Comput. Program.3
2014 A Graph-based Algorithm for Three-way Merging of Ordered Collections in EMF Models
abstract
Version control for models is not yet supported in an adequate way. In this paper, we address three-way merging of model versions. Based on a common base version b, two alternative versions a 1 and a 2 were developed by copying and modifying the base version. To reconcile these changes, a merged version m is to be created as a common successor of a 1 and a 2 . We present a graph algorithm to solve an important subproblem which occurs in three-way model merging: merging of (linearly) ordered collections. To create the merged version, a generalized topological sort is performed. Conflicts occur if the order of elements cannot be deduced automatically; these conflicts are resolved either interactively or by default rules. We have implemented the merge algorithm in our tool BTMerge, which performs a consistency-preserving merge of versions of EMF models being instances of arbitrary Ecore models. By taking arbitrary move operations into account, the algorithm considerably goes beyond the functionality of contemporary merge tools which are based on common subsequences and thus cannot adequately handle move operations.
Felix Schwägerl, Sabrina Uhrig, Bernhard Westfechtel
MODELSWARD3
2014 Compiling Graph Transformation Rules into a Procedural Language for Behavioral Modeling
abstract
Graph transformation rules provide an opportunity to specify model transformations in a declarative way at a high level of abstraction. So far, compilers have translated graph transformation rules into conventional programming languages such as Java, C, or C#. In contrast, we have developed a compiler which translates graph transformation rules into a procedural language for behavioral modeling (Xcore). The generated code is significantly more concise and readable than programming language code. Furthermore, the code is portable since it is completely programming language independent.
Sabine Winetzhammer, Bernhard Westfechtel
MODELSWARD2
2014 Mapping feature models onto domain models: ensuring consistency of configured domain models
Thomas Buchmann, Bernhard Westfechtel
Softw. Syst. Model.2
2014 Merging of EMF models - Formal foundations
Bernhard Westfechtel
Softw. Syst. Model.1
2013 Towards Easy Robot Programming - Using DSLs, Code Generators and Software Product Lines
abstract
Programming robots is a complicated and time-consuming task. A robot is essentially a real-time, distributed embedded system. Often, control and communication paths within the system are tightly coupled to the actual physical configuration of the robot. Thus, programming a robot can hardly be achieved by experts of the domain in which the robot is used. In this paper we present an approach towards a domain specific language, which is intended to empower domain experts or even end users to specify robot programs with a dedicated background in programming techniques, but not with special knowledge in the robotics domain. Furthermore we introduce an idea to integrate a software product-line for a hardware and software transparent plug and play mechanism.
Johannes Baumgartl, Thomas Buchmann, Dominik Henrich, Bernhard Westfechtel
ICSOFT4
2013 MOD2-SCM: A model-driven product line for software configuration management systems
Thomas Buchmann, Alexander Dotor, Bernhard Westfechtel
Inf. Softw. Technol.3
2012 Graph Transformations for Evolving Domain Knowledge
Bernhard Westfechtel, Manfred Nagl
ICGT1
2011 ModGraph - A Transformation Engine for EMF Model Transformations
Thomas Buchmann, Bernhard Westfechtel, Sabine Winetzhammer
ICSOFT (2)2
2009 Model-driven Development of Software Configuration Management Systems - A Case Study in Model-driven Engineering
Thomas Buchmann, Alexander Dotor, Bernhard Westfechtel
ICSOFT (1)3
2007 A graph-based algorithm for consistency maintenance in incremental and interactive integration tools
Simon M. Becker, Sebastian Herold, Sebastian Lohmann, Bernhard Westfechtel
Softw. Syst. Model.4
2005 Model-based a-posteriori integration of engineering tools for incremental development processes
Simon M. Becker, Thomas Haase, Bernhard Westfechtel
Softw. Syst. Model.3
2004 Rule Execution in Graph-Based Incremental Interactive Integration Tools
Simon M. Becker, Sebastian Lohmann, Bernhard Westfechtel
ICGT3
2003 Tools for Understanding the Behavior of Telecommunication Systems
abstract
Many methods and tools for the reengineering of software systems have been developed so far However, the domain-specific requirements of telecommunication Systems have not been addressed sufficiently. These systems are designed in a process- rather than in a data-centered way. Furthermore, analyzing and visualizing dynamic behavior is a key to system understanding. In this paper, we report on tools for the reengineering of telecommunication systems which we have developed in close cooperation with an industrial partner These tools are based on a variety of techniques for understanding behavior such as visualization of link chains, recovery of state diagrams from the source code, and visualization of traces by different kinds of diagrams. Tool support has been developed step by step in response to the requirements and questions stated by telecommunication experts at Ericsson Eurolab Germany.
André Marburger, Bernhard Westfechtel
ICSE2
2003 Incremental Integration Tools for Chemical Engineering: An Industrial Application of Triple Graph Grammars
Simon M. Becker, Bernhard Westfechtel
WG2
2002 Graph-Based Reengineering of Telecommunication Systems
André Marburger, Bernhard Westfechtel
ICGT2
2002 Graph-based tools for re-engineering
abstract
Abstract Maintenance of legacy systems is a challenging task. Often, only the source code is still available, while design or requirements documents have been lost or have not been kept up‐to‐date with the actual implementation. In particular, this applies to many business applications which are run on a mainframe computer and are written in COBOL. Many companies are confronted with the difficult task of migrating these systems to a client/server architecture with clients running on PCs and servers running on the mainframe. REforDI (REengineering for DIstribution) is a graph‐based environment supporting this task. REforDI provides integrated code analysis, re‐design, and code transformation for COBOL applications. To prepare the application for distribution, REforDI assists in the transition to an object‐based architecture, according to which the source code is subsequently transformed into Object COBOL. Internally, REforDI makes heavy use of generators to reduce the implementation effort and thus to enhance adaptability. In particular, graph‐based tools for re‐engineering are generated from a formal specification which is based on programmed graph transformations. Copyright © 2002 John Wiley & Sons, Ltd.
Katja Cremer, André Marburger, Bernhard Westfechtel
J. Softw. Maintenance Res. Pract.3
2001 A Layered Architecture for Uniform Version Management
abstract
Version management is a key part of software configuration management. A big variety of version models has been realized in both commercial systems and research prototypes. These version models differ with respect to the objects put under version control (files, directories, entities, objects), the organization of versions (version graphs versus multidimensional version spaces), the granularity of versioning (whole software products versus individual components), emphasis on states versus emphasis on changes (state-versus change-based versioning), rules for version selection, etc. We present a uniform version model-and its support architecture-for software configuration management. Unlike other unification approaches, such as UML for object-oriented modeling, we do not assemble all the concepts having been introduced in previous systems. Instead, we define a base model that is built on a small number of concepts. Specific version models may be expressed in terms of this base model. Our approach to uniform version management is distinguished by its underlying layered architecture. Unlike the main stream of software configuration management systems, our instrumentable version engine is completely orthogonal to the data model used for representing software objects and their relationships. In addition, we introduce version rules at the bottom of the layered architecture and employ them as a uniform mechanism for expressing different version models. This contrasts to the main stream solution, where a specific version model-usually version graphs-is deeply built into the system and version rules are dependent on this model.
Bernhard Westfechtel, Bjørn P. Munch, Reidar Conradi
IEEE Trans. Software Eng.1
1997 Feedback Handling in Dynamic Task Nets
abstract
While a software process is being executed, many errors and problems occur which require to reconsider previously executed process steps. In order to handle feedback in a process management system, several requirements need to be addressed: adaptability, human intervention, impact analysis, change propagation, restoration of the work context, and traceability. Feedback management in DYNAMITE meets these requirements. DYNAMITE is based on dynamic task nets and specifically supports feedback through feedback relations, task versions, and customized semantics of data flows. A methodology for feedback handling is also represented.
Carl-Arndt Krapp, Bernhard Westfechtel
ASE2
1997 Graph-Based Software Process Management
abstract
Software process dynamics challenge the capabilities of process-centered software engineering environments. Dynamic task nets represent evolving software processes by hierarchically organized nets of tasks which are connected by control, data, and feedback flows. Project managers operate on dynamic task nets in order to assess the current status of a project, trace its history, perform impact analysis, handle feedback, adapt the project plan to changed product structures, etc. Developers are supported through task agendas and provision of tools and documents. Chained tasks may be executed in parallel (simultaneous engineering), and cooperation is controlled through releases of document versions. Dynamic task nets are formally specified by a programmed graph rewriting system. Operations on task nets are specified declaratively by graph rewrite rules at a high level of abstraction. Furthermore, editing, analysis, and execution steps on a dynamic task net, which may be interleaved seamlessly, are described in a uniform formalism.
Peter Heimann, Carl-Arndt Krapp, Bernhard Westfechtel, Gregor Joeris
Int. J. Softw. Eng. Knowl. Eng.3
1996 DYNAMITE: Dynamic Task Nets for Software Process Management
Peter Heimann, Gregor Joeris, Carl-Arndt Krapp, Bernhard Westfechtel
ICSE4
1996 A Graph-Based System for Managing Configurations of Engineering Design Documents
abstract
Due to increasing complexity of hardware and software systems, configuration management has been receiving more and more attention in nearly all engineering domains (e.g. electrical, mechanical, and software engineering). This observation has driven us to develop a domain-independent and adaptable configuration management model (called CoMa) for managing systems of engineering design documents. The CoMa model integrates composition hierarchies, dependencies, and versions into a coherent framework based on a sparse set of essential configuration management concepts. In order to give a clear and comprehensible specification, the CoMa model is defined in a high-level, multi-paradigm specification language (PROGRES) which combines concepts from various disciplines (database systems, knowledge-based systems, graph rewriting systems, programming languages). Finally, we also present an implementation which conforms to the formal specification and provides graphical, structure-oriented tools offering a bunch of sophisticated commands and operating in a heterogeneous environment.
Bernhard Westfechtel
Int. J. Softw. Eng. Knowl. Eng.1
1995 A Graph-Based Model for Dynamic Process Nets
Bernhard Westfechtel
SEKE1
1995 GRAS, a Graph-Oriented (Software) Engineering Database System
Norbert Kiesel, Andy Schürr, Bernhard Westfechtel
Inf. Syst.3
1994 Using Programmed Graph Rewriting for the Formal Specification of a Configuration Management System
Bernhard Westfechtel
WG1
1987 On Integration Mechanisms within a Graph-based Software Development Environment
Claus Lewerentz, Manfred Nagl, Bernhard Westfechtel
WG3