Algebraic Specification: Difference between revisions

From Cibernética Americana
Jump to navigationJump to search
No edit summary
No edit summary
Line 13: Line 13:
==Implementation==
==Implementation==


An algebraic specification achieves these goals by means of defining a number of sorts (data types) together
=== Algebraic specification Formalisms ===
with a collection of functions on them. These functions can usually be divided into two classes:<br />


# constructor functions: these are introduced to create elements of the sort or to construct complex elements from simpler ones.
=== Pure Functional Programming and Specifications ===
# additional functions: these are functions defined in terms of the constructor functions.


If one considers an algebraic specification of the Booleans the constructors can be true and false. In that
=== Place of Specification in the SDLC and Customary vs. Best Practices ===
case all other connectives, such as ^ and _, may be considered to be additional functions. Alternatively,
also the combination of false and ¬ can be considered constructors. In that case true may be considered
an additional function.<br />
 
In the context of the description of state and state change one may think of the sort as the set of possible
states (not necessarily all of them can occur in practice) and one may think of the functions as being useful
for describing the state changes that may occur.<br />


== Researchers ==
== Researchers ==

Revision as of 06:11, 22 July 2009

Algebraic specification [1][2][3] is a specific approach to the formal specification, prototyping, and general development of computer programs.

Overview

As an area of applied mathematics and computer science, algebraic specification addresses these concerns[1]:

    1. design of algebraic specification formalisms;
    2. application of algebraic specification techniques to the definition programming languages;
    3. generation of testable or executable prototypes from specifications.

Although there is also a branch of this topic which is more concentrated on theoretical computer than applications, the latter are the focus of this article.

Implementation

Algebraic specification Formalisms

Pure Functional Programming and Specifications

Place of Specification in the SDLC and Customary vs. Best Practices

Researchers

See also

Notes

  1. 1.0 1.1 Bergstra, J. A.; B. Mahr (1989). Algebraic Specification. Academic Press. ISBN 0-201-41635-2. 
  2. Ehrig, E.; J. Heering, J. Klint (1985). Algebraic Specification. EATCS Monographs on Theoretical Computer Science. 6. Springer-Vrlag. 
  3. Wirsing, M. (1990). J. van Leeuwen (ed.). ed. Algebraic Specification. Handbook of Theoretical Computer Science. B. Elsevier. pp. 675–788.