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 four levels are orthogonal to each other. In particular, it is possible to use CASL structured and architecturalspecifications 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.