br.uerj.petrinetanalyzer.common
Class ImplPetriNetBase

java.lang.Object
  extended by br.uerj.petrinetanalyzer.common.ImplPetriNetBase
All Implemented Interfaces:
IntfPetriNetBase
Direct Known Subclasses:
PetriNetGraph

public class ImplPetriNetBase
extends java.lang.Object
implements IntfPetriNetBase

Classe base para definição de Redes de Petri.

Author:
Felipe Lino
Data:11/01/2007
Atualizado: 12/10/2007

Field Summary
private  java.util.ArrayList listArco
           
private  java.util.ArrayList listLugar
           
private  java.util.ArrayList listTransicao
           
private  int[][] matrizEntrada
           
private  int[][] matrizIncidencia
           
private  int[][] matrizSaida
           
private  java.lang.String nome
           
static java.lang.String NOME_REDE
           
 
Constructor Summary
ImplPetriNetBase()
          Construtor default
 
Method Summary
 void addArco(ArcBase arco)
          Adiciona um Arco a Rede de Petri.
 void addLugar(PlaceBase lugar)
          Adiciona um Lugar a Rede de Petri.
 void addTransicao(TransitionBase transicao)
          Adiciona uma Transicao a Rede de Petri.
 void buildMatrizEntradaAndSaida()
          Constrói as Matrizes de Entrada e Saída.
 void buildMatrizIncidencia()
          Constrói a Matriz de Incidência a partir das matrizes de Entrada e Saída.
 ArcBase getArc(int posicao)
          Retorna instância de Arco especificada pela posição se existir, caso contrário retorna null.
 int[] getArrMarking()
          Retorna o array de marcações na forma de Array de inteiros.
 int getDimensao()
          Retorna dimensao das matrizes que representam a Rede de Petri.
 java.util.ArrayList getListArcos()
          Retorna o ArrayList com todos os Arcos da Rede de Petri.
 java.util.ArrayList getListLugar()
          Retorna o ArrayList com todos os Lugares da Rede de Petri.
 java.util.ArrayList getListTransicao()
          Retorna o ArrayList com todas as Transições da Rede de Petri.
 PlaceBase getLugar(int posicao)
          Retorna instância do Lugar especificado pela sua posição se existir, caso contrário retorna null.
 PlaceBase getLugar(java.lang.String nome)
          Retorna instância do Lugar especificado pelo nome se existir, caso contrário retorna null.
 int[][] getMatrizEntrada()
          Retorna a matriz de Entrada.
 int[][] getMatrizIncidencia()
          Retorna matriz de Incidência.
 int[][] getMatrizSaida()
          Retorna a matriz de Saída.
 java.lang.String getNome()
          Retorna o nome da Rede de Petri.
 int getNumArco()
          Retorna o número de Arcos da Rede de Petri.
 int getNumLugar()
          Retorna o número de Lugares da Rede de Petri.
 int getNumTransicao()
          Retorna o número de Transições da Rede de Petri.
 TransitionBase getTransicao(int posicao)
          Retorna instância da Transição especificada pela posição se existir, caso contrário retorna null.
 TransitionBase getTransicao(java.lang.String nome)
          Retorna instância da Transição especificada pelo nome se existir, caso contrário retorna null.
 void removeArco(ArcBase arco)
          Remove um Arco da Rede de Petri especificado por sua instância.
 void removeArco(int posicao)
          Remove um Arco da Rede de Petri especificado pela sua posição no ArrayList que contem os Arcos.
 void removeArcoAssociadoLugar(PlaceBase place)
          Remove Arco associado a um Lugar.
 void removeArcoAssociadoTransicao(TransitionBase trans)
          Remove Arco associado a uma Transição.
 void removeLugar(int posicao)
          Remove um Lugar da Rede de Petri especificado pela sua posicao no ArrayList que contem os Lugares da Rede de Petri.
 void removeLugar(PlaceBase lugar)
          Remove um Lugar da Rede de Petri especificado pela sua instância.
 void removeLugar(java.lang.String nome)
          Remove um Lugar da Rede de Petri especificado pelo nome
 void removeTransicao(int posicao)
          Remove uma Transição da Rede de Petri especificada pela sua posição no ArrayList que contem as Transições da Rede.
 void removeTransicao(java.lang.String nome)
          Remove uma transição da Rede de Petri especificada pelo seu nome.
 void removeTransicao(TransitionBase transicao)
          Remove uma Transição da Rede de Petri especificada por sua instância.
 void setNome(java.lang.String nome)
          Seta o nome da Rede de Petri.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nome

