The challenges to applying existing declarative rules and process technology in the context of blockchain are many and varied.

It’s about a business network… that means distributed control. It is not clear how existing rules/process tools are going to play in this space. Business networks come in all shapes and sizes — from the behemoth that controls a supply chain, where (perhaps) they can strong-arm their suppliers to use a standard commercial tool, to dynamic/fluid banking consortia, where no single player can dictate standards. I therefore think that Open Source technology is going to have a big role to play. The challenge is that building these declarative tools that target business users is very expensive.

We need to distinguish between automating INSIDE the corporation (based on distributed blockchain data) and automating ACROSS the business network. The former is much, much easier. E.g. perhaps when a company see a transaction of type X on the blockchain it need to trigger a process… The latter involves B2B orchestration across companies, an area that is littered with failures. BUT, that is where a lot of the value is for blockchain. Companies have spent 10+ years optimizing their internal processes/rules, and are now turning their attention to the inefficiencies in their business networks.

The goal is to streamline process across companies, so canonical data formats/models are going to be really important. Strong modelling languages and the ability to share/publish models and reuse them across business networks will be key.

In this distributed, extremely asynchronous world an Event-Condition-Action style programming model makes sense IMO. It is at least a very good starting point.

Governance and the relationship between business logic and legal policy will be important. You’ve a loosely knit group of companies that want to co-operate for some mutual benefit. Who gets to decide when the policy changes? How is that process approved/voted/managed? There are lots of unknowns here and plenty of scope for innovation. I expect to see many new entrants/products to help here.

Higher-level declarative programming models (aka smart contracts) will no doubt have their place. I don’t think anyone knows what those look like yet. A contract is not typically just a set of stateless rules, or a finite state machine, or a decision table, or a BPMN flow, or a set of ECA rules… or any of the other things I have seen to date. My gut feeling is that it will take us some time to understand the range of complexity we see in contracts and how to best represent them for humans to edit, and for machines to execute. What worries me is that we STILL don’t have a machine readable representation for the fare rules on an airline ticket! So, we may see a lot of innovation/fragmentation in this space before we see some standards emerge.

Exciting times!