Skip to main content

1990 | Buch

Fundamentals of Algebraic Specification 2

Module Specifications and Constraints

verfasst von: Prof. Dr. Hartmut Ehrig, Prof. Dr. Bernd Mahr

Verlag: Springer Berlin Heidelberg

Buchreihe : Monographs in Theoretical Computer Science. An EATCS Series

insite
SUCHEN

Über dieses Buch

Since the early seventies concepts of specification have become central in the whole area of computer science. Especially algebraic specification techniques for abstract data types and software systems have gained considerable importance in recent years. They have not only played a central role in the theory of data type specification, but meanwhile have had a remarkable influence on programming language design, system architectures, arid software tools and environments. The fundamentals of algebraic specification lay a basis for teaching, research, and development in all those fields of computer science where algebraic techniques are the subject or are used with advantage on a conceptual level. Such a basis, however, we do not regard to be a synopsis of all the different approaches and achievements but rather a consistently developed theory. Such a theory should mainly emphasize elaboration of basic concepts from one point of view and, in a rigorous way, reach the state of the art in the field. We understand fundamentals in this context as: 1. Fundamentals in the sense of a carefully motivated introduction to algebraic specification, which is understandable for computer scientists and mathematicians. 2. Fundamentals in the sense of mathematical theories which are the basis for precise definitions, constructions, results, and correctness proofs. 3. Fundamentals in the sense of concepts from computer science, which are introduced on a conceptual level and formalized in mathematical terms.

Inhaltsverzeichnis

Frontmatter
Introduction
Abstract
In this second volume on fundamentals of algebraic specification we introduce two important new concepts: module specifications and constraints. These concepts are motivated by problems in practical software development and are studied here from a theoretical point of view.
Hartmut Ehrig, Bernd Mahr
Chapter 1. Informal Introduction to Abstract Modules
Abstract
Modularization is one of the main principles in software development. The main problem is to divide the system to be built and the workload appropriately so that system development becomes rational and manageable. Modules can be seen as the basic building blocks being used for modularization. Most formalisms and languages supporting software design and development contain in one or the other form features for modularization. Modern programming and specification languages all include explicit module concepts. All these concepts follow certain principles and show similar characteristics.
Hartmut Ehrig, Bernd Mahr
Chapter 2. Module Specifications
Abstract
In this chapter we define and study module specifications and their semantics. The notions of module and abstract module as motivated and introduced in chapter 1 will now be the underlying concept in this discussion of syntax and semantics of module specifications. Besides smaller individual examples, this chapter contains the first part of a larger example which shows the use of the concepts introduced for the specification of a modular system (Airport Schedule).
Hartmut Ehrig, Bernd Mahr
Chapter 3. Basic Operations on Module Specifications
Abstract
In chapter 1 we have introduced the concept of modules and modular systems. A specification of a modular system consists of the specification of the corresponding modules and their interconnections. While the specification of single modules was formally defined in chapter 2 we start in this chapter to study their interconnections. Since it is one of our main aims of modular systems that the interconnection of modules yields again a larger module it makes sense to consider each interconnection mechanism as an operation on modules. This means that we have to define operations on module specifications in order to obtain specifications of modular systems.
Hartmut Ehrig, Bernd Mahr
Chapter 4. General Operations on Module Specifications
Abstract
In chapter 3 we have introduced composition, union, and actualization as basic operations on module specifications and studied their properties. In fact, there are several other operations which are useful for construction and interconnection of module specifications. Perhaps some of them are even more basic than the ones we have studied up to now. Actually the choice of suitable basic operations may depend on the specific kind of specification language which is used for particular applications. From the mathematical point of view it might be interesting to find a set of fundamental operations such that all other operations can be constructed from the fundamental ones. Unfortunately, we don’t have such fundamental operations up to now because a general theory of operations on module specifications is not yet available. In the first two sections of this chapter, however, we start with some general notions which might be useful for such a theory.
Hartmut Ehrig, Bernd Mahr
Chapter 5. Refinement, Interface Specifications, and Realization
Abstract
In this chapter we study the concepts refinement, interfaces of module specifications, and realization of interfaces by module specifications.
Hartmut Ehrig, Bernd Mahr
Chapter 6. Development Categories, Simulation, and Transformation
Abstract
This chapter continues the discussion of the previous one in two directions. On one hand we introduce development categories. This categorical concept allows to study different kinds of compatibility results of operations with refinement and realization in a unified framework. On the other hand we want to discuss other kinds of vertical development steps, called simulation and transformation.
Hartmut Ehrig, Bernd Mahr
Chapter 7. Constraints
Abstract
In the first volume and in the previous chapters we have considered only equational specifications. In fact equational specifications and corresponding classes of algebras, called varieties, can be considered as the heart of algebraic specification and universal algebra. They have sound mathematical foundations and a well-developed theory with several applications within mathematics and computer science.
Hartmut Ehrig, Bernd Mahr
Chapter 8. Module Specifications and Operations with Constraints
Abstract
In this section we extend the theory of module specifications presented in chapters 2 to 6 by constraints as introduced in chapter 7. This extension is most important for practical applications because it allows to state the properties of the operations in the interface parts of the module specifications in a much more flexible way. While the theory in chapters 2 to 6 only allows to use equations to state such properties we are now able to use any kind of constraints including first order logical formulas as well as initiality, generating, and free generating constraints.
Hartmut Ehrig, Bernd Mahr
Chapter 9. Abstract Act One and Act Two
Abstract
In this first chapter of the appendix we want to introduce abstract specifications with constraints and corresponding abstract specification languages. Abstract specifications are considered to show that most of the constructions for specifications with equational axioms studied in part 1 and part 2 of this book are, in fact, independent of the kind of signatures and of the kind of axioms.
Hartmut Ehrig, Bernd Mahr
Chapter 10. Summary of Basic Notions
Abstract
In this second chapter of the appendix we want to summarize some basic notions of algebraic specifications and of category theory which are frequently used in the previous chapters of this book.
Hartmut Ehrig, Bernd Mahr
Backmatter
Metadaten
Titel
Fundamentals of Algebraic Specification 2
verfasst von
Prof. Dr. Hartmut Ehrig
Prof. Dr. Bernd Mahr
Copyright-Jahr
1990
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-61284-8
Print ISBN
978-3-642-64776-5
DOI
https://doi.org/10.1007/978-3-642-61284-8