Andreas Wortmann Dr. Andreas Wortmann
Dipl.-Inform. Dipl.-Wirt.Inform.

# Software Engineering
Department of Computer Science 3
RWTH Aachen University
Ahornstraße 55
D-52074 Aachen

tel. +49 (241) 80-21343
fax. +49 (241) 80-22218
wortmannatse-rwth.de

room 4315

Content


Software is Eating the World

Engineering software for modern systems of systems demands integrating solutions from multiple domains. The successful deployment of complex robotics applications, autonomous vehicles, or the smart cyber-pysical production systems of Industry 4.0 is impossible without integrating the modules provided by participating domain experts. As each domain features their own specific and optimized methods, tools, and languages, their successful integration is a crucial prerequisite for engineering the stable software of the future.

Model-driven engineering reduces the conceptual gap between the problem domains (such as navigation, grasping, or business process description) domains and the solution domains (programming) of discourse. Modeling languages enables domain experts to describe solutions without facing the accidental complexities and idiosyncracies of programming languages. For instance, employing an optimized modeling language to describe robotic assembly tasks such as LightRocks liberates the assembly expert from handling pointers, exceptions, or networking otherwise encountered when programming the tasks using general-purpose programming languages (such as C++ or Java) instead. Smart model transformations and code generators embody such programming expertise and can ensure that translation of domain-specific models conforms to state-of-the-art software engineering practices.

Research Question #1: How can we enable the efficient development, evolution, and maintenance of domain-specific modeling languages and related software tools?

With the complexity of modern systems demanding for participation of experts different domains, this entails integrating models of the respective languages. As the integration of two languages might be domain-specific as well, e.g., which parts of the languages are integrated (syntax, semantics, tools), how integration is performed (extension, merging, aggregation), and when it is performed (at language design time, at language instantiation, or at model run time), various patterns for specific technological language engineering tools have emerged, yet a common theory is missing.

Research Question #2: What are the theoretical foundations of modeling language integration and how can we exploit these to enable language components that support off-the-shelf reuse?

Having such a theory in place requires understanding how to decompose the tooling associated to modeling languages, such as editors, analyses, transformations, or code generators. Modularzing such model processing unleashes the flexibility of component-based language engineering in which domain experts can easily (re)combine modeling language parts to achieve the most suitable languages for the problems at hand without having to adjust their tooling manually.

Research Question #3: How can we modularize language processing tooling along the language integration degrees of freedom to easily reusing the same tooling with different language combinations?

Component-based software engineering (CBSE) has proven useful to enable a separation of concerns between experts from different domains by encapsulating their contributions behind stable, well-defined interfaces. As CBSE is subject to the conceptual gap also, architecture description languages have emerged that list component models to the primary reusable artifacts. We found that encapsulating the models provided by different experts in components enables a model reuse comparable to CBSE.

Therefore, we employ the MontiArcAutomaton component & connector architecture description language as research vehicle for language integration. Based on architecture models composed from components containing behavior models of different languages, we translate these models into executable systems using template-based code generators. Hence, we also investigate architecture description languages.

Research Question #4: How can we leverage architecture description languages to facilitate the separation of concerns required for efficient language integration and reuse?


Robots are Everywhere

With the rise of automated driving, autonomous drones, self-adaptive automation systems, and smart cities, robots are everywhere nowadays. Many challenges the younger field face have been research similiary in robotics and consequently the fields are growing closer. We consider robotics, in the sense of fully automated systems operating in dynamic and unstructured environments one of the most interesting challenges to software engineering. Hence, applying our methods, tools, and languages to robotics allows us to produce interesting demonstration and evaluation scenarios, such as with the project classes of winter term 2012/13, winter term 2013/14, summer term 2014

Research Question #5: How can we transfer our research contributions to robotics?

In consequence, we applied our research results in various projects, such as

  • the iserveU project, where we, together with Bosch and others, employed a pervasive model-driven engineering process to deploy a service robot to a German hospital,
  • the RedCarpet project, in which we investigated employing big data and simulation techniques to improve machine learning for automated driving, or
  • the CrESt project, in which we collaborate with Siemens, Bosch and others to investigate future software engineering techniques for collaborative autonomous systems that operate in open and dynamic contexts.


Teaching

Our research activities and their results influence the courses we offer. In the past, research in model-driven engineering, software language engineering, and their application to robotics manifested in project classes and seminars:

Videos of the project classes' results and more are available on my youtube channel.

Accordingly, our research also influences the bachelor theses and master theses we offer. Currently, we have the following interesting theses in the intersections of model-driven engineering, software language engineering, and robotics for you:


Publications RSS Feed

Of course, our research manifests in publications related to modeling, language engineering, and applying it to robotics. We also prepared curated lists on these topics for you.


Academic Service

I organized or helped organizing the 5th International Workshop on the Globalization of Modeling Languages (GEMOC), Tutorial on Language Engineering with The GEMOC Studio at ICSA 2017 (Tutorial Website), the Workshop on Model-Driven Robotics Software Engineering 2017, the Workshop on Model-Driven Knowledge Engineering 2015, as well as the Software Engineering 2013 conference.

Besides this, I serve in programm comittees of various conferences and workshops including Robotic Computing 2018, SLE 2017, Robotic Computing 2017, ETFA 2017, MiSE 2017, MORSE 2016, ETFA 2016, DSLRob 2015, MORSE 2015, ETFA 2015, DSLRob 2014.

Moreover, I also reviewed for the following journals: Empirical Software Engineering, Journal of Software Engineering for Robotics, Business & Information Systems Engineerin.

I also served in the Commission for Teaching (KfL) of Computer Science at RWTH Aachen University.


Miscellanea