[comp.specification] Report on Larch/Modula-3 interface language available

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                             |                             =
=================================================================