Abstract : Trace specifications have some desirable properties that most specifications lack: the are abstract, so they need not impose unnecessary constraints on the implementor; and they are formal, so they can be understood unambiguously and can be rigorously tested for consistency, totalness, and correctness of implementation. Nevertheless, understanding trace specifications and translating them to computer programs are significant tasks. This report documents experiments in translating trace specifications to Prolog so that they can be executed directly. The seclection of Prolog over other possible languages is discussed, and several example specifications and their translations are presented. Some generally useful Prolog predicates are gleaned from these examples, and difficulties encountered in performing the translations are described. On the way, an implementation-free semantics for a subset of Prolog is given. The report concludes with a discussion of possibilities for mechanically translating trace specifications to Prolog. Keywords: Logic programming. (Author)
[1]
John Wylie Lloyd,et al.
Foundations of Logic Programming
,
1987,
Symbolic Computation.
[2]
John McLean,et al.
A Formal Method for the Abstract Specification of Software
,
1984,
JACM.
[3]
William F. Clocksin,et al.
Programming in Prolog
,
1981,
Springer Berlin Heidelberg.
[4]
Ralph E. Griswold,et al.
The SNOBOL 4 programming language
,
1968
.
[5]
Ralph E. Griswold,et al.
The Icon programming language
,
1983
.
[6]
John A. Allen,et al.
The anatomy of lisp
,
1980
.
[7]
Richard E. Grandy.
Advanced Logic for Applications
,
1977
.
[8]
Murray Hill,et al.
Yacc: Yet Another Compiler-Compiler
,
1978
.