Formal Specification

  • Gillian Hill
Part of the Advances in Computing Science book series (ACS)


We identify both the mathematical structures and the logic that underpin the main approaches to the formal specification of systems. Our aim is to present a theoretical framework for system specification that is built on precise mathematical foundations. Being faced with the syntactic details of particular specification languages can be confusing for someone who lacks mathematical experience. For this reason we prefer to present the important theoretical concepts that underlie system construction in the familiar notation of logic and mathematics. Once an understanding of these concepts is achieved, the notations that are currently in use can be mastered without difficulty. We see an analogy with the need to understand the fundamental principles of programming before becoming too involved with the fussy, and often confusing, syntactic details of concrete mechanical codes. Understanding is best achieved when an abstract programming language is used.


Algebraic Approach Equational Logic Abstract Data Type Algebraic Specification Initial Algebra 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R. M. Burstall and J. A. Goguen. The semantics of Clear, a specification language. In Abstract Software Specifications, LNCS 86. Springer-Verlag, 1979.Google Scholar
  2. [2]
    E. Brinksma (ed.). Information processing systems-open systems interconnection-LOTOS. a formal description technique based on the temporal ordering of observational behaviour. International Standard, ISO 8807, 1988.Google Scholar
  3. [3]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. Springer-Verlag, 1985.Google Scholar
  4. [4]
    J. Fiadeiro and T. Maibaum. Interconnecting formalisms: Supporting modularity, reuse and incrementality. Association for Computing Machinery, 1995.Google Scholar
  5. [5]
    B. H. Liskov and S. N. Zilles. Programming with abstract data types. In Proc. ACM SIGPLAN Conf. on Very High Level Languages, pages 50–59, April 1974.Google Scholar
  6. [6]
    D. Parnas. A technique for software module specification with examples. Communications of the ACM, 15(5):330–336, May 1972.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Wien 1998

Authors and Affiliations

  • Gillian Hill

There are no affiliations available

Personalised recommendations