2019
DOI: 10.1007/978-3-030-21290-2_25
|View full text |Cite
|
Sign up to set email alerts
|

Dynamic Role Binding in Blockchain-Based Collaborative Business Processes

Abstract: Blockchain technology enables the execution of collaborative business processes involving mutually untrusted parties. Existing platforms allow such processes to be modeled using high-level notations and compiled into smart contracts that can be deployed on blockchain platforms. However, these platforms brush aside the question of who is allowed to execute which tasks in the process, either by deferring the question altogether or by adopting a static approach where all actors are bound to roles upon process ins… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
19
0

Year Published

2019
2019
2021
2021

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 35 publications
(19 citation statements)
references
References 13 publications
(19 reference statements)
0
19
0
Order By: Relevance
“…Building on this is a BPMS on the Blockchain that handles collaborations between organizations [24]. In addition, the authors developed a model for the dynamic role assignment of participants in collaborative processes, and the associated Binding Policy Specification Language (BPSL) [25]. The Lorikeet tool was developed to implement business processes on the Blockchain, for the purpose of managing assets.…”
Section: C) Process Execution On Blockchainmentioning
confidence: 99%
“…Building on this is a BPMS on the Blockchain that handles collaborations between organizations [24]. In addition, the authors developed a model for the dynamic role assignment of participants in collaborative processes, and the associated Binding Policy Specification Language (BPSL) [25]. The Lorikeet tool was developed to implement business processes on the Blockchain, for the purpose of managing assets.…”
Section: C) Process Execution On Blockchainmentioning
confidence: 99%
“…Approaches range from process verification with the Bitcoin Blockchain [15] to monitoring and execution of processes based on Ethereum. Latest efforts either use standard BPMN notation [3], extend the BPMN standard [5,16,17], use other declarative workflow models [18], or rely on new modeling languages [19,20]. The most widespread concept is based on Ethereum and works with (some form of) BPMN.…”
Section: Related Workmentioning
confidence: 99%
“…Process-Aware Layer The DATA & SCRIPTS component serves as the entry point for external actors to access data and execute tasks. Nevertheless, the access would be restricted by a set of smart contracts in the component RESOURCE ACCESS CONTROL derived from binding policies as presented in [12]. Such policies support dynamic bindings of actors into roles, i.e., the process participants reach consensus on who performs which task during the process execution based on binding policies and operations for the nomination, release, and voting.…”
Section: On-chain and Storage Layermentioning
confidence: 99%
“…(catchIDataAddr).getIFlowNode(); 8 pState = IData(iDataAddr).getSubProcessState(); 9 subPInd = IData(iDataAddr).getIndexInParent(); 10 subPInfo = IFlow(catchIFlowAddr).getTypeInfo(subPInd); 11 if(isCompleted(IData(iDataAddr).getSubProcessState()))12 IData(catchIDataAddr).decreaseInstCount(subPInd);13 subPCount = IData(catchIDataAddr).getCountInst(subPInd); 14 if(subPCount == 0) 15 removeSubProcess(catchIDataAddr, subPInd); 16 postC = IFlow(catchIFlowAddr).getPostC(subPInd); 17 addTokens(catchIDataAddr, postC); 18 else if(SEQ_MULTI_INST in subPInfo) 19 this.createInstance(catchIDataAddr, subPInd); 20 if(! (MESSAGE or DEFAULT or TERMINATE) in typeInfo) in IFlow(catchIFlowAddr).getEventList()) 29 if(IFlow(catchIFlowAddr).getEvtCode(ev) == evtCode) 30 evInfo = IFlow(catchIFlowAddr).getTypeInfo(ev); 31 attchTo = IFlow(catchIFlowAddr).getAttachedTo(ev); 32 if(EVENT_SUB_PROCESS_START in evInfo) 33 if(INTERRUPTING in evInfo) (catchIFlowAddr).getPostC(ev); 45 addTokens(pState, posC); 46 IData(catchIDataAddr).updateProcessState(pState); 47 next = IFlow(catchIFlowAddr).getOutElement(ev); 48 this.executeElements(catchIDataAddr, next); (catchIDataAddr, evtCode, typeInfo) Listing 5.…”
mentioning
confidence: 99%