Tutorial: Domain-specific languages for specification, development, and testing of autonomous systems

Domain-specific languages for specification, development, and testing of autonomous systems

Autonomous systems become more and more integrated in the workplace, taking over a wide range of tasks from providing product support, to automated credit decisions, to  autonomous driving functions in modern cars. Guaranteeing the safety and correctness of such systems is of utmost importance since their actions can have severe  consequences. Two key aspects for assessing the safety of these systems is understanding the domains they operate in and making their decisions comprehensible in the language of a domain –found in requirements. One big challenge is bridging the gap between informal specifications and system implementation. Domain-specific languages can close this gap.

Domain-specific languages (DSLs) are programming languages that are less expressive than general-purpose programming languages and provide vocabulary for specific domains (e.g., for describing situations an autonomous system can encounter). After being an active field of research and development for many years, frameworks for developing DSLs have become reliable and stable tools in the toolbox of software engineers. Today’s vision is so-called language-driven development of systems, where domain engineering and accompanied DSL development become an integral part of the early phases of software projects, closing the gap between requirements and system by enabling system implementation in a domain-specific language. Languages and frameworks for smart executable contracts are one instance of this new paradigm that received a lot of attention in the recent past.

The tutorial will consist of two parts: first, an introductory lecture will provide a brief introduction to the state of the art in the area of domain-specific languages and testing. The second half will be a guided tutorial in which participants can work on a small domain-specific language for development and testing of an autonomous system. The demonstrated tools have been used successfully in numerous industrial projects.


Falk Howar (Dortmund University of Technology)

howarFalk Howar is professor for software engineering at TU Dortmund and
leads the research project “scenario-based testing for autonomous robotic systems” (STARS) at Fraunhofer ISST. He is interested in the development of correct and safe software system with a particular focus on automated analysis, testing, and verification of such systems. Over the past few years, he applied his research to automotive and  aeronautical control software, automated air-traffic management software, and to advanced driving assistance systems.

Stefan Naujokat is senior researcher at TU Dortmund’s chair for programming systems. He mainly focuses on the development of methods and tools for the provision of domain-specific languages. He leads the Cinco project, which is a metamodeling framework for the model-driven specification and generation of graphical modeling environments. He
designed and applied Cinco-based graphical DSLs in numerous industrial projects,  primarily in the field of automation.

Bernhard Steffen holds the chair of programming systems at TU Dortmund. His current research focuses on technology for continuously supporting customers/application  experts to be able to directly participate throughout the whole systems’ life cycle.  Backbone of this technology is the Cinco Meta Tooling suite for generating entire development environments for domain/purpose-specific, graphical languages. The systems’ lifecycles are suppported by a variety of validation technologies ranging from program analysis and learning- based testing to monitoring-based continuous quality control.