Tutorial on the Executable ASM Specification of the AB Protocol and Comparison with TLA^+

01/25/2023
by   Paolo Dini, et al.
0

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. While the models reported here and developed with the two methods are semantically equivalent, ASMs and Quint are better suited for top-down specification from abstract requirements by iterative refinement. TLA^+ seems to be more easily used 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.

READ FULL TEXT

page 22

page 23

page 24

research
12/14/2017

Formal specification of the FlexRay protocol using FocusST

FlexRay is a communication protocol developed by the FlexRay Consortium....
research
10/20/2018

Proceedings 18th Refinement Workshop

Refinement is one of the cornerstones of a formal approach to software e...
research
05/23/2023

Debiasing should be Good and Bad: Measuring the Consistency of Debiasing Techniques in Language Models

Debiasing methods that seek to mitigate the tendency of Language Models ...
research
09/04/2019

Formal Methods and Event Notification Systems in Mobile Computing Environment

In this report, we have explored the issues associated with the specific...
research
01/31/2023

Designing text representations for existing data using the TextFormats Specification Language

TextFormats is a software system for efficient and user-friendly creatio...
research
03/01/2021

validation method to improve behavioral flows on uml requirements analysis model by cross-checking with state transition model

We propose a method to evaluate and improve the validity of required spe...
research
07/31/2019

Aquarium: Cassiopea and Alewife Languages

This technical report describes two of the domain specific languages use...

Please sign up or login with your details

Forgot password? Click here to reset