SCaaS – Research Synopsis – Innovations
As in other approaches to transforming BPMN models to smart contracts, we also start with the Business Analyst (BA) preparing a model of the business processes occurring in the trading activity using the graphical Business Process Management Notation (BPMN). The BA also describes the business logic using the Decision Modeling Notation (DMN). However, in comparison to other research in this space, we use a unique approach to transformation of the BPMN models to smart contracts that uses multi-modal modeling and provides support for multi-step nested transactions, portability and interoperability, privacy and security, and support for Smart Contract Lifecycle.
Multi-modal Modeling
-
BPMN model is transformed to a graph model and then into a multi-modal model in which collaborative tasks are
represented using:
- Discrete Element (DE) modeling to represent time
- Hierarchical State Machines (HSMs) to represent functionality
- DE-HSM modeling — the two above referred together as DE-HSM modeling
- Multi-modal modeling represents the distributed activities of various collaborating actors, such as product producers, shippers, suppliers, customs brokers, banks, and creditors, and their synchronization.
Portability and Interoperability
- Synchronization activities are represented in a blockchain-independent model that is interpreted by a blockchain smart contract. If a blockchain has a deployed smart contract that interprets DE-HSM models, such a blockchain can execute any smart contract generated by our DE-HSM modeling approach. Currently, we have interpreter smart contracts on Hyperledger Fabric and Ethereum blockchains.
- This supports portability, in that a smart contract can be generated for different blockchains. It also supports interoperability as a method in one smart contract may invoke methods of different smart contracts, even if they are deployed on different blockchains.
Support for Nested Multi-step Transactions
- Blockchains only support single-step transactions that once invoked complete execution; thus, a blockchain transaction does not natively support multi-step activities executed by different actors.
- Our approach enables the BA to define a multi-step transaction as an execution of a set of blockchain smart contract methods. The SCaaS transformation tool automatically generates a transaction mechanism to enforce the transactional properties Atomicity, Consistency, Isolation, and Durability (ACID) analogous to ACID properties in database systems.
- The multi-step transactions can be nested: a transaction may contain one or more sub-transactions.
- Sub-transactions can be packaged as separate smart contracts deployable on possibly different blockchains, each with its own transaction mechanism.
Privacy and security
- Smart contracts are generated by the SCaaS tool in automated fashion, including automated usage of cryptographic methods that are prevalent in blockchain smart contracts. Thus, security is supported by eliminating human coding errors and ensuring the correct use of cryptographic methods.
- Privacy is supported by allowing the actors participating in the trade activity to have access only to information pertaining to the activity in which they participate, but not to information pertaining to other activities.
Support for Smart Contract Lifecycle
- Smart contract is software, and it has been shown that software needs to be upgradeable to facilitate introduction of new features and fix errors/bugs. Although smart contracts are immutable, schemes exist for upgrading a smart contract by contract replacement using indirection (proxying). Thus, support for amending smart contracts is available for fixing bugs or introducing new features.
- In trade of products and services, situations may arise where a smart contract cannot be completed due to an external event (for example: a shipment route becomes unavailable). In such cases, a contract needs to be repaired to represent new arrangements. We provide support for smart contract repair that retains results of partially executed smart contracts and enables the BA to use pattern augmentation at the BPMN level to derive continuation of the partially executed smart contract.
For further details on publications’ contributions, please see Pubs&People.