br.uerj.petrinetanalyzer.engine
Class PetriNetState

java.lang.Object
  extended by br.uerj.petrinetanalyzer.engine.PetriNetState
All Implemented Interfaces:
IntfEngineConstants

public class PetriNetState
extends java.lang.Object
implements IntfEngineConstants

Classe que representa o Estado de uma Rede de Petri, para análise.

Author:
Felipe Lino
Data: 25/02/2007
Atualização: 24/03/2007

Field Summary
private  int[] arrFireSequence
          Array com a seqüência de disparos.
private  int[] arrMarking
          Array de marcações dos Lugares na rede.
private  boolean[] arrTransFire
          Array informando se a transição está ou não habilitada para disparo.
private  int identificador
          Identificador do Estado, recebe o valor de um contador estático que é incrementado a cada estado criado.
private  int igualAoEstado
          Informa a qual estado é igual se ele for do tipo STATE_DUPLICADO
private  int limite
          Máximo de fichas encontrado em algum lugar da rede.
private  int stateType
          Informa o tipo de estado: STATE_TERMINAL, STATE_FRONTEIRA, STATE_DUPLICADO ou STATE_INTERIOR
private  boolean temTransicaoHabilitada
          Informa se tem transição habilitada para disparo.
private  int totalMarking
          Soma das marcações no Estado.
private static int totalState
          Contador estático que é incrementado a cada novo estado criado.
 
Fields inherited from interface br.uerj.petrinetanalyzer.common.interfaces.IntfEngineConstants
ERROR_CODE, STATE_DUPLICADO, STATE_FRONTEIRA, STATE_INTERIOR, STATE_TERMINAL, TOKEN_INFINITO
 
Constructor Summary
PetriNetState(int[] arrMarking, boolean[] arrTransFire, boolean temTransicaoHabilitada, int[] arrFireSequence)
          Construtor que recebe o array de marcações como parâmetro.
 
Method Summary
 boolean equals(java.lang.Object obj)
          Verifica se o objeto recebido como parâmetro possui estado igual ao chamador.
 int[] getArrFireSequence()
          Retorna o Array com a Seqüência de disparos.
 int[] getArrMarking()
          Retorna o array de marcações de Lugar.
 boolean[] getArrTransFire()
          Retorna Array boleano informando se a transição está ou não disponível.
 int getIdentificador()
          Retorna o Identificador.
 int getIgualAoEstado()
          Retorna qual o Estado do qual este é duplicata.
 int getLimite()
          Retorna o maximo de fichas encontrados em algum Lugar da Rede.
 int getMarking(int pos)
          Retorna marcação do Lugar na posição especificada.
 int getStateType()
          Retorna o tipo de Estado STATE_FRONTEIRA STATE_DUPLICADO STATE_INTERIOR STATE_TERMINAL
 int getTotalMarking()
          Retorna a soma das marcações dos Lugares.
static int getTotalState()
          Retorna o total de Estados.
 void setArrMarking(int[] arrMarking)
          Seta o array de marcações
 void setArrTransFire(boolean[] arrTransFire)
          Seta o Array boleano informando se a transição está ou não disponível.
 void setIgualAoEstado(int idEstado)
          Caso o Estado seja STATE_DUPLICADO, indica a qual estado é igual.
 void setMarking(int pos, int value)
          Seta a marcação de um Lugar na Rede.
 void setStateType(int newStateType)
          Seta o estado.
static void setTotalState(int total)
          Seta o total de estados.
 void setTransicaoHabilitada(boolean temTransicaoHabilitada)
          Seta a informação se tem ou não transição habilitada para o estado.
 boolean temTransicaoHabilitada()
          Retorna se tem ou não transição habilitada para disparo no Estado.
 java.lang.String toString()
          Sobrescreve o método toString()
static void zeraTotalState()
          Zera a variável que conta o total de Estados.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

arrMarking

private int[] arrMarking
Array de marcações dos Lugares na rede.


arrTransFire

private boolean[] arrTransFire
Array informando se a transição está ou não habilitada para disparo.


arrFireSequence

private int[] arrFireSequence
Array com a seqüência de disparos.


stateType

private int stateType
Informa o tipo de estado: STATE_TERMINAL, STATE_FRONTEIRA, STATE_DUPLICADO ou STATE_INTERIOR


