SAJE: System-Aware Java Environment


SAJE (System-Aware Java Environment) is a framework dedicated to the observation of system resources in Java. It makes it possible to reify resources as objects, and provides facilities to observe these resources through the objects that model them.
SAJE thus offers useful functionalities to design and implement adaptive systems or resource monitoring systems for instance.
In the current version of SAJE, the following resources can be observed:

  • processor: model, speed, cache size, etc.
  • memory: total size, available size, etc.
  • swap memory: total size, available size, etc.
  • networking interfaces: type (Loopback, Ethernet, WiFi, PPP, etc.), number of bytes and IP packets sent and received, etc.
  • battery: management type (APM), loading state, lifetime, etc.

We also provide a toolbox including predefined implementations of SAJE’s functionalities. At this time, this toolbox only provides implementations for Linux operating systems. Implementations for Windows and PocketPC operating systems are still under development.

SAJE is designed to be generic, modular, extensible and evolutive. So, new types of resources or new implementations of existing resources types can be added easily.

SAJE is distributed under the GPL license (General Public License).

SAJE is currently used in the Concerto, JAMUS, RAJE and MASC project of the CASA action of the IRISA laboratory.

Main contributors


SAJE version 1.0 :

  • You can download the source code and the documentation of SAJE here.

Note: This version is only available for Linux. It works with Linux kernel 2.4 and more.

SAJE Associated Visualisation Tools


VISAGE is a set of widgets using resource observation functionalities of SAJE to provide a graphical view of the state of system resources. These widgets — written in Pure Java using Sun’s Java Foundation Classes (Swing graphical toolkit) — is designed to be extensible and evolutive.

VISAJE is distributed under the GPL license (General Public License).

Note: VISAGE has been developped during a tutorial project by students in computer science of the Université de Bretagne-Sud. Thanks to the members of this project: Pascal Philippe, Christophe Philippot and Emmanuel Berre.


VISAJE version 1.0 (documentation is in french):

  • You can download the source code and the documentation of VISAJE here.