SlideShare a Scribd company logo
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
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
Message-Based Collaborative Processes
3
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
• 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
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
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
}
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
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
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
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
Caterpillar High-Level Concept
12
Executable BPMN Process Model
Ethereum Blockchain
ATERPILLAR
Smart Contracts
Approach 1: Compilation
Approach 2: Interpretation
Caterpillar’s Main Artifacts (Compiled
Approach)
BPMN model
with solidity
extensions
Smart contracts
(generated)
Dictionary of
BPMN elements
Smart contracts
(existing)
EVM
Bytecode
Contract
interfaces
(ABI)
Parse BPMN model
(BPMN2Sol)
Compile smart
contracts
(solc)
13
Caterpillar’s Architecture (Compiled Approach)
17th IEEE International Conference on Data Mining 14
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
16
Binding Policy Specification
Customer Supplier
Supplier Candidate Carrier
Under Shipment, Supplier nominates Candidate;
Under Shipment, Supplier nominates Carrier in Candidate endorsed-by Customer;
Nominator
Policy Statement Operations
Nominee
Binding Constraint
nominate
release
vote
Endorsement Constraint
Customer is case-creator;
Customer nominates Supplier;
17
Role Lifecycle
UNBOUND
NOMINATE
D
RELEASIN
G
BOUND
Nominate(E)
Nominate(!E)
Vote
(E not satisfied)
Vote
(E satisfiable)
Vote
(E satisfied)
Release(!E)
Release(E)
Vote
(E not satisfied)
Vote
(E satisfiable)
Vote
(E satisfied)
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
19
Smart Contract Generation
Policy Compiler Caterpillar Compiler
Worklist Handler
BindingPolicy
TaskRoleMap
BindingAccessControl
canNominate
Nominator (Supplier) index 3,
nMask (nominees {Candidate, Carrier}) = 6 [00000110]
Bit Sets
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
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
Interpreted Caterpillar – Architecture
22
Dynamic & Space-Optimized Data
Structures
23
IFlow
(preC, postC, typeInfo)
G2:
preC = 0001100000 = 96
postC = 0010000000 = 128
typeInfo = 0000011010 = 26
Is Activity?
typeInfo & 1 != 0
Is User Task?
typeInfo & 2057 == 2057
Dynamic Data Structures
24
IData
25
REST API (Interpreted Caterpillar)
26
Experiments
Assessing the costs of executing business processes using
Caterpillar (Compiled & Interpreted) versus control-flow-
only approaches
27
Experimental Results
(Gas per process instance)
http://git.io/caterpillar
• Open-source (LGPL)
• NodeJS (off-chain components) + Solidity (on-chain)
• Docker image available (for Compiled Caterpillar)
Download and try!
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
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

More Related Content

What's hot (17)

PPTX
Split Miner: Discovering Accurate and Simple Business Process Models from Eve...
Marlon Dumas
 
PPTX
Automated Discovery of Data Transformations for Robotic Process Automation
Marlon Dumas
 
PPTX
Multi-Perspective Comparison of Business Processes Variants Based on Event Logs
Marlon Dumas
 
PPT
Process Mining Reloaded: Event Structures as a Unified Representation of Proc...
Marlon Dumas
 
PPTX
Automated Process Improvement: Status, Challenges, and Perspectives
Marlon Dumas
 
PPTX
Learning Accurate LSTM Models of Business Processes
Marlon Dumas
 
PPT
Beyond Tasks and Gateways: Automated Discovery of BPMN Models with Subprocess...
Marlon Dumas
 
PPTX
White-box prediction of process performance indicators via flow analysis
Marlon Dumas
 
PPTX
Artificial Intelligence: The Next 5(0) Years
Marlon Dumas
 
PPTX
Identifying Candidate Routines for Robotic Process Automation From Unsegmente...
Marlon Dumas
 
PDF
FPGA CEP Appliance
Dmitry Kapustin
 
PDF
SERENE 2014 Workshop: Paper "Combined Error Propagation Analysis and Runtime ...
SERENEWorkshop
 
PDF
An innovative software framework and toolkit for process optimization deploye...
Sudhendu Rai
 
PPT
Complex Event Processing
John Plummer
 
PPTX
Laura sebu icstcc_merging
laurasebu
 
PDF
Rhf2019 how totackle barriersofapplicationmodernization_ap16_en
Masahiko Umeno
 
PDF
QualityBPM@Heidelberg Innovation Forum 2014
Tobias Unger
 
Split Miner: Discovering Accurate and Simple Business Process Models from Eve...
Marlon Dumas
 
Automated Discovery of Data Transformations for Robotic Process Automation
Marlon Dumas
 
