Terminal Algebra Semantics and Retractions for Abstract Data Types

@inproceedings{Hornung1980TerminalAS,
  title={Terminal Algebra Semantics and Retractions for Abstract Data Types},
  author={G. Hornung and Peter Raulefs},
  booktitle={ICALP},
  year={1980}
}
Very often, the terminal algebra semantics of an algebraic specification of an abstract data type is more important than the initial algebra semantics. This paper develops a theory of terminal algebra semantics. The notion of terminal (t-) abstract data type is introduced, and it is shown that a t-abstract data type is a terminal object in the categories of terminal models and implementations of an abstract data type specification. Many, but not all notions and properties of initial algebra… 

Initial and Final Algebra Semantics for Data Type Specifications: Two Characterization Theorems

We prove that those data types which may be defined by conditional equation specifications and final algebra semantics are exactly the cosemicomputable data types-those data types which are

An Analysis of Semantic Models for Algebraic Specifications

TLDR
A more concrete semantics encompassing these different approaches to semantic models for data structures, algorithms and programming languages is presented.

Initial and Terminal Algebra Semantics of Parameterized Abstract Data Type Specifications With Inequalities

A generalization of our terminal algebra semantics approach is presented. We then give a uniform initial/terminal semantics of parameterized data type specifications.

Partial abstract types

TLDR
By introducing notions of different homomorphisms particular models of this class can be distinguished as initial or (weakly) terminal, the concept of algebraic specification is extended to specify the semantics of programming languages in a completely abstract algebraic way as it is demonstrated for two toy languages.

A Final Algebra Semantics for Errors and Exceptions

TLDR
As an application it is shown how the result can be applied to yield maximal error propagation preserving error recovery in abstract data types.

On hierarchies of abstract data types

TLDR
This paper provides both model-theoretic and deduction-oriented conditions guaranteeing the soundness of a hierarchical specification, and necessary and sufficient conditions for the existence of initial and terminal models are investigated.

Structured Algebraic Specifications: A Kernel Language

On the Power of Algebraic Specifications

TLDR
It is proved that every computable partial algebra has an equational hidden enrichment specification and the power of hierarchical partial algebras is discussed.

A Kernel Language for Algebraic Specification and Implementation

TLDR
A kernel specification language called ASL is presented and a collection of identities is given which can provide a foundation for the development of programs by transformation.

References

SHOWING 1-10 OF 21 REFERENCES

Initial Algebra Semantics and Continuous Algebras

TLDR
An overview of initial algebra semantics is provided and the major technical feature is an initial continuous algebra which permits unified algebraic treatment of iterative and recursive semantic features in the same framework as more basic operations.

Abstract data types and software validation

TLDR
The major thrust of the paper is shown how the use of algebraic axiomatizations can simplify the process of proving the correctness of an implementation of an abstract data type.

Existential Quantifiers in Abstract Data Types

TLDR
Hierarchies of abstract data types are specified by axioms which are positive formulas consisting of universally and existentially quantified disjunctions and conjunctions of equations to investigate the existence of terminal algebras.

Expressiveness of the operation set of a data abstraction

TLDR
The expressive power of the operation set is characterized by defining two properties for data abstractions - expressive completeness and expressive richness.

The design of data type specifications

TLDR
A means for specifying a data type which is independent of its eventual implementation is explored, called algebraic axioms, which is exhibited by axiomatizing many commonly used data types.

Data Types as Lattices

The meaning of many kinds of expressions in programming languages can be taken as elements of certain spaces of “partial” objects. In this report these spaces are modeled in one universal domain

Programming with abstract data types

TLDR
An approach which allows the set of built-in abstractions to be augmented when the need for a new data abstraction is discovered and is an outgrowth of work on designing a language for structured programming.

CSSA: Language concepts and programming methodology

CSSA (Computing System for Societies of Actors) is an experimental programming language that originated from an attempt to design a language combining various new ideas having evolved from the fields