Multiparty Compatibility for Concurrent Objects

Perera, R. , Lange, J. and Gay, S. J. (2016) Multiparty Compatibility for Concurrent Objects. In: Ninth Workshop on Programming Language Approaches to Concurrency- and Communication-cEntric Software (PLACES 2016), Eindhoven, The Netherlands, 8 Apr 2016, (doi: 10.4204/EPTCS.211.8)

[img]
Preview
Text
120273.pdf - Published Version
Available under License Creative Commons Attribution.

195kB

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.

Item Type:Conference Proceedings
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Gay, Professor Simon and Perera, Dr Roland
Authors: Perera, R., Lange, J., and Gay, S. J.
College/School:College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © 2016 The Authors
Publisher Policy:Reproduced under a Creative Commons License

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
612411From Data Types to Session Types - A Basis for Concurrency and Distribution.Simon GayEngineering & Physical Sciences Research Council (EPSRC)EP/K034413/1COM - COMPUTING SCIENCE
614451Exploiting Parallelism through Type Transformations for Hybrid Manycore Systems.Wim VanderbauwhedeEngineering & Physical Sciences Research Council (EPSRC)EP/L00058X/1COM - COMPUTING SCIENCE