Wikipedia / Common Algebraic Specification Language
Wikipedia / Common Algebraic Specification Language
The Common Algebraic Specification Language (CASL) is a general-purpose specification language based on first-order logic with induction. Partial functions and subsorting are also supported.
Overview
Designed by the Common Framework Initiative (CoFI), with the aim to subsume existing specification languages, and is implemented in four orthogonal levels:
basic specifications : for the specification of single software modules,
structured specifications : for the modular specification of modules,
architectural specifications : for the prescription of the structure of implementations,
specification libraries : for storing specifications distributed over the Internet.
The structural, architectural, and algebraic specification infrastructure can be extended beyond CASL. For this purpose, it has been formalized as a logical institution.
Extensions
Several extensions of CASL have been designed:
HasCASL, a higher-order extension
CoCASL, a coalgebraic extension
CspCASL, a concurrent extension based on CSP
ModalCASL, a modal logic extension
CASL-LTL, a temporal logic extension
HetCASL, an extension for heterogeneous specification