Last Update: 07/01/04
Both xklaim compiler and Klava package are under GPL (GNU General Public License)
IMPORTANT: Sometimes Netscape changes the name of the file to be download (it modifies the extension to .tar.tar), so please take a look at the name you save the file with, and be sure to save it with the right name.
The internal details of these frameworks are described in this PhD thesis:
Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations,
Lorenzo Bettini
Tesi di Dottorato, Ciclo XIV, Dottorato in Logica e Informatica Teorica, Dipartimento di Matematica, Universit� di Siena, Febbraio 2003.
If you download the sources of the compiler (this is required under Unix systems, including Linux, but it is optional for Win32 systems, as we provide the binary executable) you'll need:
To use Klava you need
As you might have noticed only free software was used for both Klava and XKlaim. Should you wish to compile the compiler from source you'll need the cygwin compiler ( http://www.cygwin.com ).
Uncompress the xklaim-x.x.x.tar.gz file (where x.x.x is the version) and the directory xklaim-x.x.x will be created:
tar xzvf xklaim-x.x.x.tar.gz
or, if your version of tar does not support -x option:
gunzip xklaim.x.x.x.tar.gz tar xvf xklaim.x.x.x.tar
Now follow these instructions to install xklaim compiler and Klava package
Once you untarred the compiler tar.gz file, a xklaim-x.x.x directory will be created. Here you'll find every file you need to build, and test, the compiler.
This compiler was originally developed under Linux, but it comes with sources so it can be ported it on other Unix systems, and also Win32 systems!
In this new version building the compiler is easier, as it comes with a self-configuring script (you could have seen such scripts in many GNU tools): a configure is provided that will try to find out some configurations needed to build the compiler in your system. This script will create a Makefile, suitable to build the compiler under your system.
The simplest way to compile this package is:
1. 'cd' to the directory containing the compiler source code (xklaim-x.x.x directory) and type
./configure
You may also specify a directory where the executable will be installed (the default is /usr/local/bin); e.g. if you want to install it in your home under the directory myprogs/bin, you have to run configure this way:
./configure --prefix=$HOME/myprogs
Note that you must not specify the bin directory!
This will create a Makefile for your system. If you're using 'csh' on an old version of System V, you might need to type 'sh ./configure' instead to prevent 'csh' from trying to execute 'configure' itself.
Running 'configure' takes awhile. While running, it prints some messages telling which features it is checking for.
2. If everything went fine you should have a brand new Makefile. Type 'make' to compile the package:
make
this will build the compiler hopefully with no error, and the executable (xklaim) will be created in the subdirectory src; now you can copy this program in any directory you like (included in you PATH environment variable), or create a symbolic link (e.g. ln -s /home/foo/xklaim/compiler/xklaim xklaim ). If you want to make the compiler accessible to any user, the best place could be /usr/local/bin. Otherwise you may simply install it by typing:
make install
NOTE: if you haven't specified the --prefixoption while running configure, you'll have to be root to execute the previous command because the program is, by default, installed in /usr/local/bin.
Before running 'make install', you may want to execute the automatic tests:
make check
The xklaim compiler is now installed.
Now you can test the compiler to build some examples from the directory 'examples'
3. You can remove the object files from the source code directory by typing
make clean
Remember: you need at least jdk 1.4.x to use Klava.
The Klava distribution consists of a jar.gz file. You can simply gunzip the jar file and make sure it is in you CLASSPATH. Alternatively, you can unpack the jar file and compile the sources (included in the jar).
In case you want to compile the sources, please remember to compile the included packages in the following order:
X-Klaim and Klava were originally implemented by Lorenzo Bettini in his Master Thesis in Computer Science (April 98): "Progetto e realizzazione di un linguaggio di programmazione per codice mobile" (Design and implementation of a programming language for mobile code). This software has been further extended in his PhD Thesis (Feb. 2003) "Linguistic Constructs for Object-Oriented Mobile Code Programming & their Implementations"