示例#1
0
#! /usr/bin/ python
# -*- encoding: utf-8 -*-

from utils import set_ams, config_loop, start_loop, display_message
config_loop(gui=True)

from agent import Agent
from messages import ACLMessage
from aid import AID
from pickle import dumps, loads
from time import sleep



class Teste(Agent):
	def __init__(self, aid):
		Agent.__init__(self, aid)
		
	def on_start
on_start(self):
		Agent.on_start
on_start(self)
		display_message(self.aid.name, "Hello World")
		if 'Bob' in self.aid.name:
			message = ACLMessage(ACLMessage.INFORM)
			message.add_receiver(AID('Alice'))
			message.set_content('Hello Alice!')
			self.send(message)
	
	def react(self, message):
		Agent.react(self, message)
示例#2
0
#! /usr/bin/python
# -*- coding: utf-8 -*-

from utils import set_ams, config_loop, start_loop, display_message
config_loop(gui=True)

from agent import Agent
from messages import ACLMessage
from protocols import FipaContractNetProtocol
from aid import AID
from pickle import dumps, loads

class InitiatorProtocol(FipaContractNetProtocol):
    
    def __init__(self, agent, message):
        super(InitiatorProtocol, self).__init__(agent, message, is_initiator=True)
        
        
    def handle_propose(self, message):
        FipaContractNetProtocol.handle_propose(self, message)
        display_message(self.agent.aid.name, loads(message.content))
    
    def handle_refuse(self, message):
        FipaContractNetProtocol.handle_refuse(self, message)
        display_message(self.agent.aid.name, loads(message.content))
        
    def handle_all_proposes(self, proposes):
        FipaContractNetProtocol.handle_all_proposes(self, proposes)
        
        display_message(self.agent.aid.name, 'Analisando Propostas...')
        better_propose = loads(proposes[0].content)
示例#3
0
# -*- encoding: utf-8 -*-

from utils import display_message, set_ams, start_loop, config_loop
config_loop()
from agent import Agent
from messages import ACLMessage
from aid import AID
from protocols import FipaContractNetProtocol
from filters import Filter
from pickle import loads, dumps
from time import sleep

#===============================================================================
# What is needed to create an agent with standardized protocols behaviours?
# First, the protocol class needs to be defined
# Second, this protocol class needs to be associated with the agent's 
# behaviour
#===============================================================================


class BookstoreAgentBehaviour(FipaContractNetProtocol):
    def __init__(self, agent):
        super(BookstoreAgentBehaviour, self).__init__(agent, is_initiator=False)
    
    def handle_cfp(self, message):
        FipaContractNetProtocol.handle_cfp(self, message)
        display_message(self.agent.aid.name, 'Request Received')
        
        order = loads(message.content)
        
        for book in self.agent.booksList:
# -*- encoding: utf-8 -*-

from utils import display_message, set_ams, start_loop, config_loop

config_loop()
from agent import Agent
from messages import ACLMessage
from aid import AID
from protocols import FipaContractNetProtocol
from filters import Filter
from pickle import loads, dumps
from time import sleep

# ===============================================================================
# Note, o que é necessário para criar um agente com comportamentos padronizados
# em protocolos?
# Primeiro, é preciso definir a classe protocolo
# Segundo é preciso associar esta classe protocolo como um comportamento do
# agente
# ===============================================================================


class ComportamentoAgenteConsumidor(FipaContractNetProtocol):
    def __init__(self, agent, message):
        super(ComportamentoAgenteConsumidor, self).__init__(agent, message, is_initiator=True)
        self.bestPropose = None
        self.bestBookStore = None

    def handle_propose(self, message):
        FipaContractNetProtocol.handle_propose(self, message)
        display_message(self.agent.aid.name, "Proposta Recebida")