Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Пример реализации детерминированного конечного автомата для мультиагентной системы в программной среде JADE

Пример реализации параллельных действий для мультиагентной системы в программной среде JADE | Пример реализации работы со службами AMS и DF для мультиагентной системы в программной среде JADE | Пример реализации работы с протоколом FIPA-Request для мультиагентной системы в программной среде JADE | Пример реализации работы с протоколом FIPA-ContractNet для мультиагентной системы в программной среде JADE | Пример реализации работы с протоколом FIPA-Subscribe для мультиагентной системы в программной среде JADE | Пример реализации работы с различными схемами и абстрактными дескрипторами онтологии для мультиагентной системы в программной среде JADE |


Читайте также:
  1. Boot (англ. загрузка. Пример: основной загрузочный сектор) -вирусы
  2. D.1. Примеры уязвимостей
  3. F48.1 Синдром деперсонализации-дереализации
  4. III. АНАТОМИЯ КРОВЕНОСНОЙ СИСТЕМЫ.
  5. III. После этого раненую конечность лучше всего зафиксировать, например, подвесив на косынке или при помощи шин, что является третьим принципом оказания помощи при ранениях.
  6. IV. АНАТОМИЯ ЦЕНТРАЛЬНОЙ НЕРВНОЙ СИСТЕМЫ.
  7. SWOT- анализ на примере ветеринарной аптечной сети.

 

package ExampleFSM;

 

import jade.Boot;

import jade.core.Profile;

import jade.core.Runtime;

import jade.core.ProfileImpl;

import jade.wrapper.ContainerController;

import jade.wrapper.AgentController;

 

// Главная программа

public class Main

{

public Main() {}

 

// Запуск агентов получателя и отправителя

public static void main(String[] args)

{

// Загрузка JADE-системы

String arg[] = {"-gui"};

Boot boot=new Boot(arg);

// Создание агентного контейнера (для локального хоста)

Profile p = new ProfileImpl();

p.setParameter(Profile.MAIN_HOST, "1-fcd36d9673f14");

p.setParameter(Profile.MAIN_PORT, "1099");

p.setParameter(Profile.CONTAINER_NAME, "MyContainer");

Runtime rt = Runtime.instance();

ContainerController cc = rt.createAgentContainer(p);

 

// Создание и запуск FSM-агента,

// который содержатся в главном контейнере

try

{

AgentController agent = cc.createNewAgent("AgentFSM", "ExampleFSM.FSMAgent", null);

agent.start();

}

// Обработка исключительной ситуации

catch(Exception e) {e.printStackTrace();}

}

}

 


package ExampleFSM;

import jade.core.Agent;

import jade.core.behaviours.OneShotBehaviour;

import jade.core.behaviours.FSMBehaviour;

 

// FSM-Агент

public class FSMAgent extends Agent

{

private static final String STATE_A = "A";

private static final String STATE_B = "B";

private static final String STATE_C = "C";

private static final String STATE_D = "D";

private static final String STATE_E = "E";

private static final String STATE_F = "F";

 

// добавление поведения агента

protected void setup()

{

FSMBehaviour fsm = new FSMBehaviour(this)

{

// Действие агента по завершению (удаление агента)

public int onEnd()

{

System.out.println("FSM behaviour completed.");

myAgent.doDelete();

return super.onEnd();

}

};

fsm.registerFirstState(new NamePrinter(), STATE_A);

fsm.registerState(new NamePrinter(), STATE_B);

fsm.registerState(new RandomGenerator(3), STATE_C);

fsm.registerState(new NamePrinter(), STATE_D);

fsm.registerState(new RandomGenerator(4), STATE_E);

fsm.registerLastState(new NamePrinter(), STATE_F);

fsm.registerDefaultTransition(STATE_A, STATE_B);

fsm.registerDefaultTransition(STATE_B, STATE_C);

fsm.registerTransition(STATE_C, STATE_C, 0);

fsm.registerTransition(STATE_C, STATE_D, 1);

fsm.registerTransition(STATE_C, STATE_A, 2);

fsm.registerDefaultTransition(STATE_D, STATE_E);

fsm.registerTransition(STATE_E, STATE_F, 3);

fsm.registerDefaultTransition(STATE_E, STATE_B);

addBehaviour(fsm);

}

 

// OneShot-Поведение агента

private class NamePrinter extends OneShotBehaviour

{

// Действие агента (печать поведения)

public void action()

{

System.out.println("Executing behaviour "+ getBehaviourName());

}

}

 

private class RandomGenerator extends NamePrinter

{

private int maxExitValue;

private int exitValue;

 

private RandomGenerator(int max)

{

super();

maxExitValue = max;

}

 

// Действие агента

// (печать поведения и генерация кода завершения)

public void action()

{

System.out.println("Executing behaviour "+ getBehaviourName());

exitValue = (int) (Math.random() * maxExitValue);

System.out.println("Exit value is "+exitValue);

}

 

// Действие агента по завершению (возврат кода завершения)

public int onEnd() {return exitValue;}

}

}

 

Результаты работы программы

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 1

Executing behaviour D

Executing behaviour E

Exit value is 2

Executing behaviour B

Executing behaviour C

Exit value is 2

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 2

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 1

Executing behaviour D

Executing behaviour E

Exit value is 2

Executing behaviour B

Executing behaviour C

Exit value is 1

Executing behaviour D

Executing behaviour E

Exit value is 1

Executing behaviour B

Executing behaviour C

Exit value is 2

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 2

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 2

Executing behaviour A

Executing behaviour B

Executing behaviour C

Exit value is 0

Executing behaviour C

Exit value is 1

Executing behaviour D

Executing behaviour E

Exit value is 3

Executing behaviour F

FSM behaviour completed

 


Дата добавления: 2015-11-14; просмотров: 44 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пример реализации онтологии для мультиагентной системы в программной среде JADE| Пример реализации последовательности действий для мультиагентной системы в программной среде JADE

mybiblioteka.su - 2015-2024 год. (0.008 сек.)