alice.luce
Class Automaton

java.lang.Object
  |
  +--alice.luce.User
        |
        +--alice.luce.Agent
              |
              +--alice.luce.Automaton
All Implemented Interfaces:
java.lang.Runnable, java.io.Serializable

public abstract class Automaton
extends Agent
implements java.io.Serializable

Defines a more involved type of LuCe agent (compared to Agent one).

The agent is structured as a finite state automaton. The behaviour of its states is defined writing public methods; the become method is used to go make a transition from state to state, which in this case means from method to method. It's based on continuation-passing style of arranging computation.

TuCSoN automata are spawned using Threads:

the first state (method) executed is always "boot" state (method).

to stop shutdown the automaton the state "end" is provided: