A development
snapshot (3.00) of CSP-Prover 3.0 with a DFP package
Introduction
We are developing the next version of CSP-Prover. The differences from
the previous version (CSP-Prover2005-2) are summarized as follows:
- the replicated alphabetized parallel was added,
- expressions of recursive processes were refined,
- a DFP (Deadlock Freedom Proofs) package was encoded,
- an example of systolic arrays was given.
where DFP contains definitions, lemmas, and theorems given in [1] for
proving deadlock freedom of networks. And then, it was proven that a
systolic array for matrix multiplication is deadlock free by CSP-Prover
with DFP according to [1], where systolic arrays are parallel
algorithms that typically consist of a large number of similar
processing elements which are interconnected to exchange data where it
is characteristic that (1) interconnections are local only, (2) data
moves at a constant velocity, and (3) each of the elements performs
just a certain part of the computation required to solve the problem.
[1] A.W.Roscoe and N.Dathi, "The pursuit of deadlock
freedom", Information and Computation, Vol.75, No.3, pp.289-327, 1987.
Download
You can download a development snapshot
of the next version of CSP-Prover:
- Source Package: (requires Isabelle2004)
download [CSP-Prover-3.00.tar.gz]
(139KB)
(06/07/2005--)
note: We do not use "year" in
version numbering hereafter.
New version numbers will be given as follow:
1.*, 2.*, 3.*,
4.*, ... : major revision (ver.1 = CSP-Prover2004, ver.2 =
CSP-Prover2005, ver.3 = next version)
3.0, 3.1, 3.2,
3.3, ... : minor revision of ver.3
3.00, 3.01, 3.02, 3.03, ... :
development snapshots of ver.3.0
Test
CSP-Prover with DFP
This version is being developed, and will be modified soon, but you can
test to
prove that a systolic array for matrix multiplication is deadlock free
by CSP-Prover with DFP.
It is assumed that "CSP-Prover-3.00" has been downloaded and has been
unpacked (e.g. tar zxvf CSP-Prover-3.00.tar.gz) to the directory (or
your appropriate directory:
~/tool/CSP-Prover-3.00
The directory CSP-Prover-3.00 has the tree shown in the following
Figure:
CSP-Prover-3.00 ---+--- CSP
(README, theory
map)
|
+--- DFP (README, theory map)
|
+--- Systolic-array (README, theory map)
To prove the deadlock freedom of a systolic array, heap files of CSP
and DFP should be built as follows
(it requires Isabelle(2004)/HOL-Complex):
- make a heap file of CSP by
isatool usedir -b HOL-Complex CSP
at ~/tool/CSP-Prover-3.00/CSP
- make a heap file of DFP by
isatool usedir -b CSP DFP
at ~/tool/CSP-Prover-3.00/DFP
- Execute ProofGeneral (2004) with DFP as follows:
Isabelle -l DFP
at ~/tool/CSP-Prover-3.00/Systolic-array
- Load the theory file "SA_main.thy" by C-x C-f.
- Prove the theorem by C-c C-n until the bottom.
(or Finish the proof by C-c C-b at one step)
If you cannot use ProofGeneral, then you can also start isabelle with
DFP as follows:
isabelle -I DFP
at ~/tool/CSP-Prover-3.00/Systolic-array in a shell window. Then, cut
and past commands from SA_main.thy to the shell window step by step.
Last modified: 11 July 2005
(since 06/07/2005)