Complex cyber-physical systems interact in real-time and must consider both timing and uncertainty. Developing software for such systems is expensive and difficult, especially when modeling, inference, and real-time behavior must be developed from scratch. Recently, a new kind of language has emerged -- called probabilistic programming languages (PPLs) -- that simplify modeling and inference by separating the concerns between probabilistic modeling and inference algorithm implementation. However, these languages have primarily been designed for offline problems, not online real-time systems. In this paper, we combine PPLs and real-time programming primitives by introducing the concept of real-time probabilistic programming languages (RTPPL). We develop an RTPPL called ProbTime and demonstrate its usability on an automotive testbed performing indoor positioning and braking. Moreover, we study fundamental properties and design alternatives for runtime behavior, including a new fairness-guided approach that automatically optimizes the accuracy of a ProbTime system under schedulability constraints.
翻译:复杂的信息物理系统需要实时交互,并必须同时考虑时序与不确定性。为此类系统开发软件成本高昂且难度极大,尤其在建模、推理和实时行为均需从头构建时。近年来,出现了一类新型语言——概率编程语言——其通过分离概率建模与推理算法实现,显著简化了建模与推理过程。然而,这些语言主要针对离线问题设计,而非在线实时系统。本文通过引入实时概率编程语言的概念,将概率编程语言与实时编程原语相结合。我们开发了一种名为ProbTime的实时概率编程语言,并在一个执行室内定位与制动的汽车测试平台上验证了其可用性。此外,我们研究了运行时行为的基本特性与设计选择,包括一种在可调度性约束下自动优化ProbTime系统精度的新型公平性引导方法。