Data Abstraction Transformations.
Abstract:
A data abstraction is a collection of sets together with a collection of operations. Methods exist for specifying and for implementing data abstractions. The central question for any particular example is whether the semantics of each of these two methods corresponds with the intended abstraction. An algebraic comparison of data abstraction specifications and implementations is presented. It is shown that the specified and implemented abstractions always overlap and have a common lattice structure that is valuable in understanding the modification of code and specification. A new specification technique, table specification, is proposed that emphasizes the underlying congruence-class structure of data abstractions. Algorithms to transform tables are defined. Author