Projects per year
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.
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.
Original language | English |
---|---|
Title of host publication | Programming Language Approaches to Concurrency- and Communication-cEntric Software (Places 2016) |
Publisher | EPTCS |
Pages | 73-82 |
Number of pages | 10 |
Volume | 211 |
DOIs | |
Publication status | Published - 20 Jun 2016 |
Event | Programming Language Approaches to Concurrency- and Communication-cEntric Software - Eindhoven, Netherlands Duration: 8 Apr 2016 → 8 Apr 2016 http://places16.by.di.fc.ul.pt/ |
Conference
Conference | Programming Language Approaches to Concurrency- and Communication-cEntric Software |
---|---|
Abbreviated title | PLACES'16 |
Country/Territory | Netherlands |
City | Eindhoven |
Period | 8/04/16 → 8/04/16 |
Internet address |
Fingerprint
Dive into the research topics of 'Multiparty Compatibility for Concurrent Objects'. Together they form a unique fingerprint.Projects
- 1 Finished
-
From Data Types to Session Types - A Basis for Concurrency and Distribution
20/05/13 → 19/11/20
Project: Research