Multi-Perspective Comparison of Business Processes Variants Based on Event Logs
Marlon Dumas
 
Process Mining Reloaded: Event Structures as a Unified Representation of Proc...
Marlon Dumas
 
Automated Process Improvement: Status, Challenges, and Perspectives
Marlon Dumas
 
Learning Accurate LSTM Models of Business Processes
Marlon Dumas
 
Beyond Tasks and Gateways: Automated Discovery of BPMN Models with Subprocess...
Marlon Dumas
 
White-box prediction of process performance indicators via flow analysis
Marlon Dumas
 
Artificial Intelligence: The Next 5(0) Years
Marlon Dumas
 
Identifying Candidate Routines for Robotic Process Automation From Unsegmente...
Marlon Dumas
 
FPGA CEP Appliance
Dmitry Kapustin
 
SERENE 2014 Workshop: Paper "Combined Error Propagation Analysis and Runtime ...
SERENEWorkshop
 
An innovative software framework and toolkit for process optimization deploye...
Sudhendu Rai
 
Complex Event Processing
John Plummer
 
Laura sebu icstcc_merging
laurasebu
 
Rhf2019 how totackle barriersofapplicationmodernization_ap16_en
Masahiko Umeno
 
QualityBPM@Heidelberg Innovation Forum 2014
Tobias Unger
 

Similar to Collaborative Business Process Execution on Blockchain: The Caterpillar Approach (20)

PDF
Smart Contracts Nothing but Decentralised Workflows?
Fabian Hinsenkamp
 
PPTX
Software Architecture and Model-Driven Engineering for Blockchain
Ingo Weber
 
PDF
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
PPTX
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Ingo Weber
 
PDF
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM France Lab
 
PDF
Business Process Modeling
Ang Chen
 
PDF
Software Architecture and Model-driven Engineering for Blockchain Applications
Ingo Weber
 
PDF
Smart Contracts Platform for Professional Service Agreements
Chenxiao Hu Wu
 
PDF
Exploiting Web Technologies to connect business process management and engine...
Stefano Costanzo
 
PPTX
Blockchain: Background and Data61 Research Overview
Ingo Weber
 
PDF
Blockchain Tech Approach Whitepaper
Property Bihar
 
PDF
Blockchain and Services – Exploring the Links
Ingo Weber
 
PDF
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
PPTX
IAB203.1.2015-Week-2_nc.pptx
ssuser0d0f881
 
PPTX
View Orchestration from Model Driven Engineering Prospective
Richard Kuo
 
PDF
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
PDF
MuCon London 2017: Break your event chains
Bernd Ruecker
 
PDF
CamundaCon 2022 Keynote: The Process Orchestration Journey
Bernd Ruecker
 
PDF
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
Bernd Ruecker
 
PDF
Smart Contracts (Qtum) by Alex Norta, PhD.
Qtum
 
Smart Contracts Nothing but Decentralised Workflows?
Fabian Hinsenkamp
 
Software Architecture and Model-Driven Engineering for Blockchain
Ingo Weber
 
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Ingo Weber
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM France Lab
 
Business Process Modeling
Ang Chen
 
Software Architecture and Model-driven Engineering for Blockchain Applications
Ingo Weber
 
Smart Contracts Platform for Professional Service Agreements
Chenxiao Hu Wu
 
Exploiting Web Technologies to connect business process management and engine...
Stefano Costanzo
 
Blockchain: Background and Data61 Research Overview
Ingo Weber
 
Blockchain Tech Approach Whitepaper
Property Bihar
 
Blockchain and Services – Exploring the Links
Ingo Weber
 
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
IAB203.1.2015-Week-2_nc.pptx
ssuser0d0f881
 
View Orchestration from Model Driven Engineering Prospective
Richard Kuo
 
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
MuCon London 2017: Break your event chains
Bernd Ruecker
 
CamundaCon 2022 Keynote: The Process Orchestration Journey
Bernd Ruecker
 
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
Bernd Ruecker
 
Smart Contracts (Qtum) by Alex Norta, PhD.
Qtum
 
Ad

More from Marlon Dumas (20)

PPTX
LLM-Assisted Optimization of Waiting Time in Business Processes: A Prompting ...
Marlon Dumas
 
PPTX
Explanatory Capabilities of Large Language Models in Prescriptive Process Mon...
Marlon Dumas
 
PPTX
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Marlon Dumas
 
PPTX
How GenAI will (not) change your business?
Marlon Dumas
 
PPTX
Walking the Way from Process Mining to AI-Driven Process Optimization
Marlon Dumas
 
PPTX
Discovery and Simulation of Business Processes with Probabilistic Resource Av...
Marlon Dumas
 
