Developing with the PalCom Toolbox
Once you have downloaded or checked out the PalCom source code, as described on the Download page, you can use the information listed below to get started as a source level developer in the PalCom software toolbox.
We also encourage you to try the demo on the Try It page to get a glimpse of the concepts and implementation of PalCom.
Guides for Developers
A number of documents are available describing how to program with the PalCom Toolbox.
The main documents are
- PalCom Developer's Companion (PDF)
which contains a roadmap to the PalCom software toolbox, descriptions of the programming models, and detailed installation guides.
- PalCom Javadoc
which details the many APIs involved in the software
As noted, the Developer's Companion contains detailed instructions for installation. For a quick installation, you may refer the installation guides directly here in the browser. The following list links to the most important setup files:
Instructions containing a very brief introduction to Subversion, how to get subversion for your machine, and descriptions on how to check out the palcom code repository
Instructions for how to install Eclipse and required plugins
Instructions on how to use Eclipse to do the SVN checkout of the Palcom Repository instead of having to use command
Instructions on how to build the different Eclipse projects involved in the PalCom toolbox.
Instructions on how to set of your environment to use command line tools to build and execute PalCom software. Includes a list of the most commonly used tools.
Instructions on how to install and configure the prerequisite Cygwin tools to be able to source-level develop with PalCom on Windows
Browse the PalCom Subversion Repository
You can browse the source code of the PalCom Toolbox directly in your web browser, simply click on one of the links below
- http://svn.ist-palcom.org/svn/palcom/branches/final/ (version of last EU review)
- http://svn.ist-palcom.org/svn/palcom/trunk/ (version being further developed)
Notice that the code base referred by the second link has been refactored and cleaned up a lot compared to code base referred by the first link. In particular the pal-vm elements have been removed since the review version, since continuation projects did not need it, and did not have resources to maintain it.
A number of tutorials are available from the
directory. These include:
- The Geotagger-tutorial describing the source code and the steps needed to compile, assemble and run the demo example on the try-it! page. This tutorial can be recommended as a second step in learning how to program for palpable computing.
- The TimerService tutorial shows how to code a new service from scratch using a simple count-down timer example.
- The Service and device frameworks tutorial describing some more details of how to interact with the classes of the PalCom Service and Device Frameworks.
- The interoperability tutorial describing how to make classes visible across different programming languages, currently Java and SmallTalk.
- The pal-j tutorial describing the necessary steps when preparing code for the Pal-VM, using the Pal-J compiler as a intermediate tool.
- The nanoX tutorial describing how to make user interfaces for small devices in SmallTalkusing the nanoX framework.
- The palcom smalltalk tutorial describing how to compile smalltalk applications for the Pal-VM
For background information on the PalCom concepts and implementation we further refer
- PalCom Public Deliverables
EU Deliverables demonstrating the development and use of the PalCom ideas. The final deliverables for the project December 2007 include the Open Architecture Specification (Deliverable 54).
- PalCom Publications
Publications produced throughout the project
- PalCom website
Further we encourage you to browse around in the PalCom website, which contains up-to-date information about the project, its background, current activities, and results.
We expect to allow for external developers to be registereeed for commits too in the near future, but in the meantime, please send a mail to
if you have suggestions for changes in the code or the documentation.
If possible, please send your suggestions in the form of the output from a unified diff (diff -u) between your version and the original version.