TacomaOS (The old version)
Introduction
The TacomaOS (TOS) is a lightweight mobile code platform. TacomaOS is implemented
in Java and support mobile entities, called carriers, that are written
in Java. The name carrier is motivated by the intended usage of carrying
software written in any language among computers for installation, execution
or other purposes.
There are two references associated with every carrier, which move along
when the carrier moves. First, the path is an ordered list of
hosts which the carrier will visit. Second, the data is a hashtable
structure where serializable objects can be stored.
Application programmers are supposed to implement subclasses of the
tos.Carrier
class. These subclasses must provide implementations of the method begin
before they can be instantiated. The begin method is the entry
point of the carrier and is executed at every site the carrier visits.
When the begin method returns, the TOS runtime system moves the carrier
according to its path.
Example 1: The "Hello, world" carrier
The example shows a very simple carrier, which only purpose is to display
the message "Hello, world". This carrier does not set or update its path,
it is left to the application launching the Hello carrier (example
2).
public class Hello extends Carrier {
public void begin {
System.out.println("Hello, world");
}
}
Example 2: Launching the "Hello, world" carrier
The example shows how the typical steps involved in launching a carrier
into the network. These steps include instantiating the carrier, setting
its path, launching and error checking. The Shell instance represent
the runtime context of the carrier. After the start method in
the shell has been issued, the carrier is transferred to the first host
in its path, where it is executed.
...
Carrier ca = new Hello();
ca.path.addElement("host0");
ca.path.addElement("host2");
...
Shell sh = new Shell(ca);
sh.start();
sh.join();
if (sh.status() != null)
sh.status().printStackTrace();
...
Publications
Distribution
Kåre Jørgen Lauvset [kaare@cs.uit.no]