Core Concepts
TRAC is a tool that enables the specification and verification of coordinated multiparty distributed systems using data-aware finite state machines (DAFSMs), which can model scenarios with an unbounded number of participants that can vary at runtime.
Abstract
The paper proposes TRAC, a tool for the specification and verification of coordinated multiparty distributed systems. TRAC uses data-aware finite state machines (DAFSMs) to specify the coordination of participants in a distributed protocol, such as the execution model of blockchain smart contracts (SCs).
The key features of DAFSMs are:
Support for multiple participants organized by roles, which can dynamically join a protocol.
Use of assertions (Hoare triples) to describe a protocol state and control how (parameterized) actions change it.
Notion of well-formedness for DAFSMs and a checking algorithm.
The paper presents the architecture of TRAC, which includes components for parsing and visualizing DAFSMs, as well as for checking their well-formedness. The well-formedness check verifies properties such as closedness, empty-role freeness, determinism, and consistency.
The applicability of TRAC is demonstrated by showing how it can specify and verify the SCs in the Azure BC workbench. Additionally, the paper provides an experimental evaluation of TRAC's performance using randomly generated large examples, focusing on the execution time of the main well-formedness checking components.
Stats
The paper does not provide any specific numerical data or metrics to support the key claims. The evaluation section focuses on the performance of TRAC's main components, but does not include any quantitative data.
Quotes
The paper does not contain any striking quotes that support the author's key logics.