Modula-3 Documentation and Reports

In the Technical Notes section, you can find a collection of reports describing various aspects of CM3-IDE and Modula-3.

Feel free to print these documents or view them on-line. However, please note that these reports are copyrighted material, and are distributed under a license.

Documents are available in the following formats:

PostScript
Acrobat PDF
On-line HTML.


Reactor: A Distributed Application Development System

Critical Mass, Inc.
August 15, 1995

Reactor represents a new generation of technology for building client/server, multi-tiered, and distributed applications. It combines an innovative web-based application development system with a rich and robust distributed infrastructure. This paper outlines the features and benefits of Reactor's high-productivity, distributed application development system.

Note that CM3-IDE is the replacement for Reactor(tm).


Some Useful Modula-3 Interfaces

Jim Horning, Bill Kalsow, Paul McJones, Greg Nelson
Digital Systems Research Center

December 25, 1993
103 pages

This manual describes a collection of interfaces defining abstractions that Modula-3 programmers have found useful over a number of years of experience with Modula-3 and its precursors. We hope the interfaces will be useful as a "starter kit" of abstractions, and as a model for designing and specifying abstractions in Modula-3.


Trestle Tutorial

Mark S. Manasse and Greg Nelson
Digital Systems Research Center

May 1, 1992
70 pages

This is a tutorial introduction to programming with Trestle, a Modula-3 window system toolkit implemented over the X window system, and Win32. It assumes that you have some experience as a user of window systems, but no previous experience programming with X or other window systems.

The tutorial begins with examples of programming using built-in Trestle interactors and continues by showing you how to build your own interactors: both leaf interactors and interactors that contain their own sub-windows and modify their behavior.

The source code presented in the tutorial is available in the package trestletutorial in your distribution.

The first few examples in the tutorial are programs; their source code is reproduced in subdirectories named after that program. The later examples are new classes of interactors. For these, the subdirectories are named after the interactor, and contain both "src" and "test" subdirectories. The "src" directories contain the source code for the interface and implementation of the new interactor, and the "test" directory contains a simple program to exercise the interactor.

(The PostScript file for the Trestle Reference Manual is compressed using GZIP.)


Trestle Reference Manual

Mark S. Manasse and Greg Nelson
Digital Systems Research Center

December 1991

This report is a working definition of Trestle, a Modula-3 window system toolkit implemented over the X window system, and Win32.


Network Objects

Andrew Birrell, Greg Nelson, Susan Owicki, and Edward Wobber
Digital Systems Research Center

February 28, 1994. Revised December 4, 1995
48 pages

A network object is an object whose methods can be invoked over a network. This report describes the design and implementation of a network objects system for Modula-3. The system is novel for its overall simplicity. The report includes a thorough description of realistic marshaling algorithms for network objects, precise informal specifications of the major internal interfaces, preliminary experience, and performance results.


VBTkit Reference Manual: A Toolkit for Trestle

Edited by Marc H. Brown and James R. Meehan
Digital Systems Research Center

Printed on April 26, 1996
142 pages

This manual describes VBTkit, a Modula-3 user interface toolkit based on the Trestle window system toolkit. VBTkit provides a library of widgets and the support software that makes it easy to customize these widgets and to construct more widgets.


The FormsVBT Reference Manual

Marc H. Brown and James R. Meehan
Digital Systems Research Center

Printed on April 26, 1996
202 pages

This report is the working definition of the FormsVBT toolkit. FormsVBT is a system for constructing graphical user interfaces (GUI's) in Modula-3.

(The PostScript file for the Trestle Reference Manual is compressed using GZIP.)


Modula-3 Railroad Diagrams

Bill Kalsow
Digital Systems Research Center

Railroad diagrams are a graphical way of representing the syntax of a programming language. The following railroad diagrams for Modula-3 are available in PostScript format:


(1 page, 11" x 17")

A poster of the complete Modula-3 syntax, including definitions of terminals. This will print on an 11x17 inch sheet if your printer has such a paper tray; otherwise, it will print on a normal-sized page.


(4 pages, 8.5" x 11")

These four pages contain railroad diagrams for the complete Modula-3 grammar, not counting the defintions of the terminals.


(1 page, 8.5" x 11")

This page contains railroad diagrams for the terminals of the Modula-3 grammar such as identifiers, literals, comments, and pragmas.


For more reading material Modula-3, see the Modula-3 Bibliography.