About: Algebraic specification is a research topic. Over the lifetime, 1278 publications have been published within this topic receiving 27876 citations.
TL;DR: This paper gives an algebraic specification that selects, among all solutions to the data exchange problem, a special class of solutions that is called universal and shows that a universal solution has no more and no less data than required for data exchange and that it represents the entire space of possible solutions.
TL;DR: In this paper, it was shown that the initial homomorphism from the initial algebra to the algebras of the specification is not intended to be the "abstraction function", nor its counter part, the "representation function".
Abstract: data type in the sense of Hoare describes the class of admissible representations (or implementations), that a specification should define such a class rather than a single algebra, and that the abstract data type should be identified with the final algebra in this class. This idea, though not intended, gave rise to some confusion and separated those who believed in initial semantics from those who believed in final semantics. The fundamental criticism in the initial algebra approach was the following: the "abstraction-function" should map the representations to the abstract data type (which makes it final), and not the other way around. But it seems that this controversy was purely a misunderstanding (not by Wand himself), since the initial homomorphism from the initial algebra to the algebras of the specification is not intended to be the "abstraction function", nor its counter part, the "representation function". Instead it models the highly desirable property of initial algebras as realizing the specification in a certain "minimal" way, usually expressed by the principles "no confusion" and "no junk". The final algebra semantics of specifications better fits the intentions of algebraic implementations, and of "behavioral abstraction". The latter was introduced already in 1976 by Giarratana, Gimona, and Montanari (see /GGM 76/) and was motivated by the behavior notion of finite automata theory. Final algebra semantics of algebraic specification has been intensively studied by many authors (see /Kl 83/ for an overview) but is not equally unified and developed as initial algebra semantics. Beside the final algebra approach there are data type specification techniques which originate from the theory of recursive equations (see /Lo 81/, /Kl 83/, /BMSi 84/), and which are studied in view of the assertion calculus for program verification, or in respect to evaluation strategies and complexity. It was early discovered that simple algebraic specifications, which consist of listings of sort symbols, operation symbols, and equations, are in their pure f.orm not appropriate for writing down specifications of larger software systems. Roughly speaking, in this regard they correspond to assembly code and not to structured programs of high level languages. This observation gave rise to the development of the specification language CLEAR by Burstall and Goguen (see /BG 77/ and /BG 80/), which is the first specification language conceptually based on algebraic specifications and their semantics. Among others, a concept of parameterized specifications is incorporated for an appropriate structuring of larger specifications and a modular design of software systems. This first algebraic specification language has considerably influenced the development of the theory of algebraic specifications and the design of other specification languages (see the bibliographic notes in the appendix of this volume).
TL;DR: The notion of "certain answers" in indefinite databases for the semantics for query answering in data exchange is adopted and the computational complexity of computing the certain answers in this context is investigated.
Abstract: Data exchange is the problem of taking data structured under a source schema and creating an instance of a target schema that reflects the source data as accurately as possible. In this paper, we address foundational and algorithmic issues related to the semantics of data exchange and to query answering in the context of data exchange. These issues arise because, given a source instance, there may be many target instances that satisfy the constraints of the data exchange problem. We give an algebraic specification that selects, among all solutions to the data exchange problem, a special class of solutions that we call universal. A universal solution has no more and no less data than required for data exchange and it represents the entire space of possible solutions. We then identify fairly general, and practical, conditions that guarantee the existence of a universal solution and yield algorithms to compute a canonical universal solution efficiently. We adopt the notion of "certain answers" in indefinite databases for the semantics for query answering in data exchange. We investigate the computational complexity of computing the certain answers in this context and also study the problem of computing the certain answers of target queries by simply evaluating them on a canonical universal solution.
TL;DR: The aim of this book is to present fundamentals of algebraic specifications with respect to the following three aspects: fundamentals in the sense of a carefully motivated introduction togebraic specifications, which is easy to understand for computer scientists and mathematicians.
Abstract: The aim of this book is to present fundamentals of algebraic specifications with respect to the following three aspects: fundamentals in the sense of a carefully motivated introduction to algebraic specifications, which is easy to understand for computer scientists and mathematicians; fundamentals in the sense of mathematical theories which are the basis for precise definitions, constructions, results, and correctness proofs; and fundamentals in the sense of concepts, which are introduced on a conceptual level and formalized in mathematical terms. The book is equally suitableas a text book for graduate courses and as a reference for researchers and system developers.
TL;DR: The AHEAD (algebraic hierarchical equations for application design) model is presented, that shows how step-wise refinement scales to synthesize multiple programs and multiple noncode representations, and a tool set that supports AHEAD is reviewed.
Abstract: Step-wise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally. We present the AHEAD (algebraic hierarchical equations for application design) model that shows how step-wise refinement scales to synthesize multiple programs and multiple noncode representations. AHEAD shows that software can have an elegant, hierarchical mathematical structure that is expressible as nested sets of equations. We review a tool set that supports AHEAD. As a demonstration of its viability, we have bootstrapped AHEAD tools from equational specifications, refining Java and nonJava artifacts automatically; a task that was accomplished only by ad hoc means previously.