Blockchain Smart Contract Meta-modeling

Authors

  • Nicolás Sánchez-Gómez Web Engineering and Early Testing Research Group, ETSII, University of Seville, Spain https://orcid.org/0000-0001-9102-6836
  • Jesus Torres-Valderrama Web Engineering and Early Testing Research Group, ETSII, University of Seville, Spain https://orcid.org/0000-0002-7786-5841
  • Manuel MEJÍAS RISOTO Web Engineering and Early Testing Research Group, ETSII, University of Seville, Spain
  • Alejandra GARRIDO LIFIA, Fac. de Inform., Univ. Nac. de La Plata & CONICET, Argentina https://orcid.org/0000-0002-5052-705X

DOI:

https://doi.org/10.13052/jwe1540-9589.2073

Keywords:

Smart Contract, Model-based, Meta-model, UML

Abstract

One of the key benefits of blockchain technology is its ability to keep a permanent, unalterable record of transactions. In business environments, where companies interact with each other without a centralized authority to ensure trust between them, this has led to blockchain platforms and smart contracts being proposed as a means of implementing trustworthy collaborative processes. Software engineers must deal with them to ensure the quality of smart contracts in all phases of the smart contract lifecycle, from requirements specifications to design and deployment. This broad scope and criticality of smart contracts in business environments means that they have to be expressed in a language that is intuitive, easy-to-use, independent of the blockchain platform employed, and oriented towards software quality assurance. In this paper we present a key component: a first outline of a UML-based smart contract meta-model that would allow us to achieve these objectives. This meta-model will be enriched in future work to represent blockchain environments and automated testing.

Downloads

Download data is not yet available.

References

Satoshi, N. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. Available online at: https://bitcoin.org/bitcoin.pdf

Westerkamp, M., Victor, F., and Kupper, A. (2020). Tracing manufacturing processes using blockchain-based token compositions. DigitalCommunications and Networks, 6(2):167—176.

Shailak, J. (2020). Smart Contracts: Building Blocks for Digital Transformation. Available online at: https://doi.org/10.13140/RG.2.2.33316.83847

Viriyasitavat, W., and Hoonsopon, D. (2019). Blockchain characteristics and consensus in modern business processes. Journal of IndustrialInformation Integration, 13, 32–39.

Nanayakkara, S., Rodrigo, M. N. N., Perera, S., Weerasuriya, G. T., and Hijazi, A. A. (2021). A methodology for selection of a Blockchain platform to develop an enterprise system. Journal of Industrial Information Integration, 23, 100215.

Tsung-Ting Kuo, Hugo Zavaleta Rojas, Lucila Ohno-Machado (2019). Comparison of blockchain platforms: a systematic review and healthcare examples. Journal of the American Medical Informatics Association, Volume 26, Issue 5, May 2019, Pages 462—478, https://doi.org/10 .1093/jamia/ocy185

Huang, F. (2017). Human Error Analysis in Software Engineering. Available online at: https://doi.org/10.5772/intechopen.68392.

Object Management Group, Inc. Available online at: https://www.omg. org/spec/UML/About-UML/

Forward, A., and Lethbridge, T. (2008). Problems and opportunities for model-centric versus code-centric software development: A survey of software professionals. International Workshop on Models in Software Engineering. Available online at: https://doi.org/10.1007/s11408-018-0 315-6

Drescher, D. (2017). Blockchain Basics: A Non-Technical Introduction in 25 Steps. Apress, USA.

Lu, Q., Weber, I., and Staples, M. (2018). Why Model-Driven Engineering Fits the Needs for Blockchain Application Development. IEEE Blockchain Technical Briefs, September 2018.

Wikipedia Blockchain. Available online at: https://en.wikipedia.org/wiki/Blockchain

Tapscott, D. and Tapscott, A. (2016). The Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. pp. 72, 83, 101, 127. ISBN 978-0670069972.

