Сайт о программировании, математике и моделировании
Разработка языка взаимодействия агентов МАС. Средства обмена данными
Сообщения, посылаемые агентами можно разделить на два вида:
- запросы, посылаемые агентом-координатором;
- сообщения-ответы.
Пусть событие SomeEvent2-посылка сообщения агента-координатора какому-либо агенту, в зависимости от протокола взаимодействия:
public event MyEventHandler SomeEvent2;
MyEvent evt2 = new MyEvent();
Agent_K ob2 = new Agent_K ();
evt2.OnSomeEvent2(id);
Тогда событие SomeEvent- посылка ответного сообщения агенту-координатору, причем данное событие вызывается из события SomeEvent2, организуя таким образом реакцию на сообщение.
Агенты создаются как экземпляры класса:
Agent agent_a = new Agent();
Для каждого вида сообщений агентов необходим обработчик:
class Agent_K{
public void handler(object source, MyEventArgs arg2) {..}
class Agent {
public void handler(object source, MyEventArgs arg) {…}}
Для поддержки функционирования событий необходимо задать делегат:
delegate void MyEventHandler(object source, MyEventArgs arg);
В классе MyEventArgs производном от класса EventArgs создаются поля, которые являются параметрами сообщений согласно стандарту FIPA ACL:
class MyEventArgs : EventArgs {
public int protocol_id ;
public string sender;
public string receiver;
public string reply_to;
public string content;
Взаимодействие начинается с посылки агентом-координатором сообщений агентам в соответствии с протоколом- схема которого отражена в базе знаний. Также в базе знаний происходит определение содержания сообщения.
Print article | This entry was posted by root on 13.08.2012 at 11:36 дп, and is filed under Многоагентное моделирование. Follow any responses to this post through RSS 2.0. Вы можете перейти в конец записи и оставить комментарий. Пинги запрещены. |