One of the challenges in developing self-driving cars is simply defining what the car is supposed to do. The behavior specification for a self-driving car comes from numerous sources, including not only the (vaguely specified) “rules of the road”, but also implementation limitations (e.g. the speed might be limited due to the available computation for perception), and numerous other soft constraints, such as the need of “appearing natural”, or to be compatible with the local driving culture.
I will describe a possible approach to defining the desired behavior for autonomous agents, which we use on the self-driving cars developed at nuTonomy / Aptiv. We define a “rulebook” as a pre-ordered set of “rules”, each akin to a violation metric on the possible outcomes (“realizations”). The rules are partially ordered by priority. The semantics of a rulebook imposes a pre-order on the set of realizations. The rulebooks have interesting compositional properties as intuitive operations allow to refine the specification while preserving previously-introduced constraints.