RoboChart is a core notation in the RoboStar framework. It is a timed and probabilistic domain-specific and state machine-based language for robotics. RoboChart supports shared variables and communication across entities in its component model. It has formal denotational semantics given in CSP. The semantic technique of Interaction Trees (ITrees) represents behaviours of reactive and concurrent programs interacting with their environments. Recent mechanisation of ITrees, along with ITree-based CSP semantics and a Z mathematical toolkit in Isabelle/HOL, bring new applications of verification and animation for state-rich process languages, such as RoboChart. In this paper, we use ITrees to give RoboChart novel operational semantics, implement it in Isabelle, and use Isabelle's code generator to generate verified and executable animations. We illustrate our approach using an autonomous chemical detector model and a patrol robot model additionally exhibiting nondeterminism and using shared variables. With animation, we show two concrete scenarios for the chemical detector when the robot encounters different environmental inputs and three concrete scenarios for the patrol robot when its calibrated position is in different sections of a corridor. We also verify that the animated scenarios are truly trace refinements of the CSP denotational semantics of the RoboChart models using FDR, a refinement model checker for CSP. This supports the soundness of our approach that the use of CSP operators with priority resolves nondeterminism correctly.
翻译:RoboCharart是机器人星框架中的核心符号。 它是一个时间和概率性域别和基于国家机器的机器人语言。 RoboChart 支持其组件模型中各个实体的共享变量和通信。 它在 CSP 中有正式的批注性语义学。 互动树( ITrees) 的语义学技术代表了与其环境互动的被动和同步程序的行为。 最近, ITrees 的机械化, 以及基于 ITree 的 CSP 语义学和 伊莎贝尔/ HOL 的Z 数学工具包, 为州级进程语言( 如 RoboChart ) 带来新的核查和动画应用。 在本文中, 我们使用 ITrees 给 RoboCart 新的操作语义学术语学, 在伊莎贝尔 代码生成校验和可执行动动动动动动动动动动的动画。 我们用自主化学探测器模型模型和巡逻机器人模型模型来进一步展示非定义性支持和共同变量。 通过动画, 我们为化学探测器提供两种具体情景, 当机器人在 校正的CL校正的CR校正 时, 校正 的C 校正的C 校正 3 校正的校正 校正的C 度位置位置位置的位置也是用于 校正的校正 校正的 校正的校正 的校正 。</s>