Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## madkit.kernel
Interface Controller

All Known Implementing Classes:
  BeanShellController, DefaultController, JessController, LanguageController, PythonController

    public interface Controller

A controller, as it name implies, controls the behavior of an agent. A controller is an abstraction of the internal architecture of an agent. It is possible to describe the general capabilities (skills of an agent) and try different controllers for this agent.

It is also handy for integrating new scripting languages into madkit and makes those scripting language work for "synchronous" as well as "asynchronous" agents. See the integration of the Jess (rule based system) and kawa (scheme) agents.

Warning: you may "plug" a behavior into an agent at creation time as follows:

     class myAgent extends .... {
          myAgent(){
              setController(new MyController());
          }
     }

Madkit project (C) 1998-2002 Madkit Team Copyright : Copyright (c) 2001

Author:
  O. Gutknecht, F. Michel, J. Ferber

Method Summary
`void` | `activate()` The activate method which takes precedence over the activate method defined in the agent.
`void` | `doIt()` The invocation method sent by the scheduler.
`void` | `end()` The end method which takes precedence over the end method defined in the agent.
`void` | `live()` The live method which describes the overall behavior of a ("asynchronous") agent.
`AbstractAgent` | `thisAgent()`

Method Detail

### thisAgent

    AbstractAgent thisAgent()

### activate

    void activate()

  The activate method which takes precedence over the activate method defined in the agent. You may call the latter by invoking it directly from this method.

### end

    void end()

  The end method which takes precedence over the end method defined in the agent. You may call the latter by invoking it directly from this method.

### doIt

    void doIt()

  The invocation method sent by the scheduler. Warning: you have to take care that the scheduler invokes this "doIt" method!!

### live

    void live()

  The live method which describes the overall behavior of a ("asynchronous") agent.

  Warning: This method takes precedence over the agent's live method. The agent's live method does not work when a controller is "plugged" into an agent..

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © Madkit Team (O. Gutknecht, J. Ferber, F. Michel et al.) All Rights Reserved.