manages a pool of agent for a given service, these agents will be
sollicited by their boss one by one to perform a given service
their are specialized for.
disconnects me from another agent (not my boss) : disconnection is safe in the
sense that no request are lost during disconnection : every
request who leaved me or my boss arrived to its its
destination.
disconnects me from another agent : disconnection is safe in the
sense that no request are lost during disconnection : every
request who leaved me or my boss arrived to its its
destination.
disconnects me from my boss : disconnection is safe in the
sense that no request are lost during disconnection : every
request who leaved me or my boss arrived to its its
destination.
interface for policy of concurrency, you must defined when an
answer is considered to have been received and which answer must
be selected among all those received
treat a concurrent request : if the agent knows the method, he applies it,
else he sends the request to all those in his team who knows the method,
else he sends it to its supervisor
connect me to the agent whose name is agent, this
name must be of the form shortname@hostname:port but if the
agent belongs to the same platform as me, shortName is
sufficient.
connect me to the agent whose name is agent as my boss, this
name must be of the form shortname@hostname:port but if the
agent belongs to the same platform as me, shortName is
this is the default concurrency policy, answer is considered as
being received as soon as one answer has been received, the *
selected answer is the first one
Default skill wraps the main methods of an agent, then you can use in the
skill all these methods without having to add the getMyAgent()
before (eg. use perform(..) instead of (getMyAgent.perform())) This allows to
lighten the code.
This class wraps the main methods of a magique agent, then you can use in the
skill all these methods without having to add the getMyAgent()
before (eg. use perform(..) instead of (getMyAgent.perform())) This allows to
lighten the code.
this attributs stores all the "object-skill" the agent own. the mapping is :
the key is a method's name, the value is a reference to the associated
object.
class with static methods used to manage name of the form
shortName@hostName:port
if no server socket is launch for an agent : port is replaced by a
negative numer.
Name() -
Constructor for class fr.lifl.magique.util.Name
treat a request : if the agent knows the method, he applies it,
else if someone in his team knows the method, he sends him the
request, else he sends this to its supervisor
treat a request : if the agent knows the method, he applies it, else if
someone in his team knows the method, he sends him the request, else he
sends this to its supervisor
process a received Request object, it can be
an answer to one of my request, back
an answer to someone else back on the way to its creator
a request to treat
process a received Request object, it can be
an answer, to one of my request, back
an answer to someone else back on the way to its creator
a request to treat
this is very a simple concurrency policy, answer is considered as
being received as soon as minNumberOfAnswers answer has
been received, the selected answer is randomly chosen
run() -
Method in class fr.lifl.magique.util.Listener
executes requests in to do list of my agent when they
arrive. each request is processed in a separate thread
(synchronization must then be set in methods if required)
This exception is thrown when an agent tries to learn a skill who
contains a public method with the same signature as another
laready known by the agent
maps a member of the team (identified by his name) with a TeamInfo
object that contains two vectors : the members of the subteams and
the vector of what they are able to do.
Team() -
Constructor for class fr.lifl.magique.util.Team
stores vector of names of all the agents occuring in the hierarchy
under some agent (the one maps in the Team object) and vector of
names of all the methods that can be achieved by one of these
agents
given message is treated : send to the recipient agent if he belongs to
this platform, or send (after connection if required) to the platform who
contains the recipient
returns the vector of the names of the agents (of the first
level of hierarchy below) who are able to perform the given
method (or maybe someone below it).