totalMarking

private int totalMarking
Soma das marcações no Estado.


temTransicaoHabilitada

private boolean temTransicaoHabilitada
Informa se tem transição habilitada para disparo.


identificador

private int identificador
Identificador do Estado, recebe o valor de um contador estático que é incrementado a cada estado criado.


limite

private int limite
Máximo de fichas encontrado em algum lugar da rede.


igualAoEstado

private int igualAoEstado
Informa a qual estado é igual se ele for do tipo STATE_DUPLICADO


totalState

private static int totalState
Contador estático que é incrementado a cada novo estado criado.

Constructor Detail

PetriNetState

public PetriNetState(int[] arrMarking,
                     boolean[] arrTransFire,
                     boolean temTransicaoHabilitada,
                     int[] arrFireSequence)
Construtor que recebe o array de marcações como parâmetro.

Method Detail

setArrTransFire

public void setArrTransFire(boolean[] arrTransFire)
Seta o Array boleano informando se a transição está ou não disponível.

Parameters:
arrTransFire - Array boleano informando se a transição está ou não disponível

getArrTransFire

public boolean[] getArrTransFire()
Retorna Array boleano informando se a transição está ou não disponível.

Returns:
Array boleano informando se a transição está ou não disponível

setArrMarking

public void setArrMarking(int[] arrMarking)
Seta o array de marcações

Parameters:
arrMarking -

setMarking

public void setMarking(int pos,
                       int value)
Seta a marcação de um Lugar na Rede.

Parameters:
pos - Posição do Lugar
value - Numero de fichas a ser colocada no Lugar

getArrMarking

public int[] getArrMarking()
Retorna o array de marcações de Lugar.

Returns:
Array com as marcações do Lugar

getMarking

public int getMarking(int pos)
Retorna marcação do Lugar na posição especificada.

Parameters:
pos - Posição do Lugar, no array de Lugar.
Returns:
Marcação do Lugar na posição especificada.

getTotalMarking

public int getTotalMarking()
Retorna a soma das marcações dos Lugares.

Returns:
Soma das marcações dos Lugares.

getStateType

public int getStateType()
Retorna o tipo de Estado

Returns:
tipo de Estado

setStateType

public void setStateType(int newStateType)
Seta o estado. Que pode ser:

Parameters:
newStateType - Novo tipo de Estado

setTotalState

public static void setTotalState(int total)
Seta o total de estados.

Parameters:
total - Total de estados

getTotalState

public static int getTotalState()
Retorna o total de Estados.

Returns:
total de estados

getIdentificador

public int getIdentificador()
Retorna o Identificador.

Returns:
Identificador

setTransicaoHabilitada

public void setTransicaoHabilitada(boolean temTransicaoHabilitada)
Seta a informação se tem ou não transição habilitada para o estado.

Parameters:
temTransicaoHabilitada - Informa se tem ou não transição habilitada para disparao no Estado.

temTransicaoHabilitada

public boolean temTransicaoHabilitada()
Retorna se tem ou não transição habilitada para disparo no Estado.

Returns:
true caso tenha transição habilitada para disparo no Estado, e false caso contrário.

setIgualAoEstado

public void setIgualAoEstado(int idEstado)
Caso o Estado seja STATE_DUPLICADO, indica a qual estado é igual.

Parameters:
idEstado - identificador do estado duplicado.

getIgualAoEstado

public int getIgualAoEstado()
Retorna qual o Estado do qual este é duplicata.

Returns:
Identificador do Estado Duplicado.

getLimite

public int getLimite()
Retorna o maximo de fichas encontrados em algum Lugar da Rede.

Returns:
Máximo de fichas encontrados em algum Lugar da Rede.

getArrFireSequence

public int[] getArrFireSequence()
Retorna o Array com a Seqüência de disparos.

Returns:
Array com a Seqüência de disparos.

zeraTotalState

public static void zeraTotalState()
Zera a variável que conta o total de Estados.


equals

public boolean equals(java.lang.Object obj)
Verifica se o objeto recebido como parâmetro possui estado igual ao chamador.

Overrides:
equals in class java.lang.Object
Parameters:
obj - Objeto da comparação

toString

public java.lang.String toString()
Sobrescreve o método toString()

Overrides:
toString in class java.lang.Object
Returns:
String que identifica o Estado