next up previous
Next: 1.8.1 Main.java Up: 1 配列 Previous: 1.7 プログラム引数

1.8 Subsumption2 サンプル

Lejosのexampleプログラムとして Subsumption2というプログラムを紹介する. ここでは,wait(), notifyAll()メソッドが用いられている. クラス構造は以下のようになっている.

public class Main
    void main (String[] arg)
    static Action[] getWanderFSM()
    static Action[] getAvoidLeftFSM()
    static Action[] getAvoidRightFSM()
    public static void runIt()

interface Action
    public static final int END = -1;
    public static final int START = 0;
    public int act();
    public int nextState();

class Actuator extends Thread 
    public Actuator(Action[] actions)
    public void run()
    public void execute()

abstract class Sense
    extends Thread
    implements SensorListener, SensorConstants

    Sense(Actuator actuator)
    public void stateChanged(Sensor bumper,
                             int oldValue,
                             int newValue)
    public void setPri(int priority)
    public void runIt()

class SenseBumper extends Sense
    SenseBumper(Sensor bumper,
                Actuator actuator)
    public void run()

class SenseNoOwner extends Sense
    public SenseNoOwner(Actuator actuator)
    public void run()




generated through LaTeX2HTML. M.Inaba 平成18年5月7日