Data Type Specification: Parameterization and the Power of Specification Techniques

This paper extends our earlier work on abstract data types by providing an algebraic treatment of parametrized data types (e.g., sets-of-(), stacks-of-(), etc.), as well as answering a number of questions on the power and limitations of algebraic specification techniques. In brief: we investigate the “hidden function” problem (the need to include operations in specifications which we want to be hidden from the user); we prove that conditional specifications are inherently more powerful than equational specifications; we show that parameterized specifications must contain “side conditions” (e.g., that finite-sets-of-d requires an equality predicate on d), and we compare the power of the algebraic approach taken here with the more categorical approach of Lehman and Smyth.

[1]  James H. Morris,et al.  Types are not sets , 1973, POPL.

[2]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[3]  Ellis Horowitz,et al.  Fundamentals of Data Structures , 1984 .

[4]  Daniel J. Lehmann,et al.  Data types , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[5]  Ellis Horowitz,et al.  The design of data type specifications , 1976, ICSE '76.

[6]  D. Brand,et al.  A note on data abstractions , 1978, SIGP.

[7]  Ellis Horowitz,et al.  Some extensions to algebraic specifications , 1977 .

[8]  Seymour Ginsburg,et al.  The mathematical theory of context free languages , 1966 .

[9]  Mila E. Majster,et al.  Data types, abstract data types and their specification problem , 1979 .

[10]  Marvin Minsky,et al.  Computation : finite and infinite machines , 2016 .

[11]  Joseph A. Goguen,et al.  Abstract Errors for Abstract Data Types , 1977, Formal Description of Programming Concepts.

[12]  John V. Guttag Abstract data types and the development of data structures , 1976, SIGMOD 1976.

[13]  Ellis Horowitz,et al.  Abstract data types and software validation , 1978, CACM.

[14]  Alfred Tarski,et al.  Equational Logic and Equational Theories of Algebras , 1968 .

[15]  Hartmut Ehrig,et al.  Stepwise Specification and Implementation of Abstract Data Types , 1978, ICALP.

[16]  John V. Guttag,et al.  The specification and application to programming of abstract data types. , 1975 .

[17]  James W. Thatcher,et al.  A Uniform Approach to Inductive Posets and Inductive Closure , 1977, Theor. Comput. Sci..

[18]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.