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.
KeywordsAlgebraic Approach Equational Logic Abstract Data Type Algebraic Specification Initial Algebra
Unable to display preview. Download preview PDF.
- 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
- 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
- H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification 1: Equations and Initial Semantics. Springer-Verlag, 1985.Google Scholar
- J. Fiadeiro and T. Maibaum. Interconnecting formalisms: Supporting modularity, reuse and incrementality. Association for Computing Machinery, 1995.Google Scholar
- 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