Even though blockchain is mostly popular for its cryptocurrency, smart contracts have become a very prominent blockchain application. Smart contracts are like classes that can be called by client applications outside the blockchain. Therefore it is possible to develop blockchain-oriented software (BOS) that implements part of the business logic in the blockchain by using smart contracts. Currently, there is no design standard to model BOS. Since modeling is an important part of designing a software, developers may struggle to plan their BOS. In this paper, we show three complementary modeling approaches based on well-known software engineering models and apply them to a BOS example. Our goal is to start the discussion on specialized blockchain modeling notations.
More recently, Rocha and Ducasse REF show three complementary modeling approaches based on well-known software engineering models -E-R diagrams, UML and BPMN -and apply them to a Smart Contract design example.
Preliminary steps towards modeling blockchain oriented software
WETSEB '18
Computer Science