CASL for CafeOBJ Users

Casl is an expressive language for the algebraic specification of software requirements, design, and architecture. It has been developed by an open collaborative effort called CoFI (Common Framework Initiative for algebraic specification and development). Casl combines the best features of many previous main-stream algebraic specification languages, and it should provide a focus for future research and development in the use of algebraic techniques, as well facilitating interoperability of existing and future tools. This paper presents Casl for users of the CafeOBJ framework, focusing on the relationship between the two languages. It first considers those constructs of CafeOBJ that have direct counterparts in Casl, and then (briefly) those that do not. It also motivates various Casl constructs that are not provided by CafeOBJ. Finally, it gives a concise overview of Casl, and illustrates how some CafeOBJ specifications may be expressed in Casl.

[1]  Anne Elisabeth Haxthausen,et al.  CASL - The CoFI Algebraic Specification Language (Tentative Design, version 0.95) - Language Summary, with annotations concerning the semantics of constructs , 1997 .

[2]  Zhe Yang,et al.  Reasoning About Code-Generation in Two-Level Languages , 2000 .

[3]  Ivan Damgård,et al.  A Generalisation, a Simplification and Some Applications of Paillier's Probabilistic Public-Key System , 2001, Public Key Cryptography.

[4]  Bernd Grobauer,et al.  The Second Futamura Projection for Type-Directed Partial Evaluation , 1999, PEPM '00.

[5]  Anne Elisabeth Haxthausen,et al.  Extending CASL with Higher-order Functions: Design Proposal , 1998 .

[6]  Hélène Kirchner,et al.  Executing CASL Equational Specifications with the ELAN Rewrite Engine , 1998 .

[7]  Razvan Diaconescu,et al.  Cafeobj Report - The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification , 1998, AMAST Series in Computing.

[8]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[9]  Donald Sannella,et al.  Architectural Specifications in CASL , 2002, Formal Aspects of Computing.

[10]  Marcin Jurdziński,et al.  A Discrete Stratety Improvement Algorithm for Solving Parity Games , 2000 .

[11]  Peter D. Mosses Modularity in Meta-Languages , 2000 .

[12]  Lasse Nielsen,et al.  A Denotational Investigation of Defunctionalization , 2000 .

[13]  Tetsuo Tamai,et al.  CAFE: An Industrial-Strength Algebraic Formal Method , 2000 .

[14]  Peter G. Harrison,et al.  Functional Programming , 1988 .