Book contents
- Frontmatter
- Contents
- List of figures
- List of tables
- Preface
- I Algebraic specification
- 1 Introducing the basic concepts
- 2 Setting up algebraic specifications
- 3 Structuring algebraic specifications
- 4 Implementing algebraic specifications
- II State-based specification
- III Advanced techniques
- Bibliography
- A Syntax
- B Standard library
- Index
1 - Introducing the basic concepts
Published online by Cambridge University Press: 02 November 2009
- Frontmatter
- Contents
- List of figures
- List of tables
- Preface
- I Algebraic specification
- 1 Introducing the basic concepts
- 2 Setting up algebraic specifications
- 3 Structuring algebraic specifications
- 4 Implementing algebraic specifications
- II State-based specification
- III Advanced techniques
- Bibliography
- A Syntax
- B Standard library
- Index
Summary
Introduction
The conception, construction, maintenance and usage of computer-based systems are difficult tasks requiring special care, skills, methods and tools. Program correctness is a serious issue and in addition to that, the size of the programs gives rise to problems of complexity management. Computers are powerful machines which can execute millions of instructions per second and manipulate millions of memory cells. The freedom offered by the machine to its programmer is large; often it is too large, in the sense that the machine does not enforce order and structure upon the programs. Computer-based systems are artificial systems and therefore there are no natural system partitionings and interface definitions. All structure is man-made and all interfaces must be agreed upon and communicated to all parties involved. The description and communication of system structures and interfaces turns out to be a non-trivial task and ‘specification languages’ have become an active area of research and development in computer science. When discussing ‘language’ we must distinguish explicitly between syntactic objects and semantic objects. Wittgenstein has expressed this idea as follows:
Der Satz stellt das Bestehen und Nichtbestehen der Sachverhalte dar,
i.e. the proposition represents the existence or non-existence of certain states of affairs. The propositions are syntactic objects and in this text we shall call them specifications. To describe a state of affairs concerning the natural world and concerning human interaction, natural language is the tool par excellence; to describe a state of affairs concerning computer-based systems, special languages are required in addition to that. The situation is typical: special restricted domains require special languages and this is also the case for the domain of computer-based systems.
- Type
- Chapter
- Information
- Formal Specification and Design , pp. 3 - 32Publisher: Cambridge University PressPrint publication year: 1992