Complex cyber-physical systems interact in real-time and must consider both timing and uncertainty. Developing software for such systems is both expensive and difficult, especially when modeling, inference, and real-time behavior need to 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.
翻译:复杂的信息物理系统在实时环境中交互,必须同时考虑时间约束和不确定性。为这类系统开发软件既昂贵又困难,尤其当建模、推理和实时行为需要从零开始实现时。近年来,一类新型语言——概率编程语言(PPLs)应运而生,通过分离概率建模与推理算法实现的关注点,简化了建模和推理过程。然而,这类语言主要面向离线问题,而非在线实时系统。本文通过引入实时概率编程语言(RTPPL)的概念,将概率编程语言与实时编程基础构件相结合。我们开发了名为ProbTime的实时概率编程语言,并在进行室内定位和制动的汽车测试平台上验证了其实用性。此外,我们研究了运行时行为的基本属性和设计方案,包括一种新型的公平性导向方法,该方法可在可调度性约束下自动优化ProbTime系统的精度。