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.
CASL has been designed by CoFI, the Common Framework Initiative, with the aim to subsume many existing specification languages.
CASL comprises four levels:
The four levels are orthogonal to each other. In particular, it is possible to use CASL structured and architectural specifications and libraries with logics other than CASL. For this purpose, the logic has to be formalized as an institution. This feature is also used by the CASL extensions.
Several extensions of CASL have been designed: