Environmental Engineering Reference
In-Depth Information
Reasoner
The Agent Reasoner made decisions and formulated goals for the agent com-
ponent through reasoning with received ACL messages and information in its
local knowledge base, as well as with model and state information from the
Modeler. This component reasoned with state and model data to determine
whether any actions needed to be performed by the agent to affect its environ-
ment, change its state, perform housekeeping tasks, or perform other general
activities. The Reasoner would also interpret and reason with agent-to-agent
messages received by the agent's communications component. When action
was necessary for the agent, the Reasoner would produce goals for the agent
to achieve.
Planner/Scheduler
The planner/scheduler component was responsible for any agent-level plan-
ning and scheduling. The planning component formulated a plan for the agent
to achieve the desired goals. The planning component was given a goal or set
of goals to fulfill in the form of a plan request. This typically came from the
Reasoner component, but could be generated by any component in the system.
At the time that the plan request was given, the planning and scheduling
component acquired a state of the agent and system, usually the current state,
as well as the set of actions that could be performed by this agent. This infor-
mation would typically be acquired from the modeling and state component.
The planning and scheduling component then generated a plan as a directed
graph of steps. A step is composed of preconditions to check, the action to
perform, and the expected results from the action (post condition). When
each step was created, it was passed to Domain Expert components/objects
for verification of correctness. If a step was deemed incorrect or dangerous,
the Domain Expert could provide an alternative step, solution, or data to be
considered by the planner.
Once the plan was completed, it was passed back to the component that
requested the plan (usually the Reasoner). The requesting component then
either passed it on to the Agenda to be executed or used it for planning/what-
if purposes.
Agenda/Executive
The Execution component managed the execution of steps and determined the
success or failure of each step's execution. Output produced during a step's
execution could be passed to an Effector or the Reasoning component. The
Agenda and Executive worked together to execute the plans developed by the
Planner/Scheduler. The agenda typically received a plan from the Reasoner,
though it could receive a plan from another component that was acting in a
reactive mode. The agenda interacted with the Execution component to send
Search WWH ::




Custom Search