| Page navigation: | Get and run CCSL | Documentation | Anonymous CVS | Future Plans | Contact | Offsite links |
|
|
||||||
| Site navigation: | Version 3 discussion | The LOOP project | My home page | My PhD on CCSL | ||
CCSL is a specification language that combines both algebraic and coalgebraic elements. The CCSL compiler translates CCSL specifications into higher-order logic either for PVS or for for Isabelle/HOL (in new style Isar syntax). After translation the theorem prover can be used to examine the specification, built models, construct refinements, and much more. The specification language CCSL contains the following elements:
The PVS back end of the CCSL compiler has been tested and is considered to be complete. The Isabelle back end works with our testcases but has not been used in a case study.
CCSL has been developed within the LOOP project.
To compile the CCSL compiler you need a recent version of Ocaml. The CCSL compiler should run on any platform supported by Ocaml (I actually tested Debian Linux and SunOS). To make use of CCSL you need a theorem prover for higher-order logic. I highly recomment installing PVS.
The latest (in the meantime outdated) release is version 2.2.6. Download ccsl.tar.gz. Older releases are here.
Jan Rothe,
Bart Jacobs, and
Hendrik Tews,
The Coalgebraic Class Specification
Language CCSL.
Journal of Universal
Computer Science 7(2):175-193.
copy [full-paper.ps.gz]
[full-paper.ps]
[extended-abstract.ps.gz]
[extended-abstract.ps]
Bart Jacobs and
Hendrik Tews,
Assertional and Behavioural Refinement in Coalgebraic
Specification
Section 6 of this paper contains a small case study on a
transaction-commit mechanism in CCSL. The source code is
available at this page.
copy
[a4.ps.gz]
[a4.ps]
[everything.tar.gz]
[everything.tar]
For users who are interested in more frequent updates and the latest development I recomment to install CCSL via remote cvs.
To connect to the CCSL repository for the first time do the following:
cvs -d :pserver:guest@tcs.inf.tu-dresden.de:/usr/local/cvs-ccsl login
(The whole command should be on one line.)
You will be prompted for a password, which is
``guest''.
With some cvs versions this command fails with something like "cvs login: failed to open /home/itt/tews/.cvspass for reading ...". In this case create the the file ~/.cvspass manually with
touch ~/.cvspass
and try again.
cvs -d :pserver:guest@tcs.inf.tu-dresden.de:/usr/local/cvs-ccsl co -r latest-stable Ccslc
(Again, type this on one line. latest-stable
is the cvs tag for the latest stable version. )
If this command fails with "cvs checkout: authorization failed: .... try "cvs login" with a real password", then your cvs version probably wrote a wrong entry into ~/.cvspass. Retry step one (without deleting ~/.cvspass) until ~/.cvspass contains a line like
:pserver:guest@tcs.inf.tu-dresden.de:/usr/local/cvs-ccsl AIbdZ,
Ccsl_Testcases module:
cvs -d :pserver:guest@tcs.inf.tu-dresden.de:/usr/local/cvs-ccsl co -r latest-stable Ccsl_Testcass
cvs update
from time to time in the new directories. This works
because I change the latest-stable tag whenever I
finished some task.
cvs -d :pserver:guest@tcs.inf.tu-dresden.de:/usr/local/cvs-ccsl logout
(Again, type this on one line.)
cd Ccslc
and proceed with step 2 from file INSTALL.
In the long term CCSL will be enriched with generic algebraic specifications. Currently we disscuss syntax and intentional semantics of this extension on this page.
If you have specific questions you can also contact me at tews@tcs.inf.tu-dresden.de.
| Page navigation: | Get and run CCSL | Documentation | Anonymous CVS | Future Plans | Contact | Offsite links |
|
|
||||||
| Site navigation: | Version 3 discussion | The LOOP project | My home page | My PhD on CCSL | ||