Bernhard Westfechtel

Bernhard Westfechtel
  • Professor (Full) at University of Bayreuth

About

182
Publications
17,327
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,924
Citations
Current institution
University of Bayreuth
Current position
  • Professor (Full)

Publications

Publications (182)
Article
Full-text available
Model transformations are a major driving force behind model-driven software development (MDSD), when typically an initial model is refined throughout the development process over several steps until eventually code is generated. Strict forward engineering processes require unidirectional model transformations, where an initial requirements model i...
Article
Full-text available
Model-driven software engineering (MDSE) as well as software product line engineering (SPLE) achieve productivity gains by raising the level of abstraction and fostering organized reuse. Consequently, the integrating discipline model-driven software product line engineering (MDSPLE) aims at combining the best of both worlds by creating multi-varian...
Article
Model-driven software development (MDSD) heavily relies on model transformations. While in a strict forward engineering process unidirectional transformations are used, bidirectional transformations are crucial as soon as roundtrip engineering comes into play. In this paper, we present a hybrid language specifically designed to describe bidirection...
Article
Full-text available
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 asse...
Article
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 asse...
Article
Full-text available
Bidirectional transformations (bx) are relevant for a wide range of application domains. While bx problems may be solved with unidirectional languages and tools, maintaining separate implementations of forward and backward synchronizers with mutually consistent behavior can be difficult, laborious, and error-prone. To address the challenges involve...
Chapter
When the two disciplines, software product line engineering (SPLE) and model-driven software engineering (MDSE), come together multi-variant model transformations (MVMTs) are almost indispensable tool support. Variability annotations are boolean expressions used in annotative SPL engineering (SPLE) for expressing in which products model elements ar...
Article
Full-text available
Software engineering projects are faced with abstraction, which is achieved by software models, historical evolution, which is addressed by revision control, and variability, which is managed with the help of software product line engineering. Addressing these phenomena by separate tools ignores obvious overlaps and therefore fails at exploiting sy...
Conference Paper
Effectively managing variability in space and time is among the main challenges of developing and maintaining large-scale yet long-living software-intensive systems. Over the last decades, two large research fields, Software Configuration Management (SCM) and Software Product Line Engineering (SPLE), have focused on version management and the syste...
Chapter
Model transformations constitute a key technology for model-driven software engineering. In round-trip engineering processes, model transformations are performed not only in forward, but also in backward direction. In this paper, we compare declarative and procedural approaches to defining bidirectional transformations. More specifically, we use th...
Conference Paper
In model-driven software product line engineering (SPLE) the superset of products is developed over models. A feature model typically states the discriminating and common factors of the software. In annotative approaches model elements are associated with variability annotations which are boolean expressions over the features defining in which prod...
Chapter
The discipline model-driven product line engineering (MDPLE) aims at increasing the level of productivity when realizing a family of related products. Relying on model-driven software engineering (MDSE) seeks to support this effect by using models raising the level of abstraction. In MDSE model transformations are the key technology to transform in...
Conference Paper
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 s...
Chapter
The high cognitive complexity of model-driven software product line engineering is due to the fact that developers have to manually create, edit, and maintain multi-variant artifacts. As a solution, the adaptation of filtered editing has been proposed recently. Filtered editing can be applied in a static or in a dynamic way; in the latter case, new...
Article
Full-text available
QVT Relations (QVT-R), a standard issued by the Object Management Group, is a language for the declarative specification of model transformations. This paper focuses on a particularly interesting feature of QVT-R: the declarative specification of bidirectional transformations. Rather than writing two unidirectional transformations separately, a tra...
Conference Paper
Model-driven software engineering (MDSE), software product line engineering (SPLE), and version control (VC) have been established as three software engineering sub-disciplines dealing with raising the level of abstraction of software development, organizing variability in a systematic way, and controlling the evolution of software artifacts, respe...
Conference Paper
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 variabili...
Article
Model-driven software engineering is supported with the help of model transformations. At present, the technology for defining and executing uni-directional batch transformations seems to be fairly well developed, while bidirectional and incremental transformations are more difficult to handle. In this study, the authors present a bidirectional and...
Conference Paper
Software Product Line Engineering promises to increase the productivity of software development. In the literature, a plan-driven process has been established that is divided up into domain and application engineering. We argue that the strictly sequential order of its process activities implies several disadvantages such as increased complexity, l...
Conference Paper
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 pr...
Conference Paper
Model transformations constitute a key technology for model-driven software engineering. In additional to unidirectional transformations, bidirectional transformations may be required e.g. for round-trip engineering or bidirectional data conversion. Bidirectional transformations may be difficult to perform if the metamodels of source and target mod...
Conference Paper
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 follow a staged translation approach: We developed a compiler which trans...
Conference Paper
A robot is essentially a real-time, distributed embedded system operating in a physical environment. Often, control and communication paths within the system are tightly coupled to the actual hardware configuration of the robot. Furthermore, the domain contains a high amount of variability on different levels, ranging from hardware, over software t...
Article
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 a1 and a2 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 a1...
Article
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 varia...
Conference Paper
Software engineering is a highly integrative computer science discipline, combining a plethora of different techniques to increase the quality of software development as well as the resulting software. The three sub-disciplines Model-Driven Software Engineering (MDSE), Software Product Line Engineering (SPLE) and Software Configuration Management (...
Conference Paper
Model-driven software engineering reduces the effort of developing software by replacing low-level programming with the construction of high-level executable models. Refactoring improves the structure of software artifacts without changing external behavior. Originally, refactoring was developed for and applied to (objectoriented) programs. In the...
Article
Model-driven software engineering intends to reduce development effort by generating executable code from high-level models. However, models for non-trivial problems are still very large and require sophisticated support for modeling-in-the-large—a challenge which has not yet gained sufficient attention in model-driven software engineering. In resp...
Article
Full-text available
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 is a very challenging task for domain experts who do not have a dedica...
Article
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 int...
Conference Paper
Model-driven software engineering is supported with the help of model transformations. At present, the technology for defining and executing uni-directional batch transformations seems to be well developed, while bi-directional and incremental transformations are more difficult to handle. In this paper, we present a bi-directional and incremental t...
Conference Paper
Inadequate version control has been identified as a major obstacle to the application of model-driven software engineering. In particular, sophisticated support for merging model versions is urgently needed. We present a tool for merging of EMF models which may be applied to instances of arbitrary Ecore models. The tool advances the state of the ar...
Article
ContextSoftware Configuration Management (SCM) is the discipline of controlling the evolution of large and complex software systems. Over the years many different SCM systems sharing similar concepts have been implemented from scratch. Since these concepts usually are hard-wired into the respective program code, reuse is hardly possible.Objective O...
Article
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...
Article
Model-driven software engineering aims at increasing productivity by developing high-level executable models. The Eclipse Modeling Framework (EMF) significantly contributes toward this goal. Unfortunately, EMF supports only structural models based on the Ecore metamodel. Recently, Xcore has been developed to extend EMF with behavioral modeling. To...
Article
Model-driven software engineering aims at increasing productivity by developing high-level executable models. The Eclipse Modeling Framework (EMF) significantly contributes toward this goal. Unfortunately, EMF supports only structural models based on the Ecore metamodel. Recently, Xcore has been developed to extend EMF with behavioral modeling. To...
Article
We present an approach to model-driven software product line engineering which is based on feature models and domain models. A feature model describes both common and varying properties of the instances of a software product line. The domain model is composed of a structural model (package and class diagrams) and a behavioral model (story diagrams)...
Conference Paper
Graph transformation (GraTra) systems have been used for building tools in a wide spectrum of application domains. A GraTra system constitutes an operational specification which may be either interpreted directly or compiled into executable code. The specification incorporates domain knowledge concerning types of objects, operations to be performed...
Conference Paper
Model-driven software engineering intends to increase the productivity of software engineers by replacing conventional programming with the development of executable models at a high level of abstraction. It is claimed that graph transformation rules contribute towards this goal since they provide a declarative, usually graphical specification of c...
Conference Paper
Collecting primary data in scientific research is currently being performed in numerous repositories. Frequently, these repositories have not been designed to support long-term evolution of data, processes, and tools. Furthermore, in many cases repositories have been set up for the specific needs of some research project, and are not maintained any...
Conference Paper
Inadequate version control for models significantly impedes the application of model-driven software development. In particular, sophisticated support for merging model versions is urgently needed. In this paper, we present a formal approach to three-way merging of models in the EMF framework which may be applied to instances of arbitrary Ecore mod...
Conference Paper
Full-text available
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. The E-CARES project is dedicated to reverse engineering of complex legacy telecommunication systems by providing graph-based tools. With E-CARES, th...
Conference Paper
Full-text available
Manfred was born in 1944 in Landskron, Czechia. In 1963, he enrolled for mathematics and physics at the University of Erlangen-Nuremberg, from which he received a master degree in 1969. Subsequently, he worked at a research lab of Siemens AG in the area of graphics software. In 1971, he returned to the University of Erlangen-Nuremberg. At the chair...
Conference Paper
Development processes in engineering disciplines are highly dynamic. Since development projects cannot be planned completely in advance, the process to be executed changes at run time. We present a process management system which seamlessly integrates planning and enactment. The system manages processes at the project management level, but goes bey...
Article
Inadequate version control for models significantly impedes the application of model-driven software development. In particular, sophisticated support for merging model versions is urgently needed. In this paper, we present a formal approach to both two- and three-way merging of models in the EMF framework. The approach may be applied to instances...
Conference Paper
Full-text available
Software configuration management (SCM) is the discipline of controlling the evolution of large and complex software systems. Current SCM systems are themselves large and complex. Usually, their underlying models are hard-wired into the program code, which is written manually. In contrast, we present a modular and model- driven approach to software...
Conference Paper
Full-text available
Triple graph grammars have been used to specify consistency maintenance between inter-dependent and evolving models at a high level of abstraction. On a lower level, consistency maintenance may be specified by a triple graph transformation system, which takes care of all operational details required for executing consistency maintenance operations....
Article
Design processes in chemical engineering are hard to support. In particular, this applies to conceptual design and basic engineering, in which the fundamental decisions concerning the plant design are performed. The design process is highly creative, many design alternatives are explored, and both unexpected and planned feedback occurs frequently....
Article
One of the vertical columns in the overall process/product model deals with the cooperation of subprojects I1 and B4. Both study the support for reactive process management in dynamic development processes. In this section we highlight the transition from application models developed in subproject I1 to tool models for reactive management of subpro...
Article
Full-text available
The IMPROVE demonstrator is an integrated research prototype of a novel design environment for chemical engineering. Throughout the IMPROVE project, it has been considered essential to evaluate concepts and models by building innovative tools. Moreover, an integrated prototype was seen as a driving force to glue research activities together. Two ve...
Article
Full-text available
Design processes in chemical engineering are inherently complex. Various aspects of the plant to be designed are modeled in different logical documents using heterogeneous tools. There are a lot of fine-grained dependencies between the contents of these documents. Thus, if one document is changed, these changes have to be propagated to all dependen...
Article
Model-driven software development intends to reduce devel- opment eort by generating code from high-level models. However, models for non-trivial problems are still large and require sophisticated support for modeling in the large. Ex- periences from a recently launched project dedicated to a model-driven modular SCM system conrm this claim. This p...
Conference Paper
Full-text available
Significant achievements have been made in the design and implementation of languages and tools for graph transformation systems. However, many other competing approaches have been developed for model-driven software development. We present a case study in which we applied different modeling approaches in the construction of a tool for software pro...
Article
Full-text available
Development processes in engineering disciplines are inherently complex. Throughout the development process, the system to be built is mod- eled from different perspectives, on different levels of abstraction, and with different intents. Since state-of- the-art development processes are highly incremental and iterative, models of the system are not...
Conference Paper
Full-text available
For long, fine-grained version control for software documents has b een neglected severely. Typically, software configuration management systems support the management of text o r binary files. Unfortunately, text-based tools for fine-grained version control are not adequate for software documents produced in earlier phases in the software life cyc...
Conference Paper
Full-text available
In this paper we describe and evaluate our combination of the Fujaba CASE-Tool with the Graphical Modeling Framework (GMF) of the Eclipse IDE. We created an operational model with Fujaba and used it as input for a GMF editor generation process. This allows us to introduce a new approach for generating fully operational models including graphical ed...
Chapter
Despite recent advances in software configuration management (SCM), constructing consistent configurations of large and complex versioned software products still remains a challenge. We provide an overview of existing approaches which address this problem. These approaches are compared by means of a taxonomy which is based on an analogy to deductiv...
Conference Paper
A rich variety of version models for software configuration management (SCM) has been proposed over the years, and understanding of the basic concepts and their interrelations has been growing accordingly. In this paper, we propose a uniform version model as a common base, and discuss this in view of current SCM systems.
Chapter
An integrated software development environment (abbr. SDE) is a comprehensive set of tools which support the activities for developing and maintaining any kind of software document in a software life cycle. These activities may relate to one or to different problem areas (programming in the large, programming in the small, documentation, project ma...
Conference Paper
Full-text available
It is widely accepted that software measurement should be automated by proper tool support whenever possible and reasonable. While many tools exist that support automated measurement, most of them lack the possibility to reuse defined metrics and to conduct the measurement in a st andardized way. This article presents an approach to anchor software...
Conference Paper
Wird Softwaremessung mit dem Ziel der Prozessverbesserung angewendet, so sollte die Erfassung der Messwerte in geeigneter Weise standardisiert erfolgen, um verschiedene Softwareentwicklungsprojekte vergleichen zu können. Dieser Beitrag stellt einen Ansatz vor, die Softwaremaße an den Elementen des dem Entwicklungs- prozess zugrunde liegenden Vorgeh...
Article
Full-text available
Im Rahmen des Dagstuhl Perspektiven Workshop 05402 "Challenges for Software Engineering Research" haben führende Software Engineering Professoren den derzeitigen Stand der Softwaretechnik in Deutschland charakterisiert und Handlungsempfehlungen für Wirtschaft, Forschung und Politik abgeleitet. Das Manifest fasst die diese Empfehlungen und die...
Article
Full-text available
A-posteriori integration of heterogeneous engi- neering tools supplied by different vendors constitutes a chal- lenging task. In particular, this statement applies to incremen- tal development processes where small changes have to be propagated — potentially bidirectionally — through a set of inter-dependent design documents which have to be kept c...
Article
Design processes in chemical engineering are hard to manage. The design process is highly creative, many design alternatives are explored, and both unexpected and planned feedback occurs frequently. Thus, it is inherently difficult to manage the workflow in design processes, i.e., to coordinate the effort of experts working on tasks such as creatio...
Conference Paper
Full-text available
Development processes in engineering disciplines are inherently complex. Throughout the development process, different kinds of inter-dependent design documents are created which have to be kept consistent with each other. Graph transformations are well suited for modeling the operations provided for maintaining inter-document consistency. In this...
Article
A-posteriori integration of heterogeneous engineering tools supplied by different vendors constitutes a challenging task. In particular, this statement applies to incremental development processes where small changes have to be propagated --- potentially bidirectionally --- through a set of inter-dependent design documents which have to be kept con...
Article
In development processes, multiple tools are used to describe different aspects of the developed product. The resulting information is stored in heterogeneous documents that are technically independent but whose contents are closely related on the semantic level. Thus, if one document is changed, these changes have to be propagated to dependent doc...
Article
In development processes multiple tools are used to describe different aspects of the developed product. The resulting information is stored in heterogeneous documents that are technically independent but whose contents are closely related on the semantic level. Thus, if one document is changed, these changes have to be propagated to dependent docu...
Article
This paper is intended to sum up the results of the Second International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS'03) held in Portland, Oregon, USA, May 3--4, 2003, as part of the International Conference ...
Conference Paper
As on AGTIVE 1999, the Program Committee decided to decorate the best paper presentation and the best tool demonstration with respective awards. The winners were selected by the workshop participants’ votes. At the end of the workshop, each winner received a certificate which testifies the quality of his presentation and motivates him to give high-...
Conference Paper
Full-text available
Development processes are inherently difficult to manage. Tools for managing development processes have to cope with continuous process evolu-tion. The management system AHEAD is based on long-term experience gath-ered in different disciplines (software, mechanical, or chemical engineering). AHEAD provides an integrated set of tools for evolving bo...
Conference Paper
Full-text available
The E-CARES project addresses the reengineering of large and com-plex telecommunication systems. Within this project, graph-based reengineering tools are being developed which support not only the understanding of the static structure of the software system under study. In addition, they support the analysis and visualization of its dynamic behavio...
Conference Paper
Full-text available
Development processes are inherently difficult to manage. Tools for managing development processes have to cope with continuous process evolution. The management system AHEAD is based on long-term experience gathered in different disciplines (software, mechanical, or chemical engineering). AHEAD provides an integrated set of tools for evolving both...
Conference Paper
The E-CARES project addresses the reengineering of large and complex telecommunication systems. Within this project, graph-based reengineering tools are being developed which support not only the understanding of the static structure of the software system under study. In addition, they support the analysis and visualization of its dynamic behavior...
Conference Paper
Full-text available
Triple graph grammars, an extension of pair graph grammars, were introduced for the specification of graph translaters. We developed a framework which constitutes an industrial application of triple graph grammars. It solves integration problems in a specific domain, namely design processes in chemical engineering. Here, different design representa...
Conference Paper
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 syst...
Article
Full-text available
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 sys...
Article
Design processes in chemical engineering are hard to support. The design process is highly creative, many design alternatives are explored, and both unexpected and planned feedback occurs frequently. Thus, it is inherently difficult to manage the workflow in design processes, i.e., to coordinate the effort of experts working on tasks such as creati...

Network

Cited By