|
PaLM installation
PaLM is distributed under a specific license as a zip archive. To
begin download just click on the following link:
download PaLMv1.324.zip [75 Kb]
- First, you need to install claire, choco and iceberg
properly. PaLM v1.324 works with claire v3.2.52
(available here at www.choco-constraints.net), choco v1.324
(available here at www.choco-constraints.net) and iceberg v0.5 (available here at www.choco-constraints.net).
- A sound directory organization consists in having the following
files in a
XXX directory (eg. XXX
could be c:/devClaire3/PaLM)
init.cl (claire configuration file)
install.txt (installation notes)
readme.txt (a table of contents of the PaLM library)
release.txt (a release history of PaLM)
license.txt (the PaLM License)
v1.324/ (the place for the Claire sources of PaLM)
p-model.cl : the object-oriented basis and global tools
p-domain.cl : handling lazy enumerated domains
p-explain.cl : explanation related tools and interface
p-variables.cl : variable definitions for PALM
p-constraints.cl : arithmetic constraint definitions for PALM
p-ac4.cl : constraints in extension à la AC4
p-symbolic.cl : some symbolic constraints for PALM
p-bool.cl : handling boolean connectors as constraints
p-solve.cl : solving problems in e-constraints
palmapi.cl : application programmer interface (public methods)
p-namespace.cl : transparent connection with choco and ice
v1.324/obj/ (the place to put all generated C++ files, empty for the moment)
doc/ (the place for all documentation)
tutorial-1.cl : code examples for first steps
tutorial-2.cl : code examples for search
(an online documentation is available here)
| |
- You must edit the Claire configuration file
(
init.cl) and change the directory on the line defining the PaLM module. Replace:
ChocoInstallationDir:string := "." // do set the variable !!
IceInstallationDir:string := "." // do set the variable !!
PalmInstallationDir: string := "." // do set the variable !!
by
ChocoInstallationDir:string := XXXX // do set the variable !!
IceInstallationDir:string := XXXX // do set the variable !!
PalmInstallationDir: string := XXXX // do set the variable !!
(use the absolute path for the real name of YYY and
ZZZ, using / as a file separator)
- Run Claire from the
XXX directory with the following
shell command
claire -s 4 4 -m palm
you get the interpreter prompt and you can now run PaLM programs
palm>
Before writing your own PaLM programs, you should test PaLM by launching the palmtest module :
claire -s 4 4 -m palmtest
and once in the interpreter launching : allPalmTests().
The whole set of test should pass with a "true" indication.
From there, you can type-in your own programs.
- In order to have a faster PaLM interpreter (which is much nicer for larger problems), you should compile the library.
In order to do so, type at the shell prompt (this instruction supposes that you already have compiled
choco with the
claire/EXTENDABLE_CHOCO:boolean variable - in model.cl - set to true) and iceberg.
claire -s 4 4 -cm palm
You are compiling the Claire module to C++. This should produce a run-time program containing all the PaLM primitives
linked with a Claire interpreter.
If you want to test the compiled version of PaLM, you should compile palmtest :
claire -s 4 4 -cm palmtest
and launch palmtest before launching : allPalmTests().
|