Multiparty compatibility for concurrent objects
File(s) 1606.05943.pdf (188.13 KB)
Published version
OA Location
Author(s)
Perera, R
Lange, J
Gay, S
Type
Conference Paper
Abstract
Objects and actors are communicating state machines, offering and consuming different services at
different points in their lifecycle. Two complementary challenges arise when programming such
systems. When objects interact, their state machines must be “compatible”, so that services are
requested only when they are available. Dually, when objects refine other objects, their state machines
must be “compliant”, so that services are honoured whenever they are promised.
In this paper we show how the idea of multiparty compatibility from the session types literature
can be applied to both of these problems. We present an untyped language in which concurrent objects
are checked automatically for compatibility and compliance. For simple objects, checking can be
exhaustive and has the feel of a type system. More complex objects can be partially validated via test
cases, leading to a methodology closer to continuous testing. Our proof-of-concept implementation
is limited in some important respects, but demonstrates the potential value of the approach and the
relationship to existing software development practices.
different points in their lifecycle. Two complementary challenges arise when programming such
systems. When objects interact, their state machines must be “compatible”, so that services are
requested only when they are available. Dually, when objects refine other objects, their state machines
must be “compliant”, so that services are honoured whenever they are promised.
In this paper we show how the idea of multiparty compatibility from the session types literature
can be applied to both of these problems. We present an untyped language in which concurrent objects
are checked automatically for compatibility and compliance. For simple objects, checking can be
exhaustive and has the feel of a type system. More complex objects can be partially validated via test
cases, leading to a methodology closer to continuous testing. Our proof-of-concept implementation
is limited in some important respects, but demonstrates the potential value of the approach and the
relationship to existing software development practices.
Date Issued
2016-04-08
Date Acceptance
2016-02-17
Citation
Electronic Proceedings in Theoretical Computer Science, EPTCS, 2016, 211, pp.73-82
ISSN
2075-2180
Publisher
Open Publishing Association
Start Page
73
End Page
82
Journal / Book Title
Electronic Proceedings in Theoretical Computer Science, EPTCS
Volume
211
Copyright Statement
© R. Perera, J. Lange & S. J. Gay. This work is licensed under the Creative Commons Attribution License.
Sponsor
Engineering & Physical Science Research Council (E
Engineering & Physical Science Research Council (E
Grant Number
ERI 025567 (EP/K034413/1)
PO 1553380
Source
International Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software
Publication Status
Published
Start Date
2016-04-08
Coverage Spatial
Eindhoven, The Netherlands
