Information Technology Reference
In-Depth Information
atLocation(X, Y) may be used by a robotic agent to represent the goal of being at a given
location), and (ii) sub-goals subtending the exchange of information. Service goals that
are used to access data and to subscribe to data updates and event notifications fall into
the latter category. For instance, the service goal Image getImageCamera() may be used
by a robotic agent to express the goal of retrieving the last frame captured by one of its
cameras.
In addition, service goals' attributes may be used to further characterise each service
goal, e.g. the characteristic of the information requested/granted, as well as important
non-functional parameters. For instance the atLocation service goal may have the at-
tribute Min/MaxVelocity to specify the minum/maximum velocity the robot should/may
travel. The attribute MinimumFrameRate may be used to specify the mimum frame rate
for the image captured with the getImageCamera() service, while the Side attribute,
with values in
{
left, right
}
, may be used to specify which one of the robotic cameras
must be used.
4.3
Component Plan Model
A Component Plan is informally defined as a component implementing (providing) a
service goal (its post-condition) . A component plan may require a number of service
goals in order to post sub-goals, to perform actions, and also to acquire the informa-
tion it needs to achieve its post-condition. Component plans may attend their activ-
ities with their own thread of control. In addition, they may react to incoming mes-
sages/events, and also export functions to a scheduler used for control injection. For
instance, a MoveTo component plan may process the images from a robot's cameras
and control the velocity and the direction of the robot to drive it safely toward a given
location. The same component plan may subscribe to impact alert notifications gener-
ated by the onboard bumper sensor, and stop the robot upon the reception of one such
alert.
4.4
Goal Manager
Section 2 has discussed how an agent must rely on explicit representations of its own
goals in order to keep track of goals achieved and yet to achieve.
To this end, it is useful to introduce the concept of Goal Manager , that is, a com-
ponent used to decouples the plan requesting a service goal from the component plan
ultimately providing it. Invoking a service goal should first trigger the activation of the
corresponding Goal Manager, which then will take care to invoke one of the component
plans able to achieve it.
Thanks to its mediation, a Goal Manager can be used to re-invoke the same service
goal upon failure of the component plan first used to achieve it. Crucially, further invo-
cations may use different implementations of the service, i.e. different component plan
options. In addition, the Goal Manager can be used to maintain execution statistics for
each component plan option, in order to drive the future selection of the best suitable
one, e.g. the one less likely to fail, and/or with better performance.
Search WWH ::




Custom Search