private java.lang.String nome

listLugar

private java.util.ArrayList listLugar

listTransicao

private java.util.ArrayList listTransicao

listArco

private java.util.ArrayList listArco

matrizEntrada

private int[][] matrizEntrada

matrizSaida

private int[][] matrizSaida

matrizIncidencia

private int[][] matrizIncidencia

NOME_REDE

public static final java.lang.String NOME_REDE
See Also:
Constant Field Values
Constructor Detail

ImplPetriNetBase

public ImplPetriNetBase()
Construtor default

Method Detail

setNome

public void setNome(java.lang.String nome)
Seta o nome da Rede de Petri.

Specified by:
setNome in interface IntfPetriNetBase
Parameters:
nome - Nome da Rede de Petri

addLugar

public void addLugar(PlaceBase lugar)
Adiciona um Lugar a Rede de Petri.

Specified by:
addLugar in interface IntfPetriNetBase
Parameters:
lugar - Lugar de Rede de Petri

addTransicao

public void addTransicao(TransitionBase transicao)
Adiciona uma Transicao a Rede de Petri.

Specified by:
addTransicao in interface IntfPetriNetBase
Parameters:
transicao - Transicao de Rede de Petri

addArco

public void addArco(ArcBase arco)
Adiciona um Arco a Rede de Petri.

Specified by:
addArco in interface IntfPetriNetBase
Parameters:
arco - Arco de Rede de Petri

removeLugar

public void removeLugar(java.lang.String nome)
Remove um Lugar da Rede de Petri especificado pelo nome

Specified by:
removeLugar in interface IntfPetriNetBase
Parameters:
nome - Nome do Lugar

removeLugar

public void removeLugar(int posicao)
Remove um Lugar da Rede de Petri especificado pela sua posicao no ArrayList que contem os Lugares da Rede de Petri.

Specified by:
removeLugar in interface IntfPetriNetBase
Parameters:
posicao - Posicao do Lugar

removeLugar

public void removeLugar(PlaceBase lugar)
Remove um Lugar da Rede de Petri especificado pela sua instância.

Specified by:
removeLugar in interface IntfPetriNetBase
Parameters:
lugar - Lugar da Rede de Petri

removeTransicao

public void removeTransicao(java.lang.String nome)
Remove uma transição da Rede de Petri especificada pelo seu nome.

Specified by:
removeTransicao in interface IntfPetriNetBase
Parameters:
nome - Nome da Transição

removeTransicao

public void removeTransicao(int posicao)
Remove uma Transição da Rede de Petri especificada pela sua posição no ArrayList que contem as Transições da Rede.

Specified by:
removeTransicao in interface IntfPetriNetBase
Parameters:
posicao - Posicao da Transição

removeTransicao

public void removeTransicao(TransitionBase transicao)
Remove uma Transição da Rede de Petri especificada por sua instância.

Specified by:
removeTransicao in interface IntfPetriNetBase
Parameters:
transicao - Transicao da Rede de Petri

removeArcoAssociadoLugar

public void removeArcoAssociadoLugar(PlaceBase place)
Remove Arco associado a um Lugar.

Parameters:
place - Lugar da Rede.

removeArcoAssociadoTransicao

public void removeArcoAssociadoTransicao(TransitionBase trans)
Remove Arco associado a uma Transição.

Parameters:
trans - Transição da Rede.

removeArco

public void removeArco(int posicao)
Remove um Arco da Rede de Petri especificado pela sua posição no ArrayList que contem os Arcos.

Specified by:
removeArco in interface IntfPetriNetBase
Parameters:
posicao - Posicao do Arco

removeArco

public void removeArco(ArcBase arco)
Remove um Arco da Rede de Petri especificado por sua instância.

Specified by:
removeArco in interface IntfPetriNetBase
Parameters:
arco - Arco da Rede de Petri

getLugar

public PlaceBase getLugar(java.lang.String nome)
Retorna instância do Lugar especificado pelo nome se existir, caso contrário retorna null.

