M
Maciej
Hi!
Exception handling in agent-based system:
I'm looking for good practice about handling exceptions in MAS
environment. More precisely, for answers to the following questions:
1) Where and when exception should be catched or rethrown?
I used to rethrow (and wrap) exceptions by components, in which it
was caused up to the moment agent's behaviour using these components
catches it, log them and optionally inform the agent for which
requested task cannot be serviced. This last idea is really important
in cases when we talk about reputation-sensitive environments, like
e-commerce.
2) What about exception handling in asynchronous behaviours ?
E.g. I've asynchronous behaviour collecting information about
services required for my agent and for that registered in Yellow-Pages
directory. Let's suppose that these behaviour failed, because of it
received some message out-of-sequence, not readable or some of its
internal components throw exception. Where this exception should be
handled ? Does whole agent should take down ?
What about other, "more synchronous" behaviours in this agent, which
dependes on the one, asynchronous? E.g. my synchronous behaviour
established some interaction with other agent, according to some
interaction protocol and is in state when to realize the request it was
going to delegate other agent from its team but, in a meantime, he (or
rather his asynchrounous behaviour) get the answer, that this agent
failed.
If you know any book or paper about every-day practice for handling
with such or similar problems, I would be greaaatfuuuul
Best,
Maciej
Exception handling in agent-based system:
I'm looking for good practice about handling exceptions in MAS
environment. More precisely, for answers to the following questions:
1) Where and when exception should be catched or rethrown?
I used to rethrow (and wrap) exceptions by components, in which it
was caused up to the moment agent's behaviour using these components
catches it, log them and optionally inform the agent for which
requested task cannot be serviced. This last idea is really important
in cases when we talk about reputation-sensitive environments, like
e-commerce.
2) What about exception handling in asynchronous behaviours ?
E.g. I've asynchronous behaviour collecting information about
services required for my agent and for that registered in Yellow-Pages
directory. Let's suppose that these behaviour failed, because of it
received some message out-of-sequence, not readable or some of its
internal components throw exception. Where this exception should be
handled ? Does whole agent should take down ?
What about other, "more synchronous" behaviours in this agent, which
dependes on the one, asynchronous? E.g. my synchronous behaviour
established some interaction with other agent, according to some
interaction protocol and is in state when to realize the request it was
going to delegate other agent from its team but, in a meantime, he (or
rather his asynchrounous behaviour) get the answer, that this agent
failed.
If you know any book or paper about every-day practice for handling
with such or similar problems, I would be greaaatfuuuul
Best,
Maciej