2008 Volume 25 Issue 2 Pages 2_14-2_27
CafeOBJ algebraic specification language features flexible mix-fix syntax, powerful typing system with sub-types, and sophisticated module composition system featuring various kinds of imports, parameterised modules, views for instantiating the parameters, etc. CafeOBJ specifications denote algebras. The algebra is a universal modeling framework including useful models like abstract data types and abstract machines, and allows us to describe and verify formal specifications in a unified framework. In this paper, the syntax and semantics of CafeOBJ algebraic specification language are explained. The use of CafeOBJ processor also is explained briefly by examples of parsing, executing, and verifying specification.