An overview of Regis
Regis
The Distributed System
Regis is a programming environment for constructing distributed
programs and systems which has been under development by members of
the DSE section since late 1993. It stems from experience gained in
the earlier Conic and REX projects. It is used primarily as a teaching
system for undergraduates and an implementation testbed by postgraduate
students.
Characteristics of the Regis approach are:
- Structural aspects of distributed programs are orthogonal to
algorithmic concerns and are expressed in a configuration language.
- Programmers are not be constrained to use RPC for interaction
between entities. It should be possible (and easy) for them to create
their own communication classes to express the style of interaction
most natural for the problem at hand.
- Transport protocols are orthogonal to interaction styles.
Programmers can use whatever transport layer is available and
configure it to achieve the desired QoS.
Ports of the system exist for:
- Sparcs and Sun-3s running SunOS (4.1) or Solaris (2.4).
- HP 9000s running HP-UX (9.03).
- PC compatibles running Linux or NetBSD.
The reference target is currently a Sparc running SunOS 4.1.3. Other
target ports may drift out of date with respect to this one depending on
usage.
Relevant publications
Jeff Magee, Naranker Dulay and Jeff Kramer.
A Constructive
Development Environment for Parallel and Distributed Programs.
In IEE/IOP/BCS Distributed Systems Engineering, 1(5): 304-312, Sept 1994.
Stephen Crane and
Kevin Twidle.
Constructing Distributed Unix Utilities in Regis.
In Proceedings of the International
Workshop on Configurable Distributed Systems, Pittsburgh, March 1994.
Stephen Crane, Jeff Magee and Nat Pryce.
Design Patterns for Binding in Distributed Systems.
Presented at the Workshop on Design Patterns for Concurrent, Parallel
and Distributed Object-Oriented Systems at OOPSLA '95.
Nat Pryce and Stephen Crane.
A Uniform Approach to Communication and Configuration in Distributed
Systems.
In Proceedings of the Third
International Conference on Configurable Distributed Systems,
Annapolis, May 1996.
Other interesting publications and slides.
Applications
Our active-badge location service was built using Regis. Use it to
find out where we were last.
Thierry Cattel has used Regis
to implement a
Production
Cell Simulator.
Source material
The ftp archive contains:
- The latest version of the source code for the system.
- Documentation for the system and the configuration language.
- Source code for our active badge system.
- Source code for a collection of `canonical' examples.
This material is provided as-is and is not for commercial use.
At this time the Regis code is unsupported.
Here are answers to some
Frequently-Asked Questions.
Related Resources
The system is currently being re-implemented in order to support research
in current areas of interest. Here are some research directions.
This page is maintained by
Stephen Crane
(jsc@doc.ic.ac.uk).
Last update: 20 June 1997.
[ Distributed Software Engineering ]