| ## 2 Underlying Concepts Michel Bidoit1 and Peter D. Mosses2 1 Laboratoire Spécification et Vérification, CNRS UMR 8643 École Normale Supérieure de Cachan 61, Avenue du Président Wilson, 94235 Cachan Cedex, France `bidoit@lsv.ens-cachan.fr` 2 University of Aarhus, BRICS and Department of Computer Science Aabogade 34, 8200 Aarhus N, Denmark `pdmosses@brics.dk` Abstract. CASL is based on standard concepts of algebraic specification. This chapter reviews the main concepts of algebraic specification. It briefly explains and illustrates standard terminology regarding specification language constructs and models of specifications (i.e., algebras), and indicates the differences between basic, structured, and architectural specifications. The focus here is on concepts that are relevant to CASL, and which will be needed in later chapters. For comprehensive presentations of concepts and results concerning algebraic specification, see [3, 10, 16, 27, 34, 35, 37]; for an overview of the design of CASL, see [2]; and for full details of CASL, see the CASL Reference Manual [20]. The reader is assumed to be familiar with basic mathematical notions (sets, relations, and total and partial functions) and with the use of logical formulas as axioms. LNCS 2900, pp. 11 - 20 Full article in PDF lncs@springer.de © Springer-Verlag Berlin Heidelberg 2004