PPTX
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Marlon Dumas
 
PPTX
Business Process Optimization: Status and Perspectives
Marlon Dumas
 
PPTX
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Marlon Dumas
 
PPTX
Why am I Waiting Data-Driven Analysis of Waiting Times in Business Processes
Marlon Dumas
 
PPTX
Augmented Business Process Management
Marlon Dumas
 
PPTX
Process Mining and Data-Driven Process Simulation
Marlon Dumas
 
PPTX
Modeling Extraneous Activity Delays in Business Process Simulation
Marlon Dumas
 
PPTX
Business Process Simulation with Differentiated Resources: Does it Make a Dif...
Marlon Dumas
 
PPTX
Prescriptive Process Monitoring Under Uncertainty and Resource Constraints
Marlon Dumas
 
PPTX
Robotic Process Mining
Marlon Dumas
 
PPTX
Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?
Marlon Dumas
 
PPTX
Learning Accurate Business Process Simulation Models from Event Logs via Auto...
Marlon Dumas
 
PPTX
Process Mining: A Guide for Practitioners
Marlon Dumas
 
PPTX
Process Mining for Process Improvement.pptx
Marlon Dumas
 
LLM-Assisted Optimization of Waiting Time in Business Processes: A Prompting ...
Marlon Dumas
 
Explanatory Capabilities of Large Language Models in Prescriptive Process Mon...
Marlon Dumas
 
Discovering Digital Process Twins for What-if Analysis: a Process Mining Appr...
Marlon Dumas
 
How GenAI will (not) change your business?
Marlon Dumas
 
Walking the Way from Process Mining to AI-Driven Process Optimization
Marlon Dumas
 
Discovery and Simulation of Business Processes with Probabilistic Resource Av...
Marlon Dumas
 
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Marlon Dumas
 
Business Process Optimization: Status and Perspectives
Marlon Dumas
 
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Marlon Dumas
 
Why am I Waiting Data-Driven Analysis of Waiting Times in Business Processes
Marlon Dumas
 
Augmented Business Process Management
Marlon Dumas
 
Process Mining and Data-Driven Process Simulation
Marlon Dumas
 
Modeling Extraneous Activity Delays in Business Process Simulation
Marlon Dumas
 
Business Process Simulation with Differentiated Resources: Does it Make a Dif...
Marlon Dumas
 
Prescriptive Process Monitoring Under Uncertainty and Resource Constraints
Marlon Dumas
 
Robotic Process Mining
Marlon Dumas
 
Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?
Marlon Dumas
 
Learning Accurate Business Process Simulation Models from Event Logs via Auto...
Marlon Dumas
 
Process Mining: A Guide for Practitioners
Marlon Dumas
 
Process Mining for Process Improvement.pptx
Marlon Dumas
 
Ad

Recently uploaded (20)

PPTX
Q1_Science 8_Week3-Day 1.pptx science lesson
AizaRazonado
 
PDF
Treatment and safety of drinking water .
psuvethapalani
 
PDF
Annual report 2024 - Inria - English version.pdf
Inria
 
PDF
Pharmakon of algorithmic alchemy: Marketing in the age of AI
Selcen Ozturkcan
 
PPTX
Ghent University Global Campus: Overview
Ghent University Global Campus
 
PDF
Plant growth promoting bacterial non symbiotic
psuvethapalani
 
PDF
Adding Geochemistry To Understand Recharge Areas - Kinney County, Texas - Jim...
Texas Alliance of Groundwater Districts
 
PPTX
Entner-Doudoroff pathway by Santosh .pptx
santoshpaudel35
 
PDF
A Man of the Forest: The Contributions of Gifford Pinchot
RowanSales
 
PDF
Unit-3 ppt.pdf organic chemistry unit 3 heterocyclic
visionshukla007
 
PPTX
Bacillus thuringiensis.crops & golden rice
priyadharshini87125
 
PPT
Experimental Design by Cary Willard v3.ppt
MohammadRezaNirooman1
 
PDF
2025-06-10 TWDB Agency Updates & Legislative Outcomes
tagdpa
 
PPTX
MODULE 2 Effects of Lifestyle in the Function of Respiratory and Circulator...
judithgracemangunday
 
PDF
Carbon-richDustInjectedintotheInterstellarMediumbyGalacticWCBinaries Survives...
Sérgio Sacani
 
PDF
Insect Behaviour : Patterns And Determinants
SheikhArshaqAreeb
 
PDF
The ALMA-CRISTAL survey: Gas, dust, and stars in star-forming galaxies when t...
Sérgio Sacani
 
