Special Session 2 – Programming Autonomous Machines


  • Shaoshan Liu (PerceptIn)
  • Tongsheng Geng (University of California, Irvine)
  • Stéphane Zuckerman (ETIS)
  • Xiaoming Li (University of Delaware)
  • Jean-Luc Gaudiot (University of California, Irvine)

Abstract: After decades of uninterrupted progress and growth, information technology has so evolved that it can be said we are entering the age of autonomous machines. One key technical challenge in the age of autonomous machines is the programming of autonomous machines, which demands synergy across multiple domains, including fundamental computer science, computer architecture, and robotics, and requires expertise from both academia and industry.

This special session will provide the opportunity to discuss the programming theory and practices tied to producing real-life autonomous machines. The discussion covers aspects from high-level concepts down to low-level code generation in the context of specific functional requirements, performance expectations, and implementation constraints of autonomous machines.
For instance, autonomous vehicles rely on a wealth of specialized components according to the various tasks they are required to perform, which include (hard) real-time tasks related to the outside environment, i.e., Localization and Navigation, Object Detection and Avoidance, etc. Each task communicates its data to other tasks within strict performance envelope, and may also rely on very different hardware targets to do so, e.g., scheduling with CPUs, GPUs for neural network processing, FPGAs or DSPs for image processing, etc..
Thus, there should be expressive “languages” to describe, at a high level, what each task should consist of, the appropriate (domain-specific) semantics for it, and at the same time, the interfacing between languages so as a whole real-time and run-time contexts can freely dictate which part of the underlying hardware will be used to run them at a specific moment during the motion of the target autonomous machine. To do so, simply designing a new set of DSLs is probably necessary, but not sufficient. As these autonomous machines tend to heavily rely on Machine Learning techniques for at least some of their tasks, there should also be a way to lower the high-level description provided for each task down to an intermediate representation which would allow the compiler to produce code for a family of heterogeneous devices. These considerations, which are both high and low level, can be unified under a dataflow-oriented hierarchical view of the system. Hence, the main topics we wish to address during this special session are related to expressing the tasks of how autonomous machines must perform at high-level, and how the expression is best translated into low-level operations:

  • How to make autonomous machines more programmable, through the use of high-level languages;
  • How can such high-level languages be translated, i.e., lowered, to a suitable set of intermediate representations for a compiler, in order to eventually produce executable code on heterogeneous hardware;
  • How is the runtime system meant to deal with the heterogeneity of the underlying hardware and dynamic performance envelope, and how can it benefit from both high-level languages, and the knowledge of the low-level machine models it has access to?

Speakers’ Biographies

Shaoshan Liu is CEO and founder of PerceptIn, an intelligent robotics company. He is the founder of IEEE Special Technical Community on Autonomous Driving Technologies, an IEEE Senior Member, an IEEE Distinguished Speaker, and an ACM Distinguished Speaker, and a Fellow of the Royal Society for Public Health (UK). Dr. Liu holds an M.S. in Biomedical Engineering, a Ph.D. in Computer Engineering from the University of California, Irvine, and a Master of Public Administration (M.P.A.) from Harvard University. Dr. Liu has published more than 100 research papers and holds more than 150 patents in the field of robotics and autonomous systems.

Tongsheng Geng is a senior researcher at the University of California, Irvine. Her expertise covers adaptive resource management for heterogeneous platforms, event-driven parallel computing, and machine learning techniques applied to system software. Her current research interests in the autonomous machine area are domain-specific language and distributed autonomous machine simulation systems.

Stéphane Zuckerman is an Associate Professor at CY Cergy Paris University, in the ETIS Laboratory. His research focuses on event-driven execution models for parallel and distributed computing on high-performance computing and embedded systems—in particular implemented as system software over the heterogeneous, reconfigurable fabric. His recent work includes the implementation of a bio-inspired neural architecture for the localization task in autonomous vehicles on reconfigurable fabric.

Xiaoming Li is an Associate Professor at the University of Delaware. His expertise covers compiler development and code generation techniques. The focus is on optimal resource utilization of heterogeneous computing resources. In particular, his recent research develops optimization techniques based on the unique resource utilization patterns in machine learning.

Jean-Luc Gaudiot is a Distinguished Professor at the University of California, Irvine. His research focuses on the programmability of large-scale multiprocessors, distributed structure representation, data caching and nomadic threads, high-level parallel language compilation, allocation, partitioning, and performance evaluation; processor architecture, implementation, and impact of future technologies; fault-tolerant computing, benchmarking and characterization of applications, design of flexible architectures tuned for specific types of applications; and the design of Autonomous Vehicle Systems.