galatea.hla
Class Influence

java.lang.Object
  extended bygalatea.hla.Influence

public class Influence
extends java.lang.Object

Class Influence definition.
Influence is an abstraction incorporated in the multi-agent simulation theory that Galatea implements. It refers to the agent intention of executing a given action. It is not the actual action already executed, nor its description. It is a record of the action that the agent "wants" to execute and so it is requesting the simulator.
The abstraction allows for the description of agent's actions in the context of other agent's actions and natural dynamics, including sinergetics effects. It is a very useful tool to allow for action parallelism.
This class is a data structure to store an influence. For those who know about DEVS, the Influence object will resemble the Event object (like in galata.glider.Event). In fact, influences are a special kind of event. In Galatea, they are, in principle, events associated to agent behaviour.
-------
Clase para manejo de Intensiones de los agentes en Galatea.
Uno de los elementos distintivos, novedoso respecto a otras teorías de sistemas dinámicos, en la teoría de simulación de sistemas multiagentes que implementa Galatea, es el uso de la abstracción INFLUENCIA. Una influencia representa la intención de un agente de ejecutar una acción particular. No es la especificación de la acción, ni su nombre, ni un registro histórico de la acción ejecutada. Es un registro de la acción que el agente está solicitando al simulador que se ejecute.
Esta abstracción permite especificar los efectos de las acciones de los agentes y, al momento de ejecución, desplegar esas especificaciones en el contexto de lo que otros agentes están haciendo y de otras dinámicas que estén operando en el ambiente simulado. De esta forma, es posible describir interacción entre acciones, o entre acciones y procesos naturales, incluyendo los efectos sinergéticos del actuar de los agentes.
La clase que acá se describe es básicamente la estructura de datos que hace falta para almacenar una influencia y que, al conocedor de DEVS, le debe parecer muy similar a la clase de EVENTO. De hecho, las influencias son un tipo de evento, en principio producido y gestionado por agentes..

Version:
0 21/06/01
Author:
J. Dávila, K. Tucci

Constructor Summary
Influence(Agent a, Output output, double execTime)
          This method creates an influence using a determined output from an agent a , at a determined execution time.
Influence(Agent a, java.lang.String m, double execTime)
          This method creates an influence for a determined agent, using an associated method, at a determined execution time.
Influence(Agent a, java.lang.String w, java.lang.String m, double execTime)
          This method creates an influence for an agent located at a determined place, using an associated method, at a determined execution time.
Influence(java.lang.String id, double execTime)
          This method creates an influence using a given identification and a determined execution time.
 
Method Summary
 java.lang.Object[] getArguments()
          This method returns an Object array that contains the arguments related to the influence.
 java.lang.String getIinfluenceId()
          This method returns influence identification.
 java.lang.String getName()
          This method returns the method's name.
 double getTime()
          This method returns influence's execution time.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Influence

public Influence(java.lang.String id,
                 double execTime)
This method creates an influence using a given identification and a determined execution time.
-----

Este método crea una influencia usando una identificación dada y un determinado tiempo de ejecución.

Parameters:
id - String. Influence's identification.
-----
id – String. Identificador de la Influencia.

execTime - double. Influence's execution time.
-----
execTime – double. Tiempo de ejecución de la influencia.

Influence

public Influence(Agent a,
                 java.lang.String m,
                 double execTime)
This method creates an influence for a determined agent, using an associated method, at a determined execution time.
-----
Este método crea una influencia para un agente determinado, usando un método asociado, a un determinado tiempo de ejecución.

Parameters:
a - Agent. Agent that post the influence to be created.
-----
a – Agent. Agente que genera la influencia a ser creada.

m - Method. Interface's method associated to this influence.
-----
m – Method. Método de la interfaz asociado a esta influencia.

execTime - double. Influence's execution time.
-----
execTime – double. Tiempo de ejecución de la influencia.

Influence

public Influence(Agent a,
                 Output output,
                 double execTime)
This method creates an influence using a determined output from an agent a , at a determined execution time.
-----

Este método crea una influencia usando una determinada salida proveniente de un agente a , para un determinado tiempo de ejecución.

Parameters:
a - Agent. Agent that post the influence to be created.
-----
a – Agent. Agente que genera la influencia a ser creada.

output - Output. It indicates the action that the agent a wants to perform.
-----
output - Output. Indica las acciones que el agente a desea llevar a cabo.
execTime - double. Influence's execution time.
-----
execTime – double. Tiempo de ejecución de la influencia.

Influence

public Influence(Agent a,
                 java.lang.String w,
                 java.lang.String m,
                 double execTime)
This method creates an influence for an agent located at a determined place, using an associated method, at a determined execution time.
-----
Este método crea una influencia para un agente determinado, usando un método asociado, a un determinado tiempo de ejecución.

Parameters:
a - Agent. Agent that post the influence to be created.
-----
a – Agent. Agente que genera la influencia a ser creada.

w - String. Agent's location.
-----
w - String. Ubicación del agente.
m - Method. Interface's method associated to this influence.
-----
m – Method. Método de la interfaz asociado a esta influencia.

execTime - double. Influence's execution time.
-----
execTime – double. Tiempo de ejecución de la influencia.
Method Detail

getIinfluenceId

public java.lang.String getIinfluenceId()
This method returns influence identification.
-----
Este método devuelve la identificación de la influencia.

Returns:
id String. Influence's identification.
-----
id String. Identificación de la influencia.

getTime

public double getTime()
This method returns influence's execution time.
-----
Este método devuelve el tiempo de ejecución de la influencia.

Returns:
execTime double. Influence's execution time.
-----
execTime double. Tiempo de ejecución de la influencia.

getName

public java.lang.String getName()
This method returns the method's name.
-----
este método retorna el nombre del método.

Returns:
method String. The method's name.
-----
method String. Nombre del método.

getArguments

public java.lang.Object[] getArguments()
This method returns an Object array that contains the arguments related to the influence.
-----
Este método retorna un arreglo de Objetos que contiene los argumentos relacionados a la influencia.