SlideShare una empresa de Scribd logo
1 de 30
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

Más contenido relacionado

La actualidad más candente

An innovative software framework and toolkit for process optimization deploye...
An innovative software framework and toolkit for process optimization deploye...An innovative software framework and toolkit for process optimization deploye...
An innovative software framework and toolkit for process optimization deploye...
Sudhendu Rai
 
QualityBPM@Heidelberg Innovation Forum 2014
QualityBPM@Heidelberg Innovation Forum 2014QualityBPM@Heidelberg Innovation Forum 2014
QualityBPM@Heidelberg Innovation Forum 2014
Tobias Unger
 

La actualidad más candente (17)

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

Similar a Collaborative Business Process Execution on Blockchain: The Caterpillar Approach

Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
Kyle Lambert
 

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

IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0IBM Blockchain Platform - Architectural Good Practices v1.0
IBM Blockchain Platform - Architectural Good Practices v1.0
 
Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02Modeling Blockchain Applications v1.02
Modeling Blockchain Applications v1.02
 
Blockchain architected
Blockchain architectedBlockchain architected
Blockchain architected
 
Digital Transformation and Blockchain
Digital Transformation and BlockchainDigital Transformation and Blockchain
Digital Transformation and Blockchain
 
Ibm system storage solutions handbook
Ibm system storage solutions handbook Ibm system storage solutions handbook
Ibm system storage solutions handbook
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech SMTAI PowerPoint: Blockchain for High Tech
SMTAI PowerPoint: Blockchain for High Tech
 
Blockchain for the Enterprise
Blockchain for the EnterpriseBlockchain for the Enterprise
Blockchain for the Enterprise
 
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
Blockchains and Smart Contracts: Architecture Design and Model-Driven Develop...
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Apics 2017 samelson (final) blockchain
Apics 2017 samelson (final)   blockchain Apics 2017 samelson (final)   blockchain
Apics 2017 samelson (final) blockchain
 
On Engineering Economic Systems
On Engineering Economic SystemsOn Engineering Economic Systems
On Engineering Economic Systems
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Introduction to Hyperledger Composer
Introduction to Hyperledger ComposerIntroduction to Hyperledger Composer
Introduction to Hyperledger Composer
 
Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
Hybrid Cloud Integration - Connecting Taleo Enterprise Edition With E-Busines...
 
Blockchain solution architecture deliverable
Blockchain solution architecture deliverableBlockchain solution architecture deliverable
Blockchain solution architecture deliverable
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
Migrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetesMigrating from oracle soa suite to microservices on kubernetes
Migrating from oracle soa suite to microservices on kubernetes
 
Iata blockchain presentation icaew suisse branch
Iata blockchain presentation   icaew suisse branchIata blockchain presentation   icaew suisse branch
Iata blockchain presentation icaew suisse branch
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
 

Más de Marlon Dumas

Walking the Way from Process Mining to AI-Driven Process Optimization
Walking the Way from Process Mining to AI-Driven Process OptimizationWalking the Way from Process Mining to AI-Driven Process Optimization
Walking the Way from Process Mining to AI-Driven Process Optimization
Marlon Dumas
 
Discovery and Simulation of Business Processes with Probabilistic Resource Av...
Discovery and Simulation of Business Processes with Probabilistic Resource Av...Discovery and Simulation of Business Processes with Probabilistic Resource Av...
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...
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Marlon Dumas
 
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Marlon Dumas
 

Más de Marlon Dumas (20)

How GenAI will (not) change your business?
How GenAI will (not)  change your business?How GenAI will (not)  change your business?
How GenAI will (not) change your business?
 
Walking the Way from Process Mining to AI-Driven Process Optimization
Walking the Way from Process Mining to AI-Driven Process OptimizationWalking the Way from Process Mining to AI-Driven Process Optimization
Walking the Way from Process Mining to AI-Driven Process Optimization
 
Discovery and Simulation of Business Processes with Probabilistic Resource Av...
Discovery and Simulation of Business Processes with Probabilistic Resource Av...Discovery and Simulation of Business Processes with Probabilistic Resource Av...
Discovery and Simulation of Business Processes with Probabilistic Resource Av...
 
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
Can I Trust My Simulation Model? Measuring the Quality of Business Process Si...
 
Business Process Optimization: Status and Perspectives
Business Process Optimization: Status and PerspectivesBusiness Process Optimization: Status and Perspectives
Business Process Optimization: Status and Perspectives
 
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
Learning When to Treat Business Processes: Prescriptive Process Monitoring wi...
 
Why am I Waiting Data-Driven Analysis of Waiting Times in Business Processes
Why am I Waiting Data-Driven Analysis of Waiting Times in Business ProcessesWhy am I Waiting Data-Driven Analysis of Waiting Times in Business Processes
Why am I Waiting Data-Driven Analysis of Waiting Times in Business Processes
 
Augmented Business Process Management
Augmented Business Process ManagementAugmented Business Process Management
Augmented Business Process Management
 
Process Mining and Data-Driven Process Simulation
Process Mining and Data-Driven Process SimulationProcess Mining and Data-Driven Process Simulation
Process Mining and Data-Driven Process Simulation
 
