Finitary Idealized Concurrent Algol (FICA) is a prototypical programming language combining functional, imperative, and concurrent computation. There exists a fully abstract game model of FICA, which in principle can be used to prove equivalence and safety of FICA programs. Unfortunately, the problems are undecidable for the whole language, and only very rudimentary decidable sub-languages are known. We propose leafy automata as a dedicated automata-theoretic formalism for representing the game semantics of FICA. The automata use an infinite alphabet with a tree structure. We show that the game semantics of any FICA term can be represented by traces of a leafy automaton. Conversely, the traces of any leafy automaton can be represented by a FICA term. Because of the close match with FICA, we view leafy automata as a promising starting point for finding decidable subclasses of the language and, more generally, to provide a new perspective on models of higher-order concurrent computation. Moreover, we identify a fragment of FICA that is amenable to verification by translation into a particular class of leafy automata. Using a locality property of the latter class, where communication between levels is restricted and every other level is bounded, we show that their emptiness problem is decidable by reduction to Petri net reachability.
翻译:精密的Idealized Philing Algol (FICA) 是一种将功能性、必要性和同时计算结合起来的原型编程语言。 存在一个完全抽象的FICA游戏模式, 原则上可以用来证明FICA程序的等同和安全性。 不幸的是, 问题对于整个语言来说是不可分化的, 只有极小的可分解亚语言才为人知。 我们提出叶质的自动自动成像是代表FICA游戏语义的一种专用自动自定义形式。 自动成像使用树结构来使用无限的字母结构。 我们展示了FICA任何术语的游戏语义可以用叶质自动成像的痕迹来代表。 相反, 任何叶质自动成像的痕迹都可以用FICA术语来表示。 由于与FICA的近似相似, 我们将叶质的自动成一个有希望的起始点, 并且更高级的计算模式可以提供新的视角。 此外, 我们发现FICA的拼写方法可以用叶质的痕迹来代表一个可以被翻译到一个特定的等级。