PPTX
Systamatic Acquired Resistence (SAR).pptx
giriprasanthmuthuraj
 
PDF
Unit-3 ppt.pdf organic chemistry - 3 unit 3
visionshukla007
 
PDF
Pharma Part 1.pdf #pharmacology #pharmacology
hikmatyt01
 
Q1_Science 8_Week3-Day 1.pptx science lesson
AizaRazonado
 
Treatment and safety of drinking water .
psuvethapalani
 
Annual report 2024 - Inria - English version.pdf
Inria
 
Pharmakon of algorithmic alchemy: Marketing in the age of AI
Selcen Ozturkcan
 
Ghent University Global Campus: Overview
Ghent University Global Campus
 
Plant growth promoting bacterial non symbiotic
psuvethapalani
 
Adding Geochemistry To Understand Recharge Areas - Kinney County, Texas - Jim...
Texas Alliance of Groundwater Districts
 
Entner-Doudoroff pathway by Santosh .pptx
santoshpaudel35
 
A Man of the Forest: The Contributions of Gifford Pinchot
RowanSales
 
Unit-3 ppt.pdf organic chemistry unit 3 heterocyclic
visionshukla007
 
Bacillus thuringiensis.crops & golden rice
priyadharshini87125
 
Experimental Design by Cary Willard v3.ppt
MohammadRezaNirooman1
 
2025-06-10 TWDB Agency Updates & Legislative Outcomes
tagdpa
 
MODULE 2 Effects of Lifestyle in the Function of Respiratory and Circulator...
judithgracemangunday
 
Carbon-richDustInjectedintotheInterstellarMediumbyGalacticWCBinaries Survives...
Sérgio Sacani
 
Insect Behaviour : Patterns And Determinants
SheikhArshaqAreeb
 
The ALMA-CRISTAL survey: Gas, dust, and stars in star-forming galaxies when t...
Sérgio Sacani
 
Systamatic Acquired Resistence (SAR).pptx
giriprasanthmuthuraj
 
Unit-3 ppt.pdf organic chemistry - 3 unit 3
visionshukla007
 
Pharma Part 1.pdf #pharmacology #pharmacology
hikmatyt01
 

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
  • 12. Caterpillar High-Level Concept 12 Executable BPMN Process Model Ethereum Blockchain ATERPILLAR Smart Contracts Approach 1: Compilation Approach 2: Interpretation
  • 13. Caterpillar’s Main Artifacts (Compiled Approach) BPMN model with solidity extensions Smart contracts (generated) Dictionary of BPMN elements Smart contracts (existing) EVM Bytecode Contract interfaces (ABI) Parse BPMN model (BPMN2Sol) Compile smart contracts (solc) 13
  • 14. Caterpillar’s Architecture (Compiled Approach) 17th IEEE International Conference on Data Mining 14
  • 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
  • 16. 16 Binding Policy Specification Customer Supplier Supplier Candidate Carrier Under Shipment, Supplier nominates Candidate; Under Shipment, Supplier nominates Carrier in Candidate endorsed-by Customer; Nominator Policy Statement Operations Nominee Binding Constraint nominate release vote Endorsement Constraint Customer is case-creator; Customer nominates Supplier;
  • 17. 17 Role Lifecycle UNBOUND NOMINATE D RELEASIN G BOUND Nominate(E) Nominate(!E) Vote (E not satisfied) Vote (E satisfiable) Vote (E satisfied) Release(!E) Release(E) Vote (E not satisfied) Vote (E satisfiable) Vote (E satisfied)
  • 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
  • 19. 19 Smart Contract Generation Policy Compiler Caterpillar Compiler Worklist Handler BindingPolicy TaskRoleMap BindingAccessControl canNominate Nominator (Supplier) index 3, nMask (nominees {Candidate, Carrier}) = 6 [00000110] Bit Sets
  • 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
  • 22. Interpreted Caterpillar – Architecture 22
  • 23. Dynamic & Space-Optimized Data Structures 23 IFlow (preC, postC, typeInfo) G2: preC = 0001100000 = 96 postC = 0010000000 = 128 typeInfo = 0000011010 = 26 Is Activity? typeInfo & 1 != 0 Is User Task? typeInfo & 2057 == 2057
  • 25. 25 REST API (Interpreted Caterpillar)
  • 26. 26 Experiments Assessing the costs of executing business processes using Caterpillar (Compiled & Interpreted) versus control-flow- only approaches
  • 27. 27 Experimental Results (Gas per process instance)
  • 28. http://git.io/caterpillar • Open-source (LGPL) • NodeJS (off-chain components) + Solidity (on-chain) • Docker image available (for Compiled Caterpillar) Download and try!
  • 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