Invited talk at the CAiSE'2019 Workshop on Blockchains for Inter-Organizational Collaboration and Flexible Advanced Information Systems (BIOC & FAiSE 2019).
Selaginella: features, morphology ,anatomy and reproduction.
Collaborative Business Process Execution on Blockchain: The Caterpillar Approach
1. Collaborative Business Process
Execution on Blockchain:
The Caterpillar Approach
Orlenys López-Pintado, Marlon Dumas,
Luciano García-Bañuelos, Ingo Weber
1BIOC Workshop at CAiSE’2019. Rome, Italy, 3 June 2019
2. 2
Background
BLOCKCHAIN
P2P Network
- No Central Authority
- Untrusted Parties
Append only chain
Each node stores a copy
- Consensus
Validate Transactions
Create/Validate Blocks
Proof of Work or Stake
- Smart Contracts
4. Drawbacks
• Bilateral message exchange is not geared to building consensus,
hence:
• Correct execution hinges on parties checking on each other
• Traceability is a nightmare
• Exceptions cause havoc
• Disputes require manual resolution
• Process change and new partner on-boarding are hard
• Money flows happen outside the collaborative process
• EDI networks can help
• But rely on a central trust provider to which everyone must be connected
• Quite inflexible
• …and money flows still happen elsewhere
4
5. • Blockchain enables us to approach collaborative process execution
differently
• No messages, only blockchain transactions
• Collaborative process models can be translated to smart contracts
• Maintain execution state
• Ensure that the process is executed correctly
• Process execution data on blockchain
• Single source of truth across the participants
• Full traceability
5
Collaborative Processes on Blockchain
6. Blockchain for collaborative process execution
Two approaches
• Blockchain as a recording medium
• Parties still exchange messages and maintain the state of the part of the process
• Each event (e.g. task completion) in the collaborative process is written on the
blockchain
• Supported by some BPMSs (e.g. Bizagi)
• No need for smart contracts
• Compliance by monitoring
• Blockchain as an execution medium
• No more messages. All events are recorded as blockchain transactions.
• Smart contracts check compliance before changing the state of the process
• Compliance by design
6
7. 7
Collaborative Business Process
Execution on Blockchain
2018- Lorikeet (BPMN Choreographies )
2018- Caterpillar (Executable
BPMN)
2018- M. Madsen et al. (Declarative Workflows)
2019- G. Falazi et al. (BPMN extension)
2018- H. Nakamura et al. (BPMN &
Statecharts) }Compiled or Interpreted
Control-flow, data, resources
Compiled,
Control-Flow Only
}
8. Caterpillar
• Business Process Management System (BPMS) without DB and
without execution engine
• State stored on blockchain
• Execution by smart contracts
• Based on the Business Process Model and Notation (BPMN 2.0)
• Supports >80% of BPMN constructs
• Runs on top of Ethereum
• Open-source
8
9. Caterpillar: Design Principles
1. Transparent design of collaborative business processes
• A collaborative process model looks exactly like a regular intra-organizational
process
• One lane = one role in the collaboration
• Sequence flow across lanes handover between two parties
• Kiss goodbye to bilateral messages…
9
10. Collaborative Process on Blockchain
10
OrdertoCashProcess
CustomerSupplierCarrier
Goods delivering
Carrier selection
PO created
Submit PO to
Supplier
Verify PO
PO rejected
PO accepted
Request carrier
quote
Submit quote
Appoint carrier
Ship goods
PO cancelled
Issue invoice for
customer
Issue invoice for
supplier
Approve invoice
from supplier
Resend invoice to
customer
Invoice accepted
Approve invoice
from carrier
Resend invoice to
supplier
Invoice accepted
11. Caterpillar: Design Principles
1. Transparent design of collaborative business processes
• A collaborative process model looks exactly like a regular intra-organizational process
• One lane = one role in the collaboration
• Sequence flow across lanes handover between two parties
• Kiss goodbye to bilateral messages
2. Everything needed to execute the process is on the blockchain
• All process instance state on the blockchain
• All execution logic is encoded in smart contracts
• Design-time component and tools only needed to deploy the process
• Off-chain runtime component is purely for convenience, BYO runtime is OK
3. Actors may be bound to roles at runtime
• According to policies that are tied to the deployed process model and enforced by
smart contracts
11
15. 15
Caterpillar’s Role Binding Model
Customer Supplier
Task * 1 Role
Role 1 1 Actor per (sub-)process instance
Role-actor assignments are scoped
User Group
System
IoT
Blockchain
Account/identity
18. 18
Policy Consistency
N E
A is case-creator;
A nominates B;
A nominates C;
C nominates D, endorsed-by A and B;
uA nA bA
N E
uB nB bB
N E
uC nC bC
N E
uD nD bD
A & B
N
N
E
E
N
A & B
E
NO DEADLOCKS
20. 20
Compiled versus Interpreted?
COMPILED
APPROACHESLack of FLEXIBILITY
Code Generation:
Model Dependent
Redundant
Full conformance with the
model
Immutable = Secure = Tamper proof
Prevent changes in the process model during its execution
How to execute inter-organizational processes involving untrusted
actors in a flexible and scalable manner on blockchain?
21. 21
Interpreted Caterpillar:
Overview2018- C. Sturm et al. (Single Contract
Execution)
INTERPRETED
EXECUTION
Dynamic data structures to store
process-specific data.
Process perspectives decoupled on a Modular Architecture
Flexibility for the participants of the process to react under unexpected
situations during the execution
(1) Keeping different variants of the same model,
(2) to deviate the flow during the execution temporarily,
(3) to permanently modify a process model with impact in all the future
instances
BPMN Interpreter- Single Smart
contract encoding BPMN
Standard
29. Remaining Challenges
• Cost and throughput are major challenges
• 0.02-0.04 Ether per process instance for real (but small) processes (EUR 5+)
• Encryption of case data and seamless access to encrypted case data
• Given an RBAC model with dynamic role binding
• Current version of Caterpillar tied to Ethereum
• Open question: is it possible to support seamless interoperation with multiple
blockchain platforms?
Caterpillar: A BPMS on the Blockchain WU Vienna Ressearch Seminar, 18 Dec 2017 29
30. Want to know more?
• O. López-Pintado, L. García-Bañuelos, M. Dumas, I. Weber, A.
Ponomarev. “Caterpillar: A Business Process Execution Engine on the
Ethereum Blockchain.” Software Practice and Experience, 2019.
• https://arxiv.org/abs/1808.03517
• O. López-Pintado, M. Dumas, L. García-Bañuelos, I. Weber: “Dynamic
Role Binding in Blockchain-Based Collaborative Business Processes.” In
CAiSE’2019
• O. López-Pintado, L. García-Bañuelos, M. Dumas, I. Weber:
“Caterpillar: A Blockchain-Based Business Process Management
System.” Proceeding of BPM’2017 Demos (tool paper)
Caterpillar: A BPMS on the Blockchain WU Vienna Ressearch Seminar, 18 Dec 2017 30