Abstract
Business process execution and support by blockchain-based systems have received increasing interest, particularly in applications where execution trace immutability and independent verifiability are needed. Recent approaches to automatically convert business process models into smart contracts have significantly streamlined blockchain support for business processes. However, the dynamic nature of business processes requires services to be adaptable to evolving conditions, activities, agreements, or regulations. Subsequent adaptation of the corresponding smart contracts is also a must. Adoption of so-called business process change patterns into smart contracts is not straightforward, as smart contracts cannot be modified once deployed. Further, smart contract upgradability patterns are not designed with business process applications in mind. In this paper, we present an approach to assess and select the most suitable smart contract upgradability pattern for a given business process change pattern, based on six software quality metrics. Moreover, we provide an assessment of the preferred upgradability patterns for each change pattern using the presented approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
ERC-2535: Diamonds, multi-facet proxy. https://eips.ethereum.org/EIPS/eip-2535. Accessed 03 June 2024
Proxies - OpenZeppelin Docs. https://docs.openzeppelin.com/contracts/5.x/api/proxy. Accessed 03 June 2024
Alexandrov, D., Ismoilov, M., Kozlov, A., Savachenko, A., Zykov, S.: Validating new method for measuring cohesion in object-oriented projects. Procedia Comput. Sci. 192, 4865–4876 (2021)
Androulaki, E., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: 13th EuroSys Conference, pp. 1–15 (2018)
Bandara, H.M.N.D., Xu, X., Weber, I.: Patterns for blockchain data migration. In: European Conference on Pattern Languages of Programs, EuroPLoP 2020, pp. 1–19 (2020)
Bodorik, P., Liu, C.G., Jutla, D.: TABS: transforming automatically BPMN models into blockchain smart contracts. Blockchain: Res. Appl. 4(1), 100115 (2023)
Corradini, F., Marcelletti, A., Morichetta, A., Polini, A., Re, B., Tiezzi, F.: Chorchain: a model-driven framework for choreography-based systems using blockchain. In: ITBPM@ BPM, pp. 26–32 (2021)
Corradini, F., Marcelletti, A., Morichetta, A., Polini, A., Re, B., Tiezzi, F.: A flexible approach to multi-party business process execution on blockchain. Futur. Gener. Comput. Syst. 147, 219–234 (2023)
van Der Aalst, W.M., Ter Hofstede, A.H., Kiepuszewski, B., Barros, A.P.: Workflow patterns. Distrib. Parallel Databases 14, 5–51 (2003)
Ebert, C., Cain, J., Antoniol, G., Counsell, S., Laplante, P.: Cyclomatic complexity. IEEE Softw. 33(6), 27–29 (2016)
ethereum.org: Upgrading smart contracts. https://ethereum.org/en/developers/docs/smart-contracts/upgrading/. Accessed 31 May 2024
ISO/IEC 25010:2011: Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models. Standard, International Organization for Standardization, Geneva, CH (2011)
Kim, D., Kim, M., Kim, H.: Dynamic business process management based on process change patterns. In: 2007 International Conference on Convergence Information Technology (ICCIT 2007), pp. 1154–1161. IEEE (2007)
López-Pintado, O., García-Bañuelos, L., Dumas, M., Weber, I., Ponomarev, A.: Caterpillar: a business process execution engine on the Ethereum blockchain. Softw.: Pract. Experience 49(7), 1162–1193 (2019)
Martin, R.: OO design quality metrics. Anal. Dependencies 12(1), 151–170 (1994)
McConnell, S.: Code Complete. Developer Best Practices Series. Microsoft Press (2004)
OMG: Business process model and notation (BPMN) version 2.0 (2011)
Tonelli, R., Pierro, G.A., Ortu, M., Destefanis, G.: Smart contracts software metrics: a first study. PLoS ONE 18(4), e0281043 (2023)
Tran, A.B., Lu, Q., Weber, I.: Lorikeet: a model-driven engineering tool for blockchain-based business process execution and asset management. In: BPM (Dissertation/Demos/Industry), pp. 56–60 (2018)
Weber, B., Rinderle, S., Reichert, M.: Change patterns and change support features in process-aware information systems. In: Krogstie, J., Opdahl, A., Sindre, G. (eds.) CAiSE 2007. LNCS, vol. 4495, pp. 574–588. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-72988-4_40
Weber, I., et al.: On availability for blockchain-based systems. In: 2017 IEEE 36th Symposium on Reliable Distributed Systems (SRDS), pp. 64–73 (2017)
White, S.A.: Business process modeling notation (BPMN) version 1.0. Business Process Management Initiative, BPMI.org (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Malik, S., Bandara, H.M.N.D., van Beest, N.R.T.P., Xu, X. (2024). Smart Contracts’ Upgradability for Flexible Business Processes. In: Di Ciccio, C., et al. Business Process Management: Blockchain, Robotic Process Automation, Central and Eastern European, Educators and Industry Forum. BPM 2024. Lecture Notes in Business Information Processing, vol 527. Springer, Cham. https://doi.org/10.1007/978-3-031-70445-1_4
Download citation
DOI: https://doi.org/10.1007/978-3-031-70445-1_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-70444-4
Online ISBN: 978-3-031-70445-1
eBook Packages: Computer ScienceComputer Science (R0)