First International Workshop on Larch

Proceedings of the First International Workshop on Larch, Dedham, Massachusetts, USA, 13–15 July 1992

  • Ursula Martin
  • Jeannette M. Wing

Part of the Workshops in Computing book series (WORKSHOPS COMP.)

Table of contents

  1. Front Matter
    Pages i-viii
  2. Michel Bidoit, Rolf Hennicker
    Pages 18-35
  3. Boutheina Chetali, Pierre Lescanne
    Pages 55-68
  4. Christine Choppy, Michel Bidoit
    Pages 69-85
  5. Urban Engberg, Peter Grønning, Leslie Lamport
    Pages 86-97
  6. Gary Feldman, Joseph Wild
    Pages 98-103
  7. David Guaspari, Carla Marceau, Wolfgang Polak
    Pages 104-141
  8. Gary T. Leavens, Yoonsik Cheon
    Pages 159-184
  9. Niels Mellergaard, Jørgen Staunstrup
    Pages 185-200
  10. James B. Saxe, James J. Horning, John V. Guttag, Stephen J. Garland
    Pages 201-226
  11. E. A. Scott, K. J. Norrie
    Pages 227-245
  12. Mark T. Vandevoorde
    Pages 262-281
  13. Frédéric Voisin
    Pages 282-296
  14. Jeannette M. Wing, Eugene Rollins, Amy Moormann Zaremski
    Pages 297-312
  15. Back Matter
    Pages 313-315

About these proceedings


The papers in this volume were presented at the First International Workshop on Larch, held at MIT Endicott House near Boston on 13-15 July 1992. Larch is a family of formal specification languages and tools, and this workshop was a forum for those who have designed the Larch languages, built tool support for them, particularly the Larch Prover, and used them to specify and reason about software and hardware systems. The Larch Project started in 1980, led by John Guttag at MIT and James Horning, then at Xerox/Palo Alto Research Center and now at Digital Equipment Corporation/Systems Research Center (DEC/SRC). Major applications have included VLSI circuit synthesis, medical device communications, compiler development and concurrent systems based on Lamport's TLA, as well as several applications to classical theorem proving and algebraic specification. Larch supports a two-tiered approach to specifying software and hardware modules. One tier of a specification is wrillen in the Larch Shared Language (LSL). An LSL specification describes mathematical abstractions such as sets, relations, and algebras; its semantics is defined in terms of first-order theories. The second tier is written in a Larch interface language, one designed for a specific programming language. An interface specification describes the effects of individual modules, e.g. state changes, resource allocation, and exceptions; its semantics is defined in terms of first-order predicates over two states, where state is defined in terms of the programming language's notion of state. Thus, LSL is programming language independent; a Larch interface language is programming language dependent.


Ada C++ programming language ML Mathematica Modula-3 design development formal specification language programming programming language semantics software system development verification

Editors and affiliations

  • Ursula Martin
    • 1
  • Jeannette M. Wing
    • 2
  1. 1.Department of Mathematical and Computational SciencesUniversity of St Andrews, North HaughSt Andrews, FifeScotland
  2. 2.School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag London 1993
  • Publisher Name Springer, London
  • eBook Packages Springer Book Archive
  • Print ISBN 978-3-540-19804-8
  • Online ISBN 978-1-4471-3558-6
  • Series Print ISSN 1431-1682
  • Buy this book on publisher's site