Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorM.R. Spruit, F. Dalpiaz
dc.contributor.authorBoogaard, K.
dc.date.accessioned2018-07-18T17:01:20Z
dc.date.available2018-07-18T17:01:20Z
dc.date.issued2018
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/29326
dc.description.abstractBlockchain 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.sponsorshipUtrecht University
dc.format.extent2968810
dc.format.mimetypeapplication/pdf
dc.language.isoen
dc.titleA Model-Driven Approach to Smart Contract Development
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordsSmart Contracts, Model-driven, Model-Driven Engineering, Ethereum, Software Engineering, Blockchain, Development, Model-Driven Architecture, Finite State Machine
dc.subject.courseuuBusiness Informatics


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record