dc.rights.license | CC-BY-NC-ND | |
dc.contributor.advisor | M.R. Spruit, F. Dalpiaz | |
dc.contributor.author | Boogaard, K. | |
dc.date.accessioned | 2018-07-18T17:01:20Z | |
dc.date.available | 2018-07-18T17:01:20Z | |
dc.date.issued | 2018 | |
dc.identifier.uri | https://studenttheses.uu.nl/handle/20.500.12932/29326 | |
dc.description.abstract | Blockchain technology has provided a platform for the decentralized execution of smart contracts. A smart contract is an agreement that is automatically executed when certain conditions have been met. The immutability, decentral nature, and consensus mechanisms that are characteristic to blockchain technology make the smart contract and its development cycle a new field of study in software engineering. A novel economic and defensive thinking is needed to develop workable, secure smart contracts. Motivated by the need for a novel approach to development, this thesis proposes a model-driven approach to smart contract development.
Model-Driven Engineering (MDE) is an approach to information system development in which models and model technologies are applied to raise the level of abstraction at which developers create and evolve software, with the goal of both simplifying and formalizing the various activities and tasks that comprise the Software Development Life Cycle (SDLC). Model-Driven Architecture (MDA) is a framework for this approach. This thesis aims to apply this framework to create a method which describes the development phase from domain knowledge to smart contract foundation.
The creation of a method has two main aims, namely (i) to bridge the semantic gap between domain knowledge and smart contract by lowering the threshold for domain experts, and (ii) support developers in creating less vulnerable smart contracts that accurately represent the problem domain. This is done by constructing a model-driven method based on existing research that applies MDE to smart contract development. A literature study into this field yields the requirements and techniques for the method, which is consequently constructed based on these requirements and techniques.
The method is evaluated in twofold. First, the value is assessed through a case study, which shows that the developer benefits from a structured approach and the reduction of manual programming. Second, by an experiment which shows that people are better able to comprehend and communicate about models containing functional aspects of the smart contract if a computational independent model is included. By doing so it fulfills the aim of lowering the threshold for domain experts to participate in the smart contract development cycle. | |
dc.description.sponsorship | Utrecht University | |
dc.format.extent | 2968810 | |
dc.format.mimetype | application/pdf | |
dc.language.iso | en | |
dc.title | A Model-Driven Approach to Smart Contract Development | |
dc.type.content | Master Thesis | |
dc.rights.accessrights | Open Access | |
dc.subject.keywords | Smart Contracts, Model-driven, Model-Driven Engineering, Ethereum, Software Engineering, Blockchain, Development, Model-Driven Architecture, Finite State Machine | |
dc.subject.courseuu | Business Informatics | |