Rogers, Mark Charles (1995) MP : an application specific language. University of Southampton, Doctoral Thesis.
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
Identifiers
Catalogue record
Export record
Contributors
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.