About
23
Publications
7,413
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
220
Citations
Introduction
Current institution
Publications
Publications (23)
Engineering languages for model-driven development (MDD) highly rely on code generators that systematically and efficiently generate source code from abstract models. Although code generation is an essential technique, there is still a lot of ad hoc mechanisms in use that prevent an efficient and reliable use and especially reuse of code generators...
Model-based software engineering (MBSE) is used in research and industry for quite a while. After three decades of improving modeling techniques, concepts, and explicit modeling languages as well as understanding the usability and failures of modeling in development projects, this chapter summarizes the principal obstacles, achievements, and failur...
Software for self-driving vehicles requires intensive
testing to avoid fatal accidents and to allow correct operation in
real-world environments. Simulation frameworks are tools that
extend component and functional tests to address interconnections
between sensors, actuators, and controllers in virtual and
predefined environments. Existing simulato...
The increasing complexity of modern systems development demands for specific modeling languages capturing the various aspects to be tackled. However, engineering of comfortable modeling languages as well as their tooling is a challenging endeavor. Far too often, new languages are built from scratch. We shed light into the advances of modeling langu...
Cyber-physical systems (CPS) in automotive or robotics industry comprise many different specific features, e.g., trajectory planning, lane correction, battery management or engine control, requiring a steady interaction with their environment over sensors and actuators. Assembling all these different features is one of the key challenges in the dev...
Template-based code generator development as part of model-drivendevelopment (MDD) demands for strong mechanisms and tools that support developers to improve robustness, i.e., the desired code is generated for the specified inputs. Although different testing methods have been proposed,a method for testing only parts of template-based code generator...
Generating software from abstract models is a prime activity in model-drivenengineering. Adaptable and extendable code generators are important to address changing technologies as well as user needs. However, theyare less established, as variability is often designed as configuration options of monolithic systems. Thus, code generation is often tie...
Code generation is regarded as an essential part of model-driven development (MDD) to systematically transform the abstract models to concrete code. One current challenges of templatebased code generation is that output-specific information, i.e., information about the generated source code, is not explicitly modeled and, thus, not accessible durin...
Engineering software for robotics applications requires multidomain and
application-specific solutions. Model-driven engineering and modeling language
integration provide means for developing specialized, yet reusable models of
robotics software architectures. Code generators transform these platform
independent models into executable code specific...
Consistent management of structured information is the goal of data-centric business applications. Model-driven development helps to automatically generate such applications. Current approaches target full or one shot generation of business applications and often neglect simplicity and adaptability of the code generator and the generated code. Insp...
An essential part of model-driven development to systematically generate concrete source code from abstract input models are code generators. Regardless of their importance, abstract input models are not always suited to describe the output in a concise and precise way. Hence, customizations and adaptations of the code generator and the generated p...
Code generation from models is a core activity in model-driven development
(MDD). For complex systems it is usually impossible to generate the entire
software system from models alone. Thus, MDD requires mechanisms for
integrating generated and handwritten code. Applying such mechanisms without
considering their effects can cause issues in projects...
A code generator systematically transforms compact models to detailed code. Today, code generation is regarded as an integral part of model-driven development (MDD). Despite its relevance, the development of code generators is an inherently complex task and common methodologies and architectures are lacking. Additionally, reuse and extension of exi...
In many development projects models are core artifacts used to generate concrete implementations from them. However, for many systems it is impossible or not useful to generate the complete software system from models alone. Hence, developers need mechanisms for integrating generated and handwritten code. Applying such mechanisms without considerin...
Model evolution in model libraries differs from general model evolution. It
limits the scope to the manageable and allows to develop clear concepts,
approaches, solutions, and methodologies. Looking at model quality in evolving
model libraries, we focus on quality concerns related to reusability. In this
paper, we put forward our proactive quality...
Model evolution is widely considered as a subject under research. Despite its
role in research, common purpose concepts, approaches, solutions, and
methodologies are missing. Limiting the scope to model libraries makes model
evolution and related quality concerns manageable, as we show below. In this
paper, we put forward our quality staged model e...