Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBrady, Edwin Charles
dc.date.accessioned2017-07-10T12:30:10Z
dc.date.available2017-07-10T12:30:10Z
dc.date.issued2017-07-07
dc.identifier.citationBrady , E C 2017 , ' Type driven development of concurrent communicating systems ' , Computer Science , vol. 18 , no. 3 , 1413 . https://doi.org/10.7494/csci.2017.18.3.1413en
dc.identifier.issn1508-2806
dc.identifier.otherPURE: 174257645
dc.identifier.otherPURE UUID: dd417530-40de-4ca7-b6ff-1278a8dcd270
dc.identifier.otherScopus: 85030650328
dc.identifier.otherORCID: /0000-0002-9734-367X/work/58054935
dc.identifier.otherWOS: 000427921500001
dc.identifier.urihttps://hdl.handle.net/10023/11177
dc.descriptionThis work was kindly supported by SICSA (the Scottish Informatics and Computer Science Alliance) and EPSRC grant EP/N024222/1 (Type-driven Verification of Communicating Systems).en
dc.description.abstractModern software systems rely on communication, for example mobile applications communicating with a central server, distributed systems coordinating a telecommunications network, or concurrent systems handling events and processes in a desktop application. However, reasoning about concurrent programs is hard, since we must reason about each process and the order in which communication might happen between processes. In this paper, I describe a type-driven approach to implementing communicating concurrent programs, using the dependently typed programming language Idris. I show how the type system can be used to describe resource access protocols (such as controlling access to a file handle) and verify that programs correctly follow those protocols. Finally, I show how to use the type system to reason about the order of communication between concurrent processes, ensuring that each end of a communication channel follows a defined protocol.
dc.format.extent22
dc.language.isoeng
dc.relation.ispartofComputer Scienceen
dc.rights© 2017, the Author(s). The content of the journal is freely available according to the Creative Commons License Attribution 4.0 International (CC BY 4.0)en
dc.subjectDependent typesen
dc.subjectDomain specific languagesen
dc.subjectVerificationen
dc.subjectConcurrencyen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectQA76 Computer softwareen
dc.subjectNDASen
dc.subject.lccQA75en
dc.subject.lccQA76en
dc.titleType driven development of concurrent communicating systemsen
dc.typeJournal articleen
dc.contributor.sponsorEPSRCen
dc.description.versionPublisher PDFen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doihttps://doi.org/10.7494/csci.2017.18.3.1413
dc.description.statusPeer revieweden
dc.identifier.urlhttps://journals.agh.edu.pl/csci/article/view/1413en
dc.identifier.grantnumberEP/N024222/1en


This item appears in the following Collection(s)

Show simple item record