The Athena Smalltalk


Emergence of embedded devices for mass like cellphones and PDAs made virtual machines ubiquitous in order to cope with the multitude of different hardware and operating systems in use. The Athena System offers a Smalltalk interpreter written in Java intended to be embedded in Java applications and used in resource constrained devices.

Athena comprises a set of tools to use the Smalltalk programming language in an embedded setting. Athena offers a small virtual machine written in Java, a shell, and a set of tools to program Athena from Squeak, an open Smalltalk dialect.

The size of a Smalltalk image may go below 200 kilo-bytes. For dedicated purpose, it might be aggressively stripped down by removing source code, the parser and other classes unnecessary when deployed. The size of the virtual machine is about 100 kilo-bytes. Again, this could be strip down by reducing the set of primitive when deployed.

Interaction and program development may be achieved through several different way:

  • using a shell, pretty much in the same way than with using a Unix-like terminal
  • the source code of a program may be defined in terms of files, in a way similar than Java.
  • the advanced Squeak programming environment may use the Athena interpreter as a placeholder to executed and store program code. Code is executed in Athena instead of in the Squeak image.
  • a remote client may connect to the Athena virtual machine. Code migration is performed through sockets.
  • a graphical user interface enables direct operations in the image.

Athena is a revival of SmallWorld (done by Tim Budd). It extends the VM with scripting facilities and rises the interaction of Java to a decent level.