CASL User Manual [electronic resource] :Introduction to Using the Common Algebraic Specification Language /
Contributor(s): Bidoit, Michel [editor.] | Mosses, Peter D [editor.] | SpringerLink (Online service).Material type: BookSeries: Lecture Notes in Computer Science: 2900Publisher: Berlin, Heidelberg : Springer Berlin Heidelberg, 2004.Description: XIV, 246 p. online resource.Content type: text Media type: computer Carrier type: online resourceISBN: 9783540443971.Subject(s): Computer science | Software engineering | Programming languages (Electronic computers) | Computer logic | Computer Science | Software Engineering | Programming Languages, Compilers, Interpreters | Logics and Meanings of ProgramsOnline resources: Click here to access online
Background -- 1 Introduction -- 2 Underlying Concepts -- Casl Specifications -- 3 Getting Started -- 4 Partial Functions -- 5 Subsorting -- 6 Structuring Specifications -- 7 Generic Specifications -- 8 Specifying the Architecture of Implementations -- 9 Libraries -- Carrying On -- 10 Foundations -- 11 Tools -- 12 Basic Libraries -- 13 Case Study: The Steam-Boiler Control System -- Appendices -- A Casl Quick Reference -- B Points to Bear in Mind -- C The Steam-Boiler Control Specification Problem.
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.