render
Class InterfazVisual

java.lang.Object
  |
  +--render.InterfazVisual
All Implemented Interfaces:
java.rmi.Remote, VisualRemoto

public class InterfazVisual
extends java.lang.Object
implements VisualRemoto

es el servidor que registra los cambios ocurridos en y reportados por cada nodo para exhibirlos en la pantalla graficamente


Field Summary
private static render.Sincronante auxiliar
           
private static render.SitioVisual[][] casillas
          la representacion grafica de todas las casillas
(package private) static int cell_cols
          numero de renglones en cada subgradilla
(package private) static int cell_rows
          numero de columnas en cada subgradilla
private  java.util.Hashtable nodos
          referencias a los nodos de la simulacion: start/stop
(package private) static int nodos_cols
          numero de procesadores (sobre eje Y)
(package private) static int nodos_rows
          numero de procesadores (sobre eje X)
private  int num_bichos
          sincroniza: que hayan concluido su turno todos los nodos para "evaporar" la feromona private volatile int nodos_pendientes;
private static long num_ciclos
          numero de ciclos ejecutados
private static boolean render
           
private static javax.swing.JFrame[][] repNodal
          ventanas que representan (c/u) un nodo distinto de la simulacion
private  java.lang.String this_ip
          IP (y puerto) del nodo donde corre ete simulador
protected  boolean yaestubo
          controla la terminacion
 
Constructor Summary
InterfazVisual(java.lang.String IP, java.util.Hashtable nodos, int nodos_rows, int nodos_cols, int cell_rows, int cell_cols, int diversi, float fide_min, float fide_slope, int saturat, int bichos_por_nodo, int regla)
          post: Interfaz de usuario lista para aceptar los parametros de inicio de simulacion
 
Method Summary
 void despinta(int preY, int preX)
          metodo con el que se invocan los cambios en el display se borra la hormiga en las preCoordenadas y se incluye en las postCoordenadas con orientacion w
(package private)  void evapora()
           
private  void finaliza()
           
private  void inicializa(int diversida, int saturacion, int num_bichos, float fi_min, float fi_slope, int which_rule)
           
static void main(java.lang.String[] argv)
          pre: Un archivo "nodos.loc" con las direcciones ip correspondientes a cada nodo donde reside un SimuladorNodal.
 void pinta(int postY, int postX, int tipo, int w)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cell_cols

static int cell_cols
numero de renglones en cada subgradilla


cell_rows

static int cell_rows
numero de columnas en cada subgradilla


nodos_cols

static int nodos_cols
numero de procesadores (sobre eje Y)


nodos_rows

static int nodos_rows
numero de procesadores (sobre eje X)


num_ciclos

private static long num_ciclos
numero de ciclos ejecutados


yaestubo

protected boolean yaestubo
controla la terminacion


casillas

private static render.SitioVisual[][] casillas
la representacion grafica de todas las casillas


repNodal

private static javax.swing.JFrame[][] repNodal
ventanas que representan (c/u) un nodo distinto de la simulacion


this_ip

private java.lang.String this_ip
IP (y puerto) del nodo donde corre ete simulador


nodos

private java.util.Hashtable nodos
referencias a los nodos de la simulacion: start/stop


num_bichos

private int num_bichos
sincroniza: que hayan concluido su turno todos los nodos para "evaporar" la feromona private volatile int nodos_pendientes;


auxiliar

private static render.Sincronante auxiliar

render

private static boolean render
Constructor Detail

InterfazVisual

public InterfazVisual(java.lang.String IP,
                      java.util.Hashtable nodos,
                      int nodos_rows,
                      int nodos_cols,
                      int cell_rows,
                      int cell_cols,
                      int diversi,
                      float fide_min,
                      float fide_slope,
                      int saturat,
                      int bichos_por_nodo,
                      int regla)
post: Interfaz de usuario lista para aceptar los parametros de inicio de simulacion

Parameters:
IP - (y pto) que informara a cada simulador
nodos_cols - el numero de renglones de nodos
nodos_rows - el numero de columnas de nodos
Method Detail

despinta

public void despinta(int preY,
                     int preX)
              throws java.rmi.RemoteException
metodo con el que se invocan los cambios en el display se borra la hormiga en las preCoordenadas y se incluye en las postCoordenadas con orientacion w

Specified by:
despinta in interface VisualRemoto
java.rmi.RemoteException

pinta

public void pinta(int postY,
                  int postX,
                  int tipo,
                  int w)
           throws java.rmi.RemoteException
Specified by:
pinta in interface VisualRemoto
java.rmi.RemoteException

evapora

void evapora()

inicializa

private void inicializa(int diversida,
                        int saturacion,
                        int num_bichos,
                        float fi_min,
                        float fi_slope,
                        int which_rule)

finaliza

private void finaliza()

main

public static void main(java.lang.String[] argv)
                 throws java.lang.Exception
pre: Un archivo "nodos.loc" con las direcciones ip correspondientes a cada nodo donde reside un SimuladorNodal. SimuladoreNodal instanciado, registrado y exportado en cada uno de esos nodos Lee un archivo de propiedades ( {coordenada-IP} ) Obtiene referencias a instancias de EspacioRemoto con las IP Las almacena en un Hashtable contra sus coordenadas post: Instancia de Visualizador creada a partir de la tabla

java.lang.Exception