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