PIRATES Project

Méthodes et Outils pour la Programmation Répartie Transparente et Sûre

(Methods and Tools for Dependable Transparent Distributed Programming)

Convention 9713540 de la Région Wallonne

Peter Van Roy
Department of Computing Science and Engineering
Université catholique de Louvain

In collaboration with:

Project members

The Mozart Programming System

Mozart announcement and comparison with Java platform

Vision and current status

Distribution is a major problem in computer science today. The goal of PIRATES is to provide a platform for general-purpose application development that will let us program networks of computers as easily as single computers. The major research issues to be resolved are network transparency, network awareness, fault tolerance, security, and resource management. Other important issues are openness and network scalability.

First results of PIRATES are the release of the Mozart Programming System and the TransDraw collaborative graphic editor. The current Mozart release provides complete network transparency and network awareness, first-class software components, and basic primitives for fault tolerance and open computing. It implements a conservative extension to Oz 2, a concurrent object-oriented language that is state-aware and has dataflow synchronization. In Mozart, all network operations are invoked implicitly by the system as an incidental result of using particular language constructs. Extending the implementation of these constructs to a distributed setting is practical because Oz 2 has a simple formal semantics.

In the current release, writing applications is done in four parts, more or less according to the following schema. The first two parts are fully implemented and trivial to use for the application developer; the last two are ongoing research and currently require a bit more thought, although the basic primitives exist. Future releases will provide more functionality that is easier to use, and will include security.

The goal is to concentrate most of an application's development effort in realizing just its functionality. The other characteristics (geographical distribution, fault tolerance, etc.) are realized by adding small specifications that are almost independent of the functionality. This goal is currently fully realized for distribution and openness, and is well on its way to be realized for fault tolerance.

Project proposal

Papers and talks

For more Mozart-related papers see the Mozart publications page. For more Oz-related papers see the Programming Systems Lab publications page at the University of Saarbrucken.

Related reading


Copyright 1997-9 Peter Van Roy. All rights reserved.