The main aim of this report is to provide an introductory tutorial on the Abstract State Machines (ASM) specification method for software engineering to an audience already familiar with the Temporal Logic of Actions (TLA$^+$) method. The report asks to what extent the ASM and TLA$^+$ methods are complementary in checking specifications against stated requirements and proposes some answers. A second aim is to provide a comparison between different executable frameworks that have been developed for the same specification languages. Thus, the ASM discussion is complemented by executable Corinthian ASM (CASM) and CoreASM models. Similarly, the two TLA$^+$ specifications presented, which rely on the TLC and Apalache model checkers, respectively, are complemented by a Quint specification, a new language developed by Informal Systems to serve as a user-friendly syntax layer for TLA$^+$. For the basis of comparison we use the specification of the Alternating Bit (AB) protocol because it is a simple and well-understood protocol already extensively analysed in the literature. The main finding is that while the two methods appear to be semantically equivalent ASMs are better suited for top-down specification from abstract requirements by iterative refinement, whereas TLA$^+$ is often used more bottom-up, to build abstractions on top of verified components in spite of the fact that it, too, emphasizes iterative refinement. In the final section, the report begins to scope out the possibility of a homomorphism between the specification of the AB protocol and its finite-state machine (FSM) through state space visualizations, motivated by a search for a formal decomposition method.
翻译:本报告的主要目的是为熟悉“行动时间逻辑”(TLA$)方法的受众提供关于软件工程简易国家机器(ASM)规格的介绍性教程。报告询问,ASM和TLA$$美元的方法在多大程度上补充了对照所述要求检查规格,并提出了一些答案。第二个目的是比较为同一规格语言开发的不同可执行框架。因此,ASM的讨论得到了可执行的“Corinthian ASM”和“CoreASM”模式的可执行性规格(CASM)的辅助。同样,提出的两个TLA$(TLC)和“Apalache”模式的规格(TLA$$美元)分别由“Quint”规范(一种由非正式系统开发的新语言作为TLA$(美元)的方便用户的合成税层。关于比较的基础,我们使用“自下向下调的比特(AB)协议”的规格,因为它是简单和深层次的协议,在文献中已经广泛分析了。同样,两个TL$的规格分别以TL”模式为基础,而主要结论性标准是用来构建“SMA”的方法,而在最高标准上,而看起来似乎是使用两种方法,一种方法,在SMSMSMSM要求上似乎具有一种比。