10.07.2015 Views

pdf - 395 K - Ecole des mines de Nantes

pdf - 395 K - Ecole des mines de Nantes

pdf - 395 K - Ecole des mines de Nantes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.5 Design2.5.1 The DIMA <strong><strong>de</strong>s</strong>ignIn [30], a generic agent structure for implementation in OO languages is proposed, based onactive objects. The <strong>de</strong>finition of an agent is based on the one proposed by Wooldridge (e.g.[23]]). Characteristics are <strong>de</strong>rived from that <strong>de</strong>finition, including:- An agent’s behavior can be <strong>de</strong>composed into several behaviors like perceiving,reasoning, communicating. Each of them can be procedural or knowledge-based.- An autonomous agent must have autonomous therefore concurrent behaviors. Besi<strong><strong>de</strong>s</strong>,the communication behavior must incorporate a message interpreter (opposed to directmethod invocation) so that the agent keeps control over its internal state and behavior.- An agent is proactive so it must incorporate a meta-behavior that manages its set ofbehaviors, <strong>de</strong>pending on its internal state and the external state of the world.- An agent is sociable so it has to un<strong>de</strong>rstand a communication language.The proposed structure is this one:From [30]It is ma<strong>de</strong> of a first layer of concurrent behaviors that are managed by a Supervision Moduleat the meta-level (meta-behavior). This module is implemented as an Augmented TransitionNetwork where states represent <strong>de</strong>cision points. These <strong>de</strong>cisions are about activating orsuspending a behavior.The behaviors are modules that have their own data, methods and engine. The data can beupdated by the methods or any asynchronous event. The engine is a thread that controls theactivation of the methods. It can be interrupted by the Supervision Module between twomethod/rule firings. Examples of behaviors are <strong>de</strong>liberation, perception, communication. Abehavior is called reactive when it is purely procedural or cognitive when it is knowledgebased,e.g. when the engine is an inference engine. Thus the structure was implemented inSmalltalk-80 augmented with NéOpus for allowing rule-based programming.MSc EMOOSE Thesis – http://www.emn.fr/EMOOSE 22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!