asm
Class Output

asm.Output

public class Output

Title: Output

Description: Existe una única instancia de esta clase. Esa instancia es la encargada de escribir los parámetros y los resultados de la simulación a fichero. Lo cierto es que esta clase se encuentra en un estado bastante precario, sobre todo si la comparamos con la versión anterior del mercado, escrita en ObjectiveC. Esta nueva versión no ofrece más que un único formato de fichero, aunque funciona correctamente y sin problemas.

Si queremos obtener un fichero con todos los parámetros de la simulación, bastará con que pulsemos el botón "writeSimulationParams" de la interfaz gráfica de la sonda del ASMObserverSwarm en cualquier momento de la simulación.

Si queremos un fichero en el que figuren el precio, el dividendo y el volumen de negociación de cada periodo de la simulación, deberemos pulsar el botón "toggleDataWrite" de la interfaz gráfica de la sonda del ASMObserverSwarm. Podemos pulsar este botón durante la ejecución de la simulación, obteniendo entonces los resultados a partir de ese momento. La periodicidad de escritura a fichero viene dada por "displayFrequency", que también puede modificarse en el misma sonda pero siempre ANTES de que comience la simulación.

Copyright:

Depto. de Organización y Gestión de Empresas. Universidad de Valladolid

Version:
1.0
Author:
José Manuel Galán & Luis R. Izquierdo

Field Summary
(package private)  java.io.BufferedWriter bw
          Se utiliza para escribir en el fichero de los parámetros.
(package private)  java.io.BufferedWriter bw2
          Se utiliza para escribir en el fichero de resultados (precio, dividendo y volumen).
 int currentTime
          Entero que representa el tiempo actual en la simulación
private  boolean dataFileExists
          Indica si se ha abierto el fichero de resultados o no.
(package private)  java.io.FileWriter fw
          Se utiliza para escribir en el fichero de los parámetros.
(package private)  java.io.FileWriter fw2
          Se utiliza para escribir en el fichero de resultados (precio, dividendo y volumen).
(package private)  java.lang.String outputFile
          Nombre del fichero de resultados (precio, dividendo y volumen).
(package private)  Specialist outputSpecialist
          Referencia el objeto world, desde el que se recogen datos.
(package private)  World outputWorld
          Referencia el objeto world, desde el que se recogen datos.
(package private)  java.lang.String paramFileName
          Nombre del fichero de los parámetros.
(package private)  long runTime
          La hora actual en milisegundos.
(package private)  java.io.PrintWriter salida
          Fichero de los parámetros.
(package private)  java.io.PrintWriter salida2
          Fichero de resultados (precio, dividendo y volumen).
(package private)  java.lang.String timeString
          La fecha y hora de hoy.
(package private)  java.util.Date today
          La fecha y hora de hoy.
 
Constructor Summary
(package private) Output(swarm.defobj.Zone aZone)
          Constructor de la clase
 
Method Summary
 java.lang.Object createEnd()
          Crea un String con la fecha y hora de hoy y sin caracteres que puedan ser problemáticos.
 void drop()
          Cierra el fichero y libera la memoria.
 java.lang.Object prepareOutputFile()
          Este método prepara el fichero de los resultados.
 java.lang.Object setSpecialist(Specialist theSpec)
          El objeto output necesita una referencia al especialista para poder recoger de él el volumen de negociación.
 java.lang.Object setWorld(World theWorld)
          El objeto output necesita una referencia al mundo para poder recoger de él el precio y el dividendo.
 java.lang.Object writeData()
          Este método escribe el precio, el dividendo y el volumen en el fichero de los resultados.
 java.lang.Object writeParams$BFAgent$Time(ASMModelParams modelParam, BFParams bfParms, long t)
          Este método crea el fichero de los parámetros.
 

Field Detail

dataFileExists

private boolean dataFileExists
Indica si se ha abierto el fichero de resultados o no.

outputWorld

World outputWorld
Referencia el objeto world, desde el que se recogen datos.

outputSpecialist

Specialist outputSpecialist
Referencia el objeto world, desde el que se recogen datos.

runTime

long runTime
La hora actual en milisegundos. En realidad mide en milisegundos la diferencia entre el momento actual y la medianoche del 1 de Enero de 1970 UTC.

today

java.util.Date today
La fecha y hora de hoy.

timeString

java.lang.String timeString
La fecha y hora de hoy.

currentTime

public int currentTime
Entero que representa el tiempo actual en la simulación

outputFile

java.lang.String outputFile
Nombre del fichero de resultados (precio, dividendo y volumen).

paramFileName

java.lang.String paramFileName
Nombre del fichero de los parámetros.

fw

java.io.FileWriter fw
Se utiliza para escribir en el fichero de los parámetros.

bw

java.io.BufferedWriter bw
Se utiliza para escribir en el fichero de los parámetros.

salida

java.io.PrintWriter salida
Fichero de los parámetros.

fw2

java.io.FileWriter fw2
Se utiliza para escribir en el fichero de resultados (precio, dividendo y volumen).

bw2

java.io.BufferedWriter bw2
Se utiliza para escribir en el fichero de resultados (precio, dividendo y volumen).

salida2

java.io.PrintWriter salida2
Fichero de resultados (precio, dividendo y volumen).
Constructor Detail

Output

Output(swarm.defobj.Zone aZone)
Constructor de la clase
Parameters:
aZone - Zona de memoria Swarm en la que se aloja el objeto Swarm
Method Detail

createEnd

public java.lang.Object createEnd()
Crea un String con la fecha y hora de hoy y sin caracteres que puedan ser problemáticos. Además crea el nombre del fichero de los parámetros (paramFileName).
Returns:
this

setSpecialist

public java.lang.Object setSpecialist(Specialist theSpec)
El objeto output necesita una referencia al especialista para poder recoger de él el volumen de negociación.
Parameters:
theSpec - Referencia al especialista
Returns:
this

setWorld

public java.lang.Object setWorld(World theWorld)
El objeto output necesita una referencia al mundo para poder recoger de él el precio y el dividendo.
Parameters:
theWorld - Referencia al mundo
Returns:
this

writeParams$BFAgent$Time

public java.lang.Object writeParams$BFAgent$Time(ASMModelParams modelParam,
                                                 BFParams bfParms,
                                                 long t)
Este método crea el fichero de los parámetros.
Parameters:
modelParam - Parámetros del modelo.
bfParms - Parámetros de los bfagents.
t - Entero que representa el tiempo actual en la simulación.
Returns:
this

prepareOutputFile

public java.lang.Object prepareOutputFile()
Este método prepara el fichero de los resultados. Se ejecuta cuando pulsamos el botón "toggleDataWrite" de la interfaz gráfica de la sonda del ASMObserverSwarm por primera vez.
Returns:
this

writeData

public java.lang.Object writeData()
Este método escribe el precio, el dividendo y el volumen en el fichero de los resultados. Se ejecuta con periodicidad "displayFrequency" siempre que se haya solicitado la creación del fichero.
Returns:
this

drop

public void drop()
Cierra el fichero y libera la memoria.