Return to search

Applying Design By Contract to Remote Procedure Call Interface Definition Languages / Tillämpling av design genom kontrakt till gränssnitt av avlägsna proceduranropp

Design by contract, abbreviated as DBC, is a software development methodology that aims to increase the reliability and robustness of software components. While a fair amount of research has been done around how DbC can be utilised in an in-process object-oriented system, not much is known about how DbC concepts can be applied to systems that predominantly communicate over the network by way of remote procedure calls. With the recent increase in popularity of service-oriented and microservice system architectures, the ability to develop robust networked components at scale is highly relevant. This study applies the DbC notion of software contracts to remote procedure calls by developing an interface definition language that can be used in conjunction with JSON-RPC and JSON Schema. The results demonstrate that it is possible to leverage DbC concepts when implementing networked software services, but that it may in many cases be impractical to do so due to the resulting concurrency issues and increased complexity. / Design genom kontrakt, abbrevierat ned till DbC, är en metodik för mjukvaruutveckling vars syfte är att öka pålitlighet och robusthet av programvara. Medan en ansenlig mängd har forskats för att bedöma hur DbC kan utnyttjas i ett objekt-orentierad sammanhang, det är fortsatt ovetandes om hur DbC konceptet kan appliceras till system som huvudsakligen kommunicerar över nätverket. Med den ökade populariteten av service-orienterad mjukvaruarkitektur, förmågan att utveckla robusta nätverkskomponenter är högst relevant. Denna studie applicerar en DbC förståelse av mjukvarukontrakt till gränssnittav av avlägsna proceduranropp genom att använda JSON-RPC och JSON Schema. Resultatet visar att det finns möjlighet att verkställa DbC koncepter när man implementerar mjukvara som kommunicerar över nätverket, men detta kan vara opraktiskt pga ökad komplexitet och resulterande samtidighetsproblem.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-279970
Date January 2020
CreatorsKairaitis, Matas
PublisherKTH, Skolan för elektroteknik och datavetenskap (EECS)
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationTRITA-EECS-EX ; 2020:343

Page generated in 0.002 seconds