The Third Modula-3 User Group Meeting

OOPSLA'94, Portland, Oregon. Report by Farshad Nayeri.


The third Modula-3 User Group meeting was a success thanks to the participants and presenters! In the short time of two hours, six presenters talked about their experiences with Modula-3 and what they are doing with it. The attendance was solid (20-30 people), given our limited public announcement and the timing of the event.

Although there was no discussion section during the meeting itself, some of the participants joined us at a round-table discussion of Modula-3 and its needs before it can become a popular programming platform.


Presentations

Geoff Wyant, Sun Microsystems Laboratories, geoff.wyant@sun.com

Modula-3 at Sun Microsystems Laboratories

The Vantage Project at Sun Microsystems Laboratories is investigating structuring and reliability mechanisms for very large distributed object systems. Modula-3 is the principal implementation language for the project. The project has built several protocols on top of Modula-3 Network Objects, and is building some tools for programming with Network Objects, among which are IDLNO, an OMG translator for Modula-3 Network Objects, and CM3, a tool for easy integration of C clients of Modula-3 libraries.(See Geoff's slides.)

Luca Cardelli, Digital Systems Research Center, luca@src.dec.com

Obliq and Visual Obliq

Obliq is a lexically-scoped untyped interpreted language that supports distributed object-oriented computation. An Obliq computation may involve multiple threads of control within an address space, multiple address spaces on a machine, heterogeneous machines over a local network, and multiple networks over the Internet. Obliq objects have state and are local to a site. Obliq computations can roam over the network, while maintaining network connections. (See the Obliq Quick Start, or Luca's slides [suitable for Mac-compatible laser printers])

Luca also gave some hints about M3/Lite, the small foot-print version of Modula-3 to run on PCs running Chicago. As we all know by now, Bill Kalsow is in the process of releasing version 3.4 as a step towards M3/Lite. Luca also said a couple of words about Juno-2, Greg Nelson's constraint-based drawing package will be released sometime soon.

Eliot Moss, University of Massachusetts at Amherst, moss@cs.umass.edu

History and status of UMass work on Modula-3 compilers

Object Systems Laboratory of UMass at Amherst have been working on various aspects of Modula-3 implementations, including support for advanced garbage collection and persistence mechanisms for several years. Eliot gave an informal presentation about what some of his students are working on for providing optimization and persistence support for Modula-3.

Steve Freeman, Xerox Grenoble, France, steve.freeman@xerox.fr

Adding video capabilities to Trestle/Modula-3

VideoVBT is the integration of digital video into Trestle, an object-oriented user interface toolkit written in Modula-3. The display of video frames is managed within the application process using, where possible, shared memory to transmit images to the window system. VideoVBT takes advantage of Modula-3's type system, lightweight threads and garbage collection to develop a flexible architecture that supports the reuse of image data within an application; the object-oriented features of Modula-3 we found most useful were inheritance, partial revelations, and encapsulation. VideoVBT is also integrated into several higher-level tools, such as FormsVBT (a user interface management system) and Obliq (a distributed scripting language; see above) which allow us to dynamically experiment with video applications. (See the ECOOP'94 paper.)

Mike Spreitzer, Xerox Palo Alto Research Center, mike_spreitzer.parc@xerox.com

Inter-Language Unification

ILU (pronounced eye'-loo) is a system that promotes software interoperability via interfaces. Interfaces between what? Whatever units of program structure are desired. They could be parts of one process, all written in the same language; they could be parts written in different languages, sharing runtime support in one memory image; they could be parts running in different memory images on different machines. ILU supports a variety of languages, including Modula-3. (See Mike's slides, or the ILU Home Page.)

Farshad Nayeri, Critical Mass, farshad@cmass.com

Building a prototype distributed object systems using Modula-3

The Distributed Object Management project at GTE Laboratories has been using Modula-3 as their main programming language for their DOM-3 prototype for more than two years, which allowed for features similar to ILU and Obliq (See above). We have found the Modula-3 language and the libraries to be a great boost in our development. More recently we developed idlm3, an OMG IDL translator for Modula-3. (See ECOOP'94 paper for a description of DOM-3.)


Discussions

Due to lack of time we didn't get to have much of a public discussion during the meeting. However, several of the participants did end up at a round-table to discuss the future of Modula-3. Issues discussed include:

What Is Modula-3?

Modula-3 is a modular programming language; while preserving a safe type system, Modula-3 provides facilities for exception handling, concurrency, object-oriented programming, automatic garbage collection, and systems programming, making it both a practical implementation language for large software projects and an excellent teaching language. An implementation of Modula-3 is available freely from Digital Equipment Corporation's Systems Research Center.

For more information, see the Modula-3 Home Page .


Miscellaneous Information


Next Meeting

The next Modula-3 Users Group Meeting was held at OOPSLA '95 in Austin, Texas.

Last modified on Tue Jun 11 09:16:27 PDT 1996 by heydon
Copyright (C) 1992, 1996, Digital Equipment Corporation. All rights reserved.
See the COPYRIGHT for a full description.