kjones@src.dec.com (Kevin Jones) (06/27/91)
A report describing a Larch/Modula-3 interface language is now available
from SRC.
Author: Kevin D. Jones
Title: LM3: a Larch/Modula-3 interface language
Report No: 72
Abstract:
This report describes a Larch interface language (LM3) for the Modula-3
programming language. LM3 is a complete example of a Larch interface
language and addresses areas previously ignored in interface language
definition, such as the specification of non-atomic procedures and
object types.
We give a complete definition of the syntax and illustrate it with some
straightforward examples. We also give translation functions from LM3
specifications to Larch Shared Language traits and show their use for
type checking. Finally, we present example specifications of standard
Modula-3 interfaces.
SRC Reports can be obtained from:
Digital Equipment Corp.,
Systems Research Center,
130 Lytton Avenue,
Palo Alto,
CA 94301
or by sending mail to src-report@src.dec.com
For those unfamiliar with Larch, a potted description:
The Larch Project is developing tools and techniques to aid in
the productive application of formal specifications. A major
component of the project is a family of specification languages.
These languages are used to write specifications that describe
aspects of software components. They are written primarily to provide
precise easy-to-read documentation of interfaces. This documentation
facilitates system design, integration, and maintenance, and
encourages reuse of components.
Each Larch specification has components written in two languages:
one designed for a specific programming language and another common
to all programming languages. We call the former Larch interface
languages, and the latter the Larch Shared Language (LSL).
An interface specification describes the interface that a program
component provides to clients (implementers of programs that use
the component). Each interface specification is built on an auxiliary
specification, which provides a notation that allows one to express
the interface specification succinctly and precisely. An interface
specification is always dependent on the programming language.
Auxiliary specifications are not. (Guttag & Horning)
=================================================================
= Kevin D. Jones =
= =
= Digital Equipment Corporation | E-mail: kjones@src.dec.com =
= Systems Research Center | Phone: (415) 853 2209 =
= 130 Lytton Avenue | =
= Palo Alto | =
= CA 94301 | =
= USA | =
=================================================================