Commit 3e01403e by serfrape

Make ex control wait for agent to start

parent 40c500ab
...@@ -16,20 +16,28 @@ class BossAgent(BDIAgent): ...@@ -16,20 +16,28 @@ class BossAgent(BDIAgent):
class Modify(PeriodicBehaviour): class Modify(PeriodicBehaviour):
async def run(self): async def run(self):
tipo = self.agent.bdi.get_belief_value("type")[0] if self.agent.bdi_enabled:
if tipo == 'inc': tipo = self.agent.bdi.get_belief_value("type")[0]
self.agent.bdi.set_belief('type', 'dec') if tipo == 'inc':
else: self.agent.bdi.set_belief('type', 'dec')
self.agent.bdi.set_belief('type', 'inc') else:
self.agent.bdi.set_belief('type', 'inc')
b = BDIAgent("slave_1@localhost", "bdisimple", "slave.asl") b = BDIAgent("slave_1@localhost", "bdisimple", "slave.asl")
b.start() future = b.start()
future.result()
c = BDIAgent("slave_2@localhost", "bdisimple3") c = BDIAgent("slave_2@localhost", "bdisimple3")
c.start() future = c.start()
a = BossAgent("Boss@localhost", "bdiboss", "boss.asl") future.result()
a.start() a = BossAgent("Boss@localhost", "bdiboss")
future = a.start()
future.result()
a.set_asl("boss.asl")
import time import time
time.sleep(5) time.sleep(5)
print("Enabling BDI for slave2") print("Enabling BDI for slave2")
c.set_asl("slave.asl") c.set_asl("slave.asl")
time.sleep(5)
print("Disabling BDI for slave2")
c.set_asl(None)
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from abc import ABCMeta, abstractmethod
from spade.behaviour import CyclicBehaviour from spade.behaviour import CyclicBehaviour
import pyson import pyson
import pyson.runtime import pyson.runtime
import pyson.stdlib import pyson.stdlib
import os
import asyncio import asyncio
from spade.agent import Agent from spade.agent import Agent
from spade.template import Template from spade.template import Template
from spade.message import Message from spade.message import Message
import json import json
from ast import literal_eval from ast import literal_eval
from loguru import logger
PERCEPT_TAG = frozenset( PERCEPT_TAG = frozenset(
[pyson.Literal("source", (pyson.Literal("percept"), ))]) [pyson.Literal("source", (pyson.Literal("percept"), ))])
...@@ -168,7 +167,8 @@ class BDIAgent(Agent): ...@@ -168,7 +167,8 @@ class BDIAgent(Agent):
if self.agent.asl_file: if self.agent.asl_file:
self.agent.set_asl(self.agent.asl_file) self.agent.set_asl(self.agent.asl_file)
else: else:
print("No ASL specified.") logger.info(
"Warning: no ASL specified for {}.".format(self.agent.jid))
async def run(self): async def run(self):
""" """
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment