Therefore, a self-driving car needs to be perceived as a “data center on robotic wheels”,
where appropriate engineering, maintenance, and innovation methods are required.

Our team focuses on research around challenges for system and software design,
architecture, and deployment to efficiently engineer the software and systems
for our increasingly automated and digitalized society.

Christian Berger

Associate Professor & Docent for Software Engineering

University of Gothenburg

Dr. Christian Berger is Associate Professor and Docent for Software Engineering at the Department of Computer Science and Engineering at University of Gothenburg, Sweden. His research focuses on systematically architecting complex software and systems embracing continuous integration (CI), continuous deployment (CD), and continuous experimentation (CE) for a growingly automated and digitalized society.

He is an expert for self-driving vehicles with over a decade of experience:

He is the lead engineer for the world’s first single-file, header-only C++ middleware libcluon (docs|tutorials|source|Docker) and jointly leads the design and development of the open source platform Open Driverless Vehicle (OpenDLV) (source|Twitter). This software powers research projects at Chalmers vehicle laboratory Revere.

Interests

Software Architecture

Software Construction

Self-Driving Vehicles

Autonomous Systems

Education

Docent in Software Engineering, 2015

University of Gothenburg, Sweden

PhD in Software Engineering, 2010

RWTH Aachen University, Germany

MSc in Business Informatics, 2006

Technische Universität Braunschweig, Germany

Selected Publications

Data collection on public roads has been deemed a valuable activity along with the development of self-driving vehicles. The vehicle for data collection is typically equipped with a variety of sensors such as camera, LiDAR, radar, GPS, and IMU. The raw data of all sensors is logged on a disk while the vehicle is manually driven. The logged data can be subsequently used for training and testing different algorithms for autonomous driving, e.g., vehicle/pedestrian detection and tracking, SLAM, and motion estimation. Data collection is time-consuming and can sometimes be avoided by directly using existing datasets including sensor data collected by other researchers. A multitude of openly available datasets have been released to foster the research on automated driving. These datasets vary a lot in terms of traffic conditions, application focus, sensor setup, data format, size, tool support, and many other aspects. This paper presents an overview of 27 existing publicly available datasets containing data collected on public roads, compares each other from different perspectives, and provides guidelines for selecting the most suitable dataset for different purposes.

Yin, Hang and Berger, Christian

Proceedings of the 20th IEEE International Conference on Intelligent Transportation Systems (ITSC)

The software powering today's vehicles surpasses mechatronics as the dominating engineering challenge due to its fast evolving and innovative nature. In addition, the software and system architecture for upcoming vehicles with automated driving functionality is already processing ~750MB/s - corresponding to over 180 simultaneous 4K-video streams from popular video-on-demand services. Hence, self-driving cars will run so much software to resemble small data centers on wheels rather than just transportation vehicles. Continuous Integration, Deployment, and Experimentation have been successfully adopted for software-only products as enabling methodology for feedback-based software development. For example, a popular search engine conducts ~250 experiments each day to improve the software based on its users' behavior. This work investigates design criteria for the software architecture and the corresponding software development and deployment process for complex cyber-physical systems, with the goal of enabling Continuous Experimentation as a way to achieve continuous software evolution. Our research involved reviewing related literature on the topic to extract relevant design requirements. The study is concluded by describing the software development and deployment process and software architecture adopted by our self-driving vehicle laboratory, both based on the extracted criteria.

Giaimo, Federico and Berger, Christian

Proceedings of the International Conference on Software Architecture (ICSA)

Companies developing and maintaining software-only products like web shops aim for establishing persistent links to their software running in the field. Monitoring data from real usage scenarios allows for a number of improvements in the software life-cycle, such as quick identification and solution of issues, and elicitation of requirements from previously unexpected usage. While the processes of continuous integration, continuous deployment, and continuous experimentation using sandboxing technologies are becoming well established in said software-only products, adopting similar practices for the automotive domain is more complex mainly due to real-time and safety constraints. In this paper, we systematically evaluate sandboxed software deployment in the context of a self-driving heavy vehicle that participated in the 2016 Grand Cooperative Driving Challenge (GCDC) in The Netherlands. We measured the system's scheduling precision after deploying applications in four different execution environments. Our results indicate that there is no significant difference in performance and overhead when sandboxed environments are used compared to natively deployed software. Thus, recent trends in software architecting, packaging, and maintenance using microservices encapsulated in sandboxes will help to realize similar software and system engineering for cyber-physical systems.

Contact

Privacy Notice

When accessing this website, a visitor’s web-browser is automatically providing
information about the resource to be loaded, the IP address to which
the resource shall be transferred to, and dependent on a visitor’s web-browser
potentially information from previous visits. The content for this website
is hosted at github.io, a website service provided by
GitHub, Inc. Details about their privacy policy can be found here.

The content from this website is provided via github.io.
External content might be delivered automatically to enable a similar appearance
of the content across different browsers or platforms (e.g., JavaScript, CSS,
fonts, or videos). In such cases, a visitor’s web-browser is automatically contacting
these external resources.

Interactive content for this web-site is realized with JavaScript that is executed
on a visitor’s web-browser.

The sources, from which the content for this website was generated, do not use technologies to track visitors.