C
asl
– the Common Algebraic Specification
Language
Till Mossakowski
1
, Anne E. Haxthausen
2
, Donald Sannella
3
, and Andrezj
Tarlecki
4
1
DFKI Lab Bremen and University of Bremen, DE28334 Bremen (P.O. Box
330 440) Germany,
[email protected]
2
Department of Informatics and Mathematical Modelling, Technical University of
Denmark, DK2800 Kgs. Lyngby, Denmark,
[email protected]
3
LFCS, School of Informatics, University of Edinburgh, Edinburgh, UK,
[email protected]
4
Institute of Informatics, Warsaw University and Institute of Computer Science,
Polish Academy of Science, Warsaw, Poland,
[email protected]
Summary.
Casl
is an expressive specification language that has been designed to
supersede many existing algebraic specification languages and provide a standard.
Casl
consists of several layers, including basic (unstructured) specifications, struc
tured specifications and architectural specifications; the latter are used to prescribe
the modular structure of implementations.
We describe a simplified version of the
Casl
syntax, semantics and proof calculus
for each of these three layers and state the corresponding soundness and complete
ness theorems. The layers are orthogonal in the sense that the semantics of a given
layer uses that of the previous layer as a “black box”, and similarly for the proof
calculi. In particular, this means that
Casl
can easily be adapted to other logical
systems.
We conclude with a detailed example specification of a warehouse, which serves
to illustrate the application of both
Casl
and the proof calculi for the various layers.
Key words:
Algebraic specification, formal software development, logic, cal
culus, institution
1 Introduction
Algebraic specification
is one of the most extensively developed approaches in
the formalmethods area. The most fundamental assumption underlying alge
braic specification is that programs are modelled as algebraic structures that
include a collection of sets of data values together with functions over those
sets. This level of abstraction is commensurate with the view that the correct
ness of the input/output behaviour of a program takes precedence over all its
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
242
T. Mossakowski, A. Haxthausen, D. Sannella and A. Tarlecki
other properties. Another common element is that specifications of programs
consist mainly of logical
axioms
, usually in a logical system in which equality
has a prominent role, describing the properties that the functions are re
quired to satisfy – often just by their interrelationship. This
propertyoriented
approach is in contrast to
modeloriented
specifications in frameworks such
as VDM [28] which consist of a simple realization of the required behaviour.
However, the theoretical basis of algebraic specification is largely in terms of
constructions on algebraic models, so it is at the same time much more model
oriented than approaches such as those based on type theory (see e.g. [52]),
where the emphasis is almost entirely on syntax and formal systems of rules,
and semantic models are absent or regarded as of secondary importance.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Spring '10
 RidhaKhedri
 Model theory, Proof theory, CASL, Common Algebraic Speciﬁcation, Algebraic Speciﬁcation Language

Click to edit the document details