Class Robot

java.lang.Object
  |
  +--Robot

public class Robot
extends java.lang.Object

Utilizzato per il testing e le misure sul sistema, simula un utente che interagisce con un Client, richiedendo continuamente al FrontEnd delle operazioni. L'intervallo di tempo tra due richieste è un numero pseudocasuale distribuito uniformemente nell'intervallo [mindelay,mindelay+maxdelay] con estremi espressi in millisecondi. Le operazioni sono scelte casualmente tra list, get e put con probabilita' : list list_prob, get get_prob e put put_prob. Il numero di operazioni richieste e' fissato in max_operation. Per ogni operazione e' misurato il tempo di risposta e al termine dell'esecuzione e' calcolato e visualizzato il tempo medio di risposta.

Author:
Matteo Albini, Mauro Barbieri, Francesco Baschieri

Field Summary
(package private) static int get_prob
          Probabilita' dell'operazione get in percentuale (60%).
(package private)  java.io.ObjectInputStream inFeStream
          "ingresso" della socket, canale di comunicazione con il FrontEnd.
(package private)  MsgHeader[] intestazioni
          Insieme delle intestazioni scaricate dal FrontEnd.
(package private) static int list_prob
          Probabilita' dell'operazione list in percentuale (20%).
(package private) static int max_operation
          Numero di operazioni che sono richieste al FrontEnd.
(package private) static int maxdelay
          Sommato a mindelayfornisce l'intervallo massimo tra due operazioni in millisecondi.
(package private) static int mindelay
          Intervallo minimo tra due operazioni in millisecondi.
(package private)  java.io.ObjectOutputStream outFeStream
          "uscita" della socket, canale di comunicazione con il FrontEnd.
static int PORT
          Numero di porta per la comunicazione con il FrontEnd.
(package private) static int put_prob
          Probabilita' dell'operazione put in percentuale (20%).
(package private) static java.util.Random rand
          Generatore di numeri pseudocasuali.
 
Constructor Summary
Robot()
           
 
Method Summary
(package private)  void errorAction(int errorType)
          Gestisce i casi d'errore.
(package private)  void FrontEndCaduto()
           
(package private)  void getAction(MsgHeader header)
          Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo GET.
(package private)  void listAction()
          Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo LIST.
static void main(java.lang.String[] args)
          Il tempo di risposta medio delle operazioni richieste dal Robot al FrontEnd e' visualizzato in una finestra che rimane visibile anche dopo il termine di tutte le operazioni.
(package private)  void putAction()
          Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo PUT.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

PORT

public static final int PORT
Numero di porta per la comunicazione con il FrontEnd.

outFeStream

java.io.ObjectOutputStream outFeStream
"uscita" della socket, canale di comunicazione con il FrontEnd.

inFeStream

java.io.ObjectInputStream inFeStream
"ingresso" della socket, canale di comunicazione con il FrontEnd.

intestazioni

MsgHeader[] intestazioni
Insieme delle intestazioni scaricate dal FrontEnd.

list_prob

static int list_prob
Probabilita' dell'operazione list in percentuale (20%).

get_prob

static int get_prob
Probabilita' dell'operazione get in percentuale (60%).

put_prob

static int put_prob
Probabilita' dell'operazione put in percentuale (20%).

max_operation

static int max_operation
Numero di operazioni che sono richieste al FrontEnd.

mindelay

static int mindelay
Intervallo minimo tra due operazioni in millisecondi.

maxdelay

static int maxdelay
Sommato a mindelayfornisce l'intervallo massimo tra due operazioni in millisecondi.

rand

static java.util.Random rand
Generatore di numeri pseudocasuali.
Constructor Detail

Robot

public Robot()
Method Detail

listAction

void listAction()
Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo LIST.

getAction

void getAction(MsgHeader header)
Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo GET.

putAction

void putAction()
Realizza la parte di protocollo Robot-FrontEnd relativa ad una operazione di tipo PUT.

errorAction

void errorAction(int errorType)
Gestisce i casi d'errore.
Parameters:
errorType - identifica il tipo di errore che si è verificato.

FrontEndCaduto

void FrontEndCaduto()

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Il tempo di risposta medio delle operazioni richieste dal Robot al FrontEnd e' visualizzato in una finestra che rimane visibile anche dopo il termine di tutte le operazioni.