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
References
- ^ Egidio Astesiano; Michel Bidoit; Hélène Kirchner; Bernd Krieg-Brückner; Peter D. Mosses; Donald Sannella; Andrzej Tarlecki (2002). “CASL: The common algebraic specification language”. Theoretical Computer Science. 286 (2). Elsevier BV: 153–196. doi:10.1016/S0304-3975(01)00368-1.
External links
- Official CoFI website at the Wayback Machine (archived 2006-08-21)
- CASL at the Wayback Machine (archived 2022-02-01)
- The heterogeneous tool set Hets, the main analysis tool for CASL at the Wayback Machine (archived 2016-04-12)