CASL, the Common Algebraic Specification Language, was designed by the members of CoFI, the Common Framework Initiative for algebraic specification and development, and is a general-purpose language for practical use in software development for specifying both requirements and design. CASL is already regarded as a de facto standard, and various sublanguages and extensions are available for specific tasks.
This book illustrates and discusses how to write CASL specifications. The authors first describe the origins, aims and scope of CoFI, and review the main concepts of algebraic specification languages. The main part of the book explains CASL specifications, with chapters on loose, generated and free specifications, partial functions, sub- and supersorts, structuring specifications, genericity and reusability, architectural specifications, and version control. The final chapters deal with tool support and libraries, and present a realistic case study involving the standard benchmark for comparing specification frameworks. The book is aimed at software researchers and professionals, and follows a tutorial style with highlighted points, illustrative examples, and a full specification and library index.
A separate, complementary LNCS volume contains the CASL Reference Manual.