Specified by:
getLugar in interface IntfPetriNetBase
Parameters:
nome - Nome do Lugar
Returns:
Lugar

getLugar

public PlaceBase getLugar(int posicao)
Retorna instância do Lugar especificado pela sua posição se existir, caso contrário retorna null.

Specified by:
getLugar in interface IntfPetriNetBase
Parameters:
posicao - Posição do Lugar
Returns:
Lugar

getTransicao

public TransitionBase getTransicao(java.lang.String nome)
Retorna instância da Transição especificada pelo nome se existir, caso contrário retorna null.

Specified by:
getTransicao in interface IntfPetriNetBase
Parameters:
nome - Nome da Transição
Returns:
Transição

getArc

public ArcBase getArc(int posicao)
Retorna instância de Arco especificada pela posição se existir, caso contrário retorna null.

Parameters:
posicao - posicao no Array de Arcos.
Returns:
Arco

getTransicao

public TransitionBase getTransicao(int posicao)
Retorna instância da Transição especificada pela posição se existir, caso contrário retorna null.

Specified by:
getTransicao in interface IntfPetriNetBase
Parameters:
posicao - Posição da Transição
Returns:
Transição

getListLugar

public java.util.ArrayList getListLugar()
Retorna o ArrayList com todos os Lugares da Rede de Petri.

Specified by:
getListLugar in interface IntfPetriNetBase
Returns:
ArrayList com os Lugares da da Rede de Petri

getListTransicao

public java.util.ArrayList getListTransicao()
Retorna o ArrayList com todas as Transições da Rede de Petri.

Specified by:
getListTransicao in interface IntfPetriNetBase
Returns:
ArrayList com as Transições da da Rede de Petri

getListArcos

public java.util.ArrayList getListArcos()
Retorna o ArrayList com todos os Arcos da Rede de Petri.

Specified by:
getListArcos in interface IntfPetriNetBase
Returns:
ArrayList com os Arcos da da Rede de Petri

getArrMarking

public int[] getArrMarking()
Retorna o array de marcações na forma de Array de inteiros.

Returns:
Array de inteiros com as marcações dos Lugares.

buildMatrizEntradaAndSaida

public void buildMatrizEntradaAndSaida()
Constrói as Matrizes de Entrada e Saída.

Specified by:
buildMatrizEntradaAndSaida in interface IntfPetriNetBase

buildMatrizIncidencia

public void buildMatrizIncidencia()
Constrói a Matriz de Incidência a partir das matrizes de Entrada e Saída. Casos estas últimas não existam, serão constrúidas também.

Specified by:
buildMatrizIncidencia in interface IntfPetriNetBase

getMatrizEntrada

public int[][] getMatrizEntrada()
Retorna a matriz de Entrada.

Specified by:
getMatrizEntrada in interface IntfPetriNetBase
Returns:
Matriz de Entrada

getMatrizSaida

public int[][] getMatrizSaida()
Retorna a matriz de Saída.

Specified by:
getMatrizSaida in interface IntfPetriNetBase
Returns:
Matriz de Saída

getMatrizIncidencia

public int[][] getMatrizIncidencia()
Retorna matriz de Incidência.

Specified by:
getMatrizIncidencia in interface IntfPetriNetBase
Returns:
Matriz de Incidência

getDimensao

public int getDimensao()
Retorna dimensao das matrizes que representam a Rede de Petri.

Specified by:
getDimensao in interface IntfPetriNetBase
Returns:
Dimensão das Matrizes que representam a Rede de Petri

getNumLugar

public int getNumLugar()
Retorna o número de Lugares da Rede de Petri.

Specified by:
getNumLugar in interface IntfPetriNetBase
Returns:
Número de Lugares da Rede de Petri

getNumTransicao

public int getNumTransicao()
Retorna o número de Transições da Rede de Petri.

Specified by:
getNumTransicao in interface IntfPetriNetBase
Returns:
Número de Transições da Rede de Petri

getNumArco

public int getNumArco()
Retorna o número de Arcos da Rede de Petri.

Specified by:
getNumArco in interface IntfPetriNetBase
Returns:
Número de Arcos da Rede de Petri

getNome

public java.lang.String getNome()
Retorna o nome da Rede de Petri.

Specified by:
getNome in interface IntfPetriNetBase
Returns:
Nome da Rede de Petri