User:Leland McInnes/Draft Algebraic Specification
Algebraic specification is a form of system specification that models systems using many sorted universal algebras.
Mathematics
[edit]Algebraic specification uses universal algebra over many-sorted sets. This acts as a form of typing. Given a set of sorts, an -sorted set is a family of sets
of sets indexed by the elements of . That is, X is a family of sets for each such that all the elements of the set are "of sort ". The usual set operations of union, intersection, disjoint union and cartesian product, as well as relations of inclusion and equality can be naturally extended to -sorted sets.
We can define -sorted -ary operations on an -sorted set, providing we define which sorts the operation acts on. We say a -sorted operation
when the th argument of must be of sort and the result sort must be .
An -sorted universal algebra is then a -sorted set X, together with a set of -sorted -ary operations, where and may be different for different operations.
Examples
[edit]Algebraic Specification Languages
[edit]- CASL and extensions.
- The Larch family of languages.
- OBJ3 and CafeOBJ