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

PPTX
Process Mining 2.0: From Insights to Actions
PPTX
Interpreted Execution of Business Process Models on Blockchain
PPTX
Process Mining and Predictive Process Monitoring: From Technology to Business...
PPTX
Business Process Analytics: From Insights to Predictions
PPTX
In Processes We Trust: Privacy and Trust in Business Processes
PPTX
Apromore: Advanced Business Process Analytics on the Cloud
PPTX
Caterpillar: A Blockchain-Based Business Proces Management System
PPTX
Process Mining and Predictive Process Monitoring
Process Mining 2.0: From Insights to Actions
Interpreted Execution of Business Process Models on Blockchain
Process Mining and Predictive Process Monitoring: From Technology to Business...
Business Process Analytics: From Insights to Predictions
In Processes We Trust: Privacy and Trust in Business Processes
Apromore: Advanced Business Process Analytics on the Cloud
Caterpillar: A Blockchain-Based Business Proces Management System
Process Mining and Predictive Process Monitoring

What's hot (17)

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

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

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

More from Marlon Dumas (20)

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

Recently uploaded (20)

PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PDF
Crime Scene Investigation: A Guide for Law Enforcement (2013 Update)
PDF
Microbial Biofilms and Their Role in Chronic Infections
PDF
NURSING FOUNDATION LESSON PLAN ON PATIENT EDUCATION.pdf
PPTX
The KM-GBF monitoring framework – status & key messages.pptx
PPTX
INTRODUCTION TO EVS | Concept of sustainability
PPTX
Discovery of Novel Antibiotics from Uncultured Microbes.pptx
PPTX
Cell Membrane: Structure, Composition & Functions
PPTX
famous lake in india and its disturibution and importance
PDF
HPLC-PPT.docx high performance liquid chromatography
PDF
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
PPTX
neck nodes and dissection types and lymph nodes levels
PPTX
GEN. BIO 1 - CELL TYPES & CELL MODIFICATIONS
PPTX
2. Earth - The Living Planet Module 2ELS
PPTX
Taita Taveta Laboratory Technician Workshop Presentation.pptx
PPTX
Classification Systems_TAXONOMY_SCIENCE8.pptx
PDF
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
PPTX
SCIENCE10 Q1 5 WK8 Evidence Supporting Plate Movement.pptx
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
Introduction to Fisheries Biotechnology_Lesson 1.pptx
Crime Scene Investigation: A Guide for Law Enforcement (2013 Update)
Microbial Biofilms and Their Role in Chronic Infections
NURSING FOUNDATION LESSON PLAN ON PATIENT EDUCATION.pdf
The KM-GBF monitoring framework – status & key messages.pptx
INTRODUCTION TO EVS | Concept of sustainability
Discovery of Novel Antibiotics from Uncultured Microbes.pptx
Cell Membrane: Structure, Composition & Functions
famous lake in india and its disturibution and importance
HPLC-PPT.docx high performance liquid chromatography
Mastering Bioreactors and Media Sterilization: A Complete Guide to Sterile Fe...
neck nodes and dissection types and lymph nodes levels
GEN. BIO 1 - CELL TYPES & CELL MODIFICATIONS
2. Earth - The Living Planet Module 2ELS
Taita Taveta Laboratory Technician Workshop Presentation.pptx
Classification Systems_TAXONOMY_SCIENCE8.pptx
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
SCIENCE10 Q1 5 WK8 Evidence Supporting Plate Movement.pptx
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
cpcsea ppt.pptxssssssssssssssjjdjdndndddd

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