Files in this item
Type driven development of concurrent communicating systems
Item metadata
dc.contributor.author | Brady, Edwin Charles | |
dc.date.accessioned | 2017-07-10T12:30:10Z | |
dc.date.available | 2017-07-10T12:30:10Z | |
dc.date.issued | 2017-07-07 | |
dc.identifier | 174257645 | |
dc.identifier | dd417530-40de-4ca7-b6ff-1278a8dcd270 | |
dc.identifier | 85030650328 | |
dc.identifier | 000427921500001 | |
dc.identifier.citation | Brady , 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.1413 | en |
dc.identifier.issn | 1508-2806 | |
dc.identifier.other | ORCID: /0000-0002-9734-367X/work/58054935 | |
dc.identifier.uri | https://hdl.handle.net/10023/11177 | |
dc.description | This 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.abstract | Modern 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.extent | 22 | |
dc.format.extent | 282920 | |
dc.language.iso | eng | |
dc.relation.ispartof | Computer Science | en |
dc.subject | Dependent types | en |
dc.subject | Domain specific languages | en |
dc.subject | Verification | en |
dc.subject | Concurrency | en |
dc.subject | QA75 Electronic computers. Computer science | en |
dc.subject | QA76 Computer software | en |
dc.subject | NDAS | en |
dc.subject.lcc | QA75 | en |
dc.subject.lcc | QA76 | en |
dc.title | Type driven development of concurrent communicating systems | en |
dc.type | Journal article | en |
dc.contributor.sponsor | EPSRC | en |
dc.contributor.institution | University of St Andrews. School of Computer Science | en |
dc.identifier.doi | https://doi.org/10.7494/csci.2017.18.3.1413 | |
dc.description.status | Peer reviewed | en |
dc.identifier.url | https://journals.agh.edu.pl/csci/article/view/1413 | en |
dc.identifier.grantnumber | EP/N024222/1 | en |
This item appears in the following Collection(s)
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.