Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Collaborative Business Process Execution on Blockchain: The Caterpillar Approach

198 Aufrufe

Veröffentlicht am

Invited talk at the CAiSE'2019 Workshop on Blockchains for Inter-Organizational Collaboration and Flexible Advanced Information Systems (BIOC & FAiSE 2019).

Veröffentlicht in: Wissenschaft
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Gehören Sie zu den Ersten, denen das gefällt!

Collaborative Business Process Execution on Blockchain: The Caterpillar Approach

  1. 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. 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
  3. 3. Message-Based Collaborative Processes 3
  4. 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. 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. 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. 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. 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. 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. 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. 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. 12. Caterpillar High-Level Concept 12 Executable BPMN Process Model Ethereum Blockchain ATERPILLAR Smart Contracts Approach 1: Compilation Approach 2: Interpretation
  13. 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. 14. Caterpillar’s Architecture (Compiled Approach) 17th IEEE International Conference on Data Mining 14
  15. 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. 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. 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. 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. 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. 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. 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. 22. Interpreted Caterpillar – Architecture 22
  23. 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
  24. 24. Dynamic Data Structures 24 IData
  25. 25. 25 REST API (Interpreted Caterpillar)
  26. 26. 26 Experiments Assessing the costs of executing business processes using Caterpillar (Compiled & Interpreted) versus control-flow- only approaches
  27. 27. 27 Experimental Results (Gas per process instance)
  28. 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. 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. 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

×