| | |
Summary: Equational Specifications: Design, Implementation, and Reasoning \Lambda
S. Antoy, 1 P. Forcheri, 2 J. Gannon, 3 and M. T. Molfino 2
1 Department of Computer Science
Portland State University
Portland, Oregon.
2 Istituto per la Matematica Applicata
Consiglio Nazionale delle Ricerche
Genova, Italy.
3 Department of Computer Science
University of Maryland
College Park, Maryland.
Abstract
Sets of equations can be used to specify, implement, and reason about software. We
discuss how to automate these tasks for constructorbased, convergent rewrite sys
tems. Using incremental design strategies, we obtain completely defined, consistent,
and sufficiently complete specifications. Direct implementations of specifications as
term rewriting systems serve as software prototypes of systems. We use prototypes
to determine that specifications are consistent with our intuitive expectations dur
ing design and with more efficient implementations during testing. We describe an
automated tool for reasoning about both the properties a specification and the cor
|