LARCH A Brief History of Larch

These notes are condensed from the preface of the Larch book: Larch: Languages and Tools for Formal Specification.

This project has been a long time in the growing. The seed was planted by Steve Zilles on October 3, 1973. During a programming language workshop organized by Barbara Liskov, he presented three simple equations relating operations on sets, and argued that anything that could reasonably be called a set would satisfy these axioms, and that anything that satisfied these axioms could reasonably be called a set. John Guttag developed this idea. In his 1975 Ph.D. thesis (University of Toronto), he showed that all computable functions over an abstract data type could be defined algebraically using equations of a simple form. He also considered the question of when such a specification constituted an adequate definition.

As early as 1974, we realized that a purely algebraic approach to specification was unlikely to be practical. At that time, we proposed a combination of algebraic and operational specifications which we referred to as "dyadic specification." By 1980 we had evolved the essence of the two-tiered style of specification; the term "two-tiered" was introduced by Jeannette Wing in her 1983 Ph.D. thesis (MIT). A description of an early version of the Larch Shared Language was published in 1983. The first reasonably comprehensive description of Larch was published in 1985. But many readers complained that Larch in Five Easy Pieces should have been called Larch in Five Pieces of Varying Difficulty.

In the spring of 1990 software tools supporting Larch were becoming available, and we began using them to check and reason about specifications. We decided that it was time to make information on Larch more widely available. We originally thought of an anthology of existing papers, but the editors we contacted urged us to provide a more coherent and integrated presentation of the material. The resulting book appeared in 1993.

The First International Workshop on Larch, organized by Ursula Martin and Jeannette Wing, was held in Dedham, Massachusetts, July 13-15, 1992, and the proceedings were published in 1993.

Several organizations played an important role in the development of Larch by providing the funding that has kept the project alive for so long. DARPA (now ARPA), NSF, Digital Equipment Corporation, and Xerox were all valued patrons. We owe a special debt to Bob Taylor, who has been a consistent supporter and friend.


Jim Horning has written a paper, ``The Larch Shared Language: Some Open Problems,'' in Recent Trends in Data Type Specification, a collection of selected papers from the 11th Workshop on Specification of Abstract Data Types held in Oslo, Norway, in Sepember 1995. Slides from his talk are also available.

Back to Larch home page