The ACT System: Experiences and Future Enhancements

The ACT-system, which comprises an implementation of the algebraic specification language ACT ONE, an Interpreter, a Persistency Checker and a Pretty-Printer, is a specification environment, which is used for the development of specifications for software systems. Here we focus on the environment of the Interpreter, which includes implementations for the concept of object-variables with assignment and the concept of input and output conversion. The former concept is analogous to variables and assignment as known from programming languages while the latter is equivalent to the concept of input- and output-formats of high-level programming languages. It will be shown that this environment greatly enhances the usability of the Interpreter in the ACT-system. Furthermore a new interpretation technique is proposed, which works with arbitrary algebraic specifications. These concepts together allow testing of all algebraic specifications with initial or free functor semantics as well as using them as prototypes of software systems in a convenient way.

[1]  Hartmut Ehrig,et al.  ACT ONE - An Algebraic Specification Language with two Levels of Semantics , 1983, ADT.

[2]  Pierre Lescanne,et al.  Computer experiments with the REVE term rewriting system generator , 1983, POPL '83.

[3]  R. E. A. Mason,et al.  Information Processing 83 , 1984 .

[4]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

[5]  G. Huet,et al.  Equations and rewrite rules: a survey , 1980 .

[6]  Donald Sannella,et al.  Extended ML: An Institution-Independent Framework for Formal Program Development , 1985, ADT.

[7]  Peter Padawitz Parameter Preserving Data Type Specifications , 1985, TAPSOFT, Vol.1.

[8]  Herbert Klaeren,et al.  Efficient Implementation of an Algebraic Specification Language , 1987, Algebraic Methods.

[9]  Peter Padawitz Correctness, completeness, and consistency of equational data type specifications , 1983 .

[10]  Klaus-Peter Hasler,et al.  OSI Transport Service Considered as an Abstract Data Type , 1984, ADT.

[11]  Michel Bidoit,et al.  How to Make Algebraic Specifications More Understandable? , 1987, Algebraic Methods.

[12]  T. Lehmann The specification language of Obscure , 1988 .

[13]  Jeannette M. Wing Writing Larch interface language specifications , 1987, TOPL.

[14]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[15]  James J. Horning,et al.  An Introduction to the Larch Shared Language , 1983, IFIP Congress.

[16]  David R. Musser,et al.  Abstract Data Type Specification in the Affirm System , 1980, IEEE Transactions on Software Engineering.

[17]  Rod M. Burstall,et al.  HOPE: An experimental applicative language , 1980, LISP Conference.