🤖 AI Summary
This work addresses the challenge of formally modeling and verifying high-level coordination logic in smart contracts within decentralized systems. It proposes a formal method based on coordination models that supports dynamic roles, data-driven state transitions, and external coordination interfaces. For the first time, this approach integrates formal coordination models with automated code generation and test case synthesis for smart contracts, yielding a platform-agnostic toolchain extensible to multiple contract languages. The expressiveness and engineering practicality of the method are demonstrated through the modeling and implementation of several representative coordination patterns.
📝 Abstract
We propose a formal approach for specifying and implementing decentralised coordination in distributed systems, with a focus on smart contracts. Our model captures dynamic roles, data-driven transitions, and external coordination interfaces, enabling high-level reasoning about decentralised workflows. We implement a toolchain that supports formal model validation, code generation for Solidity (our framework is extendable to other smart contract languages), and automated test synthesis. Although our implementation targets blockchain platforms, the methodology is platform-agnostic and may generalise to other service-oriented and distributed architectures. We demonstrate the expressiveness and practicality of the approach by modelling and realising some coordination patterns in smart contracts.