Common Algebraic Specification Language
From Wikipedia, the free encyclopedia
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.[1]
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