Modeling Extraneous Activity Delays in Business Process Simulation
Modeling Extraneous Activity Delays in Business Process SimulationModeling Extraneous Activity Delays in Business Process Simulation
Modeling Extraneous Activity Delays in Business Process Simulation
 
Business Process Simulation with Differentiated Resources: Does it Make a Dif...
Business Process Simulation with Differentiated Resources: Does it Make a Dif...Business Process Simulation with Differentiated Resources: Does it Make a Dif...
Business Process Simulation with Differentiated Resources: Does it Make a Dif...
 
Prescriptive Process Monitoring Under Uncertainty and Resource Constraints
Prescriptive Process Monitoring Under Uncertainty and Resource ConstraintsPrescriptive Process Monitoring Under Uncertainty and Resource Constraints
Prescriptive Process Monitoring Under Uncertainty and Resource Constraints
 
Robotic Process Mining
Robotic Process MiningRobotic Process Mining
Robotic Process Mining
 
Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?
Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?
Accurate and Reliable What-If Analysis of Business Processes: Is it Achievable?
 
Learning Accurate Business Process Simulation Models from Event Logs via Auto...
Learning Accurate Business Process Simulation Models from Event Logs via Auto...Learning Accurate Business Process Simulation Models from Event Logs via Auto...
Learning Accurate Business Process Simulation Models from Event Logs via Auto...
 
Process Mining: A Guide for Practitioners
Process Mining: A Guide for PractitionersProcess Mining: A Guide for Practitioners
Process Mining: A Guide for Practitioners
 
Process Mining for Process Improvement.pptx
Process Mining for Process Improvement.pptxProcess Mining for Process Improvement.pptx
Process Mining for Process Improvement.pptx
 
Data-Driven Analysis of Batch Processing Inefficiencies in Business Processes
Data-Driven Analysis of  Batch Processing Inefficiencies  in Business ProcessesData-Driven Analysis of  Batch Processing Inefficiencies  in Business Processes
Data-Driven Analysis of Batch Processing Inefficiencies in Business Processes
 
Optimización de procesos basada en datos
Optimización de procesos basada en datosOptimización de procesos basada en datos
Optimización de procesos basada en datos
 
Process Mining and AI for Continuous Process Improvement
Process Mining and AI for Continuous Process ImprovementProcess Mining and AI for Continuous Process Improvement
Process Mining and AI for Continuous Process Improvement
 

Último

CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptx
Silpa
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Silpa
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
1301aanya
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
levieagacer
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
Silpa
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
Silpa
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 

Último (20)

GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
GBSN - Biochemistry (Unit 2) Basic concept of organic chemistry
 
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRingsTransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
TransientOffsetin14CAftertheCarringtonEventRecordedbyPolarTreeRings
 
CYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptxCYTOGENETIC MAP................ ppt.pptx
CYTOGENETIC MAP................ ppt.pptx
 
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort ServiceCall Girls Ahmedabad +917728919243 call me Independent Escort Service
Call Girls Ahmedabad +917728919243 call me Independent Escort Service
 
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICEPATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
PATNA CALL GIRLS 8617370543 LOW PRICE ESCORT SERVICE
 
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.Cyathodium bryophyte: morphology, anatomy, reproduction etc.
Cyathodium bryophyte: morphology, anatomy, reproduction etc.
 
biology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGYbiology HL practice questions IB BIOLOGY
biology HL practice questions IB BIOLOGY
 
Genetics and epigenetics of ADHD and comorbid conditions
Genetics and epigenetics of ADHD and comorbid conditionsGenetics and epigenetics of ADHD and comorbid conditions
Genetics and epigenetics of ADHD and comorbid conditions
 
Module for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learningModule for Grade 9 for Asynchronous/Distance learning
Module for Grade 9 for Asynchronous/Distance learning
 
Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.Phenolics: types, biosynthesis and functions.
Phenolics: types, biosynthesis and functions.
 
Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.Porella : features, morphology, anatomy, reproduction etc.
Porella : features, morphology, anatomy, reproduction etc.
 
Genome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptxGenome sequencing,shotgun sequencing.pptx
Genome sequencing,shotgun sequencing.pptx
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Cyanide resistant respiration pathway.pptx
Cyanide resistant respiration pathway.pptxCyanide resistant respiration pathway.pptx
Cyanide resistant respiration pathway.pptx
 
Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.Proteomics: types, protein profiling steps etc.
Proteomics: types, protein profiling steps etc.
 
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS  ESCORT SERVICE In Bhiwan...
Bhiwandi Bhiwandi ❤CALL GIRL 7870993772 ❤CALL GIRLS ESCORT SERVICE In Bhiwan...
 
Clean In Place(CIP).pptx .
Clean In Place(CIP).pptx                 .Clean In Place(CIP).pptx                 .
Clean In Place(CIP).pptx .
 
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIACURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
CURRENT SCENARIO OF POULTRY PRODUCTION IN INDIA
 
Chemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdfChemistry 5th semester paper 1st Notes.pdf
Chemistry 5th semester paper 1st Notes.pdf
 
Selaginella: features, morphology ,anatomy and reproduction.
Selaginella: features, morphology ,anatomy and reproduction.Selaginella: features, morphology ,anatomy and reproduction.
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
  • 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