Larch: Languages and Tools for Formal Specification

@inproceedings{Guttag1993LarchLA,
  title={Larch: Languages and Tools for Formal Specification},
  author={John V. Guttag and James J. Horning and Stephen J. Garland and Kevin D. Jones and A. Modet and Jeannette M. Wing},
  booktitle={Texts and Monographs in Computer Science},
  year={1993}
}
This monograph addresses the use of formal specification languages and supporting tools. Concentrating on the Larch specification work taking place at DEC and MIT, it discusses the use of formal specifications in program development and introduces the notation of mathematical logic. 

Reasoning with Executable Specifications

This work formally proves the correctness of two program transformations on a small imperative programming language, given in a single format, that can be compiled into both executable tools and collections of definitions to reason about into a theorem prover.

An Architecture for Interactive Program Provers

The modular architecture of an interactive program prover that is currently developing for a Java subset is described, which discusses the integration of a programming language-specific prover component with a general purpose theorem prover.

Semantic analysis of Larch Interface Specifications

  • Y. Tan
  • Computer Science
    Larch
  • 1992
Claims can be used to debug formal specifications, help readers better understand a formal specification, highlight important features of a software design, support program verification, and help generate test cases.

Reflections on the Design of a Specification language

We reflect on our experiences from work on the design and semantic underpinnings of Extended ML, a specification language which supports the specification and formal development of Standard ML

A Semantics for a Larch/Modula-3 Interface Language

We describe a method for giving a semantics to a Larch interface language specification by a translation of the specification into typed first-order logic. This is illustrated using LM3, a

Testing Implementations of Algebraic Specifications with Design-by-Contract Tools

An approach for testing Java implementations of abstract data types (ADTs) against their specifications is presented, which comprises an ADT specification language that allows automatic generation of monitorable contracts and a refinement language that supports the specification of the details of object-oriented implementations of ADTs.

Essential concepts of algebraic specification and program development

The main ideas underlying work on the model-theoretic foundations of algebraic specification and formal program development are presented in an informal way to offer an overall view and to focus on the basic motivation behind the technicalities presented elsewhere.

Formal semantics of an algorithm for translating model-based specifications to concurrent constraint programs

The semantics of the algorithm for executing formal speci cations written at a high level of abstraction and provides the basis for a soundness proof.

Formal Techniques for Java Programs

This report gives an overview of the second ECOOP Workshop on Formal Techniques for Java Programs. It explains the motivation for such a workshop and summarizes the presentations and discussions.

Reasoning with Executable Speciications

This work formally proves the correctness of two program transformations on a small imperative programming language, given in a single format, that can be compiled into both executable tools and collections of deenitions to reason about into a theorem prover.
...

References

SHOWING 1-10 OF 91 REFERENCES

Semantic analysis of Larch Interface Specifications

  • Y. Tan
  • Computer Science
    Larch
  • 1992
Claims can be used to debug formal specifications, help readers better understand a formal specification, highlight important features of a software design, support program verification, and help generate test cases.

The Semantics of CLEAR, A Specification Language

A blend of denotational semantics with categorical ideas is used for the Clear language for specifying problems and programs, described by Burstall and Goguen in 1977.

A Semantics for a Larch/Modula-3 Interface Language

We describe a method for giving a semantics to a Larch interface language specification by a translation of the specification into typed first-order logic. This is illustrated using LM3, a

The Larch Family of Specification Languages

Larch specifications are two-tiered. Each one has a component written in an algebraic language and another tailored to a programming language.

Optimizing Programs with Partial Specifications

A compilation method that exploits formal specifications to optimize programs that are impossible using techniques based purely on code analysis because formal specifications contain information that cannot be deduced from code.

Synchronization primitives for a multiprocessor: a formal specification

This work presents a way to formally specify interfaces in concurrent systems, gives a formal specification of the synchronization primitives of the Taos operating system, and discusses the implementation of the specification.

Writing Larch interface language specifications

This paper gives an example of writing an interface specification following the two-tiered approach to writing specifications and discusses in detail issues involved in writing interface specifications and their interaction with their Shared Language components.

A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS

This thesis presents an interface specification language for the CLU programming language and presumes the use of the Larch shared language, and suggests a number of kinds of analyses that one might want to perform on two-tiered specifications.

The DECspec project: tools for Larch/C

  • G. FeldmanJoseph Wild
  • Engineering
    [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering
  • 1992
The DECspec project was inaugurated to explore the application of formal methods in a production environment and the Larch formal specification method was selected, with C as the target programming language.

A formal specification of a visual language editor

A non-trivial case study is presented, on the use of the Larch specification languages to describe the Miro visual languages and graphical editor. In addition to excerpts from the specification, the
...