  Blockchain technology provides a tamper-proof mechanism to execute
inter-organizational business processes involving mutually untrusted parties.
Existing approaches to blockchain-based process execution are based on code
generation. In these approaches, a process model is compiled into one or more
smart contracts, which are then deployed on a blockchain platform. Given the
immutability of the deployed smart contracts, these compiled approaches ensure
that all process instances conform to the process model. However, this
advantage comes at the price of inflexibility. Any changes to the process model
require the redeployment of the smart contracts (a costly operation). In
addition, changes cannot be applied to running process instances. To address
this lack of flexibility, this paper presents an interpreter of BPMN process
models based on dynamic data structures. The proposed interpreter is embedded
in a business process execution system with a modular multi-layered
architecture, supporting the creation, execution, monitoring and dynamic update
of process instances. For efficiency purposes, the interpreter relies on
compact bitmap-based encodings of process models. An experimental evaluation
shows that the proposed interpreted approach achieves comparable or lower costs
relative to existing compiled approaches.
