CASL reference manual the complete documentation of the common algebraic specification language (Springer, 2004)