Point Cloud from Velodyne LiDAR at AstaZero City Area.


Vision & Mission

More and more products for our daily life are driven by software that is simultaneously processing and producing a growing amount of data.

A self-driving vehicle is a perfect example for a complex system that has to deal with an increasing amount of realtime data but that also benefits from enormous amounts of data from the past for machine learning.

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.

Selected Publications

Agile software development principles enable companies to successfully and quickly deliver software by meeting their customers' expectations while focusing on high quality. Many companies working with pure software systems have adopted these principles, but implementing them in companies dealing with non-pure software products is challenging. We identified a set of goals and practices to support large-scale agile development in companies that develop software-intense mechatronic systems. We used an inductive approach based on empirical data collected during a longitudinal study with six companies in the Nordic region. The data collection took place over two years through focus group workshops, individual on-site interviews, and complementary surveys. The primary benefit of large-scale agile development is improved quality, enabled by practices that support regular or continuous integration between teams delivering software, hardware, and mechanics. In this regard, the most beneficial integration cycle for deliveries is every four weeks; while continuous integra- tion on a daily basis would favor software teams, other disciplines does not seem to benefit from faster integration cycles. We identified 108 goals and development practices supporting agile principles among the companies, most of them concerned with integration; therefrom, 26 agile practices are unique to the mechatronics domain to support adopting agile beyond pure software development teams. 16 of these practices are considered as key enablers, confirmed by our control cases.
Proceedings of the 39th IEEE Conference on Software Engineering (ICSE)

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.
Proceedings of the 19th IEEE Intelligent Transportation Systems Conference (ITSC)

The validation of simulation models (e.g., of electronic control units for vehicles) in industry is becoming increasingly challenging due to their growing complexity. To systematically assess the quality of such models, software metrics seem to be promising. In this paper we explore the use of software metrics and outlier analysis as a means to assess the quality of model-based software. More specifically, we investigate how results from regression analysis applied to measurement data received from size and complexity metrics can be mapped to software quality. Using the moving averages approach, models were fit to data received from over 65,000 software revisions for 71 simulation models that represent different electronic control units of real premium vehicles. Consecutive investigations using studentized deleted residuals and Cook's Distance revealed outliers among the measurements. From these outliers we identified a subset, which provides meaningful information (anomalies) by comparing outlier scores with expert opinions. Eight engineers were interviewed separately for outlier impact on software quality. Findings were validated in consecutive workshops. The results show correlations between outliers and their impact on four of the considered quality characteristics. They also demonstrate the applicability of this approach in industry.
Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA)

Recent Publications

More Publications

  • Paving the Roadway for Safety of Automated Vehicles: An Empirical Study on Testing Challenges

    Details PDF

  • Scaling Agile Development in Mechatronic Organizations - A Comparative Case Study

    Details PDF

  • Software-Related Challenges of Testing Automated Vehicles

    Details

  • Containerized Development and Microservices for Self-Driving Vehicles: Experiences & Best Practices

    Details

  • Design Criteria to Architect Continuous Experimentation for Self-Driving Vehicles

    Details PDF

Teaching

Contact