Agile logo EU-IST logo

Klava & X-Klaim

Download X-Klaim and Klava

Last Update: 07/01/04

Version 2 (beta 8)

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.

What you need to use xklaim and Klava

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 ( ).


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

Compiling & Installing xklaim compiler

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


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:


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

Installing Klava package

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:

  1. The mobility package (directory org\mikado\imc\mobility)
  2. The MoMi package (directory momi)
  3. The Klava package (directory Klava)

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"

Part of Tools
Hubert Baumeister (
April 29, 2005