Buterin V., (2014). A next-generation smart contract and decentralized application platform. White paper, 2014, vol. 3, no 37. Available online 2076 N. Sanchez-G ´ omez et al. ´ at: https://cryptorating.eu/whitepapers/Ethereum/Ethereum white pap er.pdf

Hyperledger Project. Available online at: https://www.hyperledger.org

Lewis A. (2016), A gentle introduction to smart contracts, Available online at: https://bitsonblocks.net/2016/02/01/a-gentle-introduction-to-smart-contracts/

Mohanta, B. K., Panda, S. S., and Jena, D. (2018). An overview of smart contract and use cases in blockchain technology. In 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT), pages 1—4. IEEE.

Xu, X., Lu, Q., Liu, Y., Zhu, L., Yao, H., and Vasilakos, A. V. (2019). Designing blockchain-based applications a case study for imported product traceability. Future Generation Computer Systems, 92:399—406.

Sanchez-Gomez, N. et al. (2020). Current Limitations of Blockchain Traceability: Challenges from Industry. WEBIST 2020. 16TH International Conference on Web Information Systems and Technologies.

The Ethereum community. Available online at: https://ethereum.org/en/developers/docs/programming-languages/

Schmidt DC. (2006), Guest Editor’s Introduction: Model-Driven Engineering. Computer 2006 Feb;39(2):25—31.

Hu, K., Zhu, J., Ding, Y., Bai, X., and Huang, J. (2020). Smart Contract Engineering. Electronics, 9(12), 2042.

Ladleif, J., and Weske, M. (2019, November). A unifying model of legal smart contracts. In International Conference on Conceptual Modeling (pp. 323–337). Springer, Cham.

Lu, Q., Binh Tran, A., Weber, I., O’Connor, H., Rimba, P., Xu, X., . . . and Jeffery, R. (2020). Integrated model-driven engineering of blockchain applications for business processes and asset management. Software: Practice and Experience.

Vandenbogaerde, B. (2019). A graph-based framework for analysing the design of smart contracts. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 1220–1222).

Butijn, B. J., van den Heuvel, W. J., and Kumara, I. (2019). Smart Contract-Driven Business Transactions. Essentials of Blockchain Technology, 81.

Skotnica, M., Klicpera, J., and Pergl, R. (2020). Towards Model-Driven Smart Contract Systems–Code Generation and Improving Expressivity of Smart Contract Modeling.

Escalona Cuaresma, M.J., Gutierrez Rodr ´ ´ıguez, J.J., Mej´ıas Risoto, M., Aragon Serrano, G., Ramos Rom ´ an, I. (2011). ´ An Overview on Test Generation from Functional Requirements. The Journal of Systems and Software. Vol. 84. Num. 8. Pag. 1379-1393. ´

Meidan, A., Garc´ıa-Garc´ıa, J. A., Ramos, I., & Escalona, M. J. (2018). Measuring software process: a systematic mapping study. ACM Computing Surveys (CSUR), 51(3), 1–32.

Lopez, G., Garc ´ ´ıa-Borgon˜on, L., Vega, S., Escalona Cuaresma, M.J., ´ Juristo, N. (2020). Cultivating Practitioners for Software Engineering Experiments in industry. Best Practices learned from the experience. Pag. 1–12. Advancements in Model-Driven Architecture in Software Engineering. EEUU. IGI Global. ISBN 1799836614

Escalona Cuaresma, M.J., Aragon Serrano, G. (2008). ´ NDT. A ModelDriven Approach for Web Requirements. IEEE Transactions on Software Engineering. Vol. 34. Num. 3. Pag. 377–390.

Downloads

Published

2021-11-16

How to Cite

Sánchez-Gómez, N., Torres-Valderrama, J., MEJÍAS RISOTO, M., & GARRIDO, A. (2021). Blockchain Smart Contract Meta-modeling. Journal of Web Engineering, 20(07), 2059–2080. https://doi.org/10.13052/jwe1540-9589.2073

Issue

Section

SPECIAL ISSUE: ADVANCED PRACTICES IN WEB ENGINEERING 2021