The University of Southampton
University of Southampton Institutional Repository

MP : an application specific language

MP : an application specific language
MP : an application specific language

This work describes the formal definition and implementation of a new distributed programming language called MP (Message Passer). The syntax, semantics and a prototype implementation of the language are described in detail. The semantics has been expressed in terms of a subset of Hoare's CSP. A number of example programs are also provided in order to illustrate the language in use.

A key concept in MP is the object. Primarily these act as templates from which an arbitrary number of processes may be created. They also promote modular programming. A typical program declares several objects and instantiates them, as necessary, to create a collection of distributed, concurrently executing sequential processes. Objects include a type-secure public binding-interface and a body of sequential code. A binding-interface contains an arbitrary number of typed input and output parameters. Through these, a process may interact with other processes. These interactions are specified by connecting (binding) pairs of input and output parameters. Moreover, this is the only means by which a pair of processes may interact. Indeed, shared variables and message passing are forbidden. By restricting inter-process interactions in this way, the language is able to guarantee specific safety and liveness properties of programs. Furthermore, programs can be constructed in a modular fashion in the knowledge that these safety and liveness properties will always hold.

The programming model supports synchronous and asynchronous programs. Synchronous programs are suitable for applications which exhibit geometric concurrency. However, the main use of the language is with distributed embedded systems. These tend to employ an algorithmic distribution of coarse grained asynchronous processes and MP's asynchronous programming model fits this class of application extremely well.

University of Southampton
Rogers, Mark Charles
Rogers, Mark Charles

Rogers, Mark Charles (1995) MP : an application specific language. University of Southampton, Doctoral Thesis.

Record type: Thesis (Doctoral)

Abstract

This work describes the formal definition and implementation of a new distributed programming language called MP (Message Passer). The syntax, semantics and a prototype implementation of the language are described in detail. The semantics has been expressed in terms of a subset of Hoare's CSP. A number of example programs are also provided in order to illustrate the language in use.

A key concept in MP is the object. Primarily these act as templates from which an arbitrary number of processes may be created. They also promote modular programming. A typical program declares several objects and instantiates them, as necessary, to create a collection of distributed, concurrently executing sequential processes. Objects include a type-secure public binding-interface and a body of sequential code. A binding-interface contains an arbitrary number of typed input and output parameters. Through these, a process may interact with other processes. These interactions are specified by connecting (binding) pairs of input and output parameters. Moreover, this is the only means by which a pair of processes may interact. Indeed, shared variables and message passing are forbidden. By restricting inter-process interactions in this way, the language is able to guarantee specific safety and liveness properties of programs. Furthermore, programs can be constructed in a modular fashion in the knowledge that these safety and liveness properties will always hold.

The programming model supports synchronous and asynchronous programs. Synchronous programs are suitable for applications which exhibit geometric concurrency. However, the main use of the language is with distributed embedded systems. These tend to employ an algorithmic distribution of coarse grained asynchronous processes and MP's asynchronous programming model fits this class of application extremely well.

This record has no associated files available for download.

More information

Published date: 1995

Identifiers

Local EPrints ID: 463013
URI: http://eprints.soton.ac.uk/id/eprint/463013
PURE UUID: e9619cc2-9802-4541-b19f-b61e0e8ea142

Catalogue record

Date deposited: 04 Jul 2022 20:37
Last modified: 04 Jul 2022 20:37

Export record

Contributors

Author: Mark Charles Rogers

Download statistics

Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.

View more statistics

Atom RSS 1.0 RSS 2.0

Contact ePrints Soton: eprints@soton.ac.uk

ePrints Soton supports OAI 2.0 with a base URL of http://eprints.soton.ac.uk/cgi/oai2

This repository has been built using EPrints software, developed at the University of Southampton, but available to everyone to use.

We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we will assume that you are happy to receive cookies on the University of Southampton website.

×