def receiveACLMessage (self, ACLMessage, current = None): """Recibe un mensaje ACL del Agent Communication Channel de la plataforma de agentes""" print self.getName() + ' --> Mensaje recibido.' try: # Conversión de string a Document. aclMessage = parseString(ACLMessage) print aclMessage.toprettyxml() # Lectura del documento XML. UtilXML.readACLMessage(aclMessage) except Exception, message: print 'Error al procesar el mensaje recibido: ', sys.exc_info()[0], message
def receiveACLMessage(self, ACLMessage, current=None): """Recibe un mensaje ACL del Agent Communication Channel de la plataforma de agentes""" print self.getName() + ' --> Mensaje recibido.' try: # Conversión de string a Document. aclMessage = parseString(ACLMessage) print aclMessage.toprettyxml() # Lectura del documento XML. UtilXML.readACLMessage(aclMessage) except Exception, message: print 'Error al procesar el mensaje recibido: ', sys.exc_info( )[0], message
def __init__(self): """Crea un objeto del tipo AgentI""" # Se obtiene el nombre del fichero en formato XML para inicializar el agente. inputFile = self.getArguments() if inputFile == '': print 'Sinopsis: python Agent.py -i <file.xml>' sys.exit(0) # AgentIdentifier representa la identificación del agente: name y addresses. # AgentDescription representa la descripción del agente en el Directory Facilitator. try: self.AgentIdentifier, self.AgentDescription = UtilXML.initAgent( inputFile) except IOError: print 'El archivo ' + inputFile + ' no existe. Sinopsis: python Agent.py -i <file>' sys.exit(0) # AgentDescriptions representa la lista de objetos que describen a otros agentes del Directory Facilitator. self.AgentDescriptions = [] # State representa el estado del agente en la plataforma de agentes. self.State = FIPA.EState.Initiated # ServiceRoot representa la lista de servicios básicos de la plataforma. self.ServiceRoot = [] # Proxies a los servicios básicos de la plataforma de agentes. self.StartService, self.Ams, self.Df, self.Acc = None, None, None, None
def __init__ (self): """Crea un objeto del tipo AgentI""" # Se obtiene el nombre del fichero en formato XML para inicializar el agente. inputFile = self.getArguments() if inputFile == '': print 'Sinopsis: python Agent.py -i <file.xml>' sys.exit(0) # AgentIdentifier representa la identificación del agente: name y addresses. # AgentDescription representa la descripción del agente en el Directory Facilitator. try: self.AgentIdentifier, self.AgentDescription = UtilXML.initAgent(inputFile) except IOError: print 'El archivo ' + inputFile + ' no existe. Sinopsis: python Agent.py -i <file>' sys.exit(0) # AgentDescriptions representa la lista de objetos que describen a otros agentes del Directory Facilitator. self.AgentDescriptions = [] # State representa el estado del agente en la plataforma de agentes. self.State = FIPA.EState.Initiated # ServiceRoot representa la lista de servicios básicos de la plataforma. self.ServiceRoot = [] # Proxies a los servicios básicos de la plataforma de agentes. self.StartService, self.Ams, self.Df, self.Acc = None, None, None, None
def __init__ (self, file): """Crea un objeto del tipo InputService""" self.ServiceLocator = [] doc = parse(file) root = doc.firstChild # Se obtiene el nombre del servicio. self.ServiceName = UtilXML.getAttribute(root, 'name') # Se obtiene la descripción del servicio y sus parámetros. for x in root.childNodes: if x.nodeType == x.ELEMENT_NODE and x.nodeName == 'serviceDirectoryEntry': self.ServiceType = UtilXML.getAttribute(x, 'serviceType') self.ServiceId = UtilXML.getAttribute(x, 'serviceId') # Se obtienen los Service Locators. for y in x.childNodes: if y.nodeType == y.ELEMENT_NODE and y.nodeName == 'serviceLocator': sld = FIPA.TServiceLocationDescription(UtilXML.getAttribute(y, 'serviceSignature'), UtilXML.getAttribute(y, 'serviceAddress')) self.ServiceLocator.append(sld) elif x.nodeType == x.ELEMENT_NODE and x.nodeName == 'description': self.Description = x.firstChild.nodeValue