Repository logo
Article

Type-driven development of concurrent communicating systems

Loading...
Thumbnail Image

Date

Presentation Date

Editor

Other contributors

Access rights

Access: otwarty dostęp
Rights: CC BY 4.0
Attribution 4.0 International

Attribution 4.0 International (CC BY 4.0)

Other title

Resource type

Version

wersja wydawnicza
Item type:Journal Issue,
Computer Science
2017 - Vol. 18 - No. 3

Pagination/Pages:

pp. 219-240

Research Project

Event

Description

Bibliogr. s. 239-240.

Abstract

Modern software systems rely on communication, for example mobile applcations communicating with a central server, distributed systems coordinaing a telecommunications network, or concurrent systems handling events and processes in a desktop application. However, reasoning about concurrent prgrams 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 prtools. 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.

Access rights

Access: otwarty dostęp
Rights: CC BY 4.0
Attribution 4.0 International

Attribution 4.0 International (CC BY 4.0)