Você está na página 1de 76

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CINCIAS EXATAS E NATURAIS


CURSO DE CINCIAS DA COMPUTAO
(Bacharelado)
APLICATIVO PARA CONTROLE DE FERROVIA
UTILIZANDO PROCESSAMENTO EM TEMPO REAL E
REDES DE PETRI
TRABALHO DE CONCLUSO DE CURSO SUBMETDO UNVERSDADE
REGONAL DE BLUMENAU PARA A OBTENO DOS CRDTOS NA
DSCPLNA COM NOME EQUVALENTE NO CURSO DE CNCAS DA
COMPUTAO BACHARELADO
LUCAS ANDREAS SCHUBERT
BLUMENAU, JUNHO/2003
2003/1-44
APLICATIVO PARA CONTROLE DE FERROVIA
UTILIZANDO PROCESSAMENTO EM TEMPO REAL E
REDES DE PETRI
LUCAS ANDREAS SCHUBERT
ESTE TRABALHO DE CONCLUSO DE CURSO FO JULGADO ADEQUADO
PARA OBTENO DOS CRDTOS NA DSCPLNA DE TRABALHO DE
CONCLUSO DE CURSO OBRGATRA PARA OBTENO DO TTULO DE:
BACHAREL EM CINCIAS DA COMPUTAO
Prof. Jos Roque Voltolini da Silva Orientador na FURB
Prof. Jos Roque Voltolini da Silva Coordenador do TCC
BANCA EXAMINADORA
Prof. Jos Roque Voltolini da Silva
Prof. Miguel Alexandre Wisintainer
Prof. Joyce Martins
DEDICATRIA
Dedico este trabalho a toda a minha Iamilia, pela ajuda que me deu
no decorrer de toda a minha vida, pois sem a ajuda deles
no estaria aqui hoje.
AGRADECIMENTOS
Gostaria de agradecer o meu orientador ProI. Jose Roque Voltolini da Silva, pelo
incentivo e por todo o apoio que me deu na conIeco do trabalho. Assim como, tambem
gostaria de agradecer o ProI. Miguel Alexandre Wisintainer, pelo apoio no desenvolvimento
do hardware, que Ioi utilizado no prototipo.
Gostaria de agradecer tambem todos os meus amigos que, diretamente ou
indiretamente, me ajudaram no decorrer da minha vida acadmica.
RESUMO
Este trabalho tem como objetivo implementar o controle de um Ierrorama, utilizando
para especiIicao do mesmo, redes de Petri. Tambem e levada em considerao a variavel
tempo, o que caracteriza este prototipo como um soItware que trabalha em tempo real. A
implementao do prototipo Ioi Ieita utilizando a linguagem de programao Obfect Pascal
para os modulos de controle implementados no microcomputador e a linguagem PICBASIC
para implementar o controle dos dispositivos externos embarcados.
ABSTRACT
This paper has as objective, develop the control oI a Railroad system, using as
speciIication technic, Petri Nets. It`s also considered the variable time, what characterizes this
prototype as a real time soItware. The implementation oI this prototype was made, using as
object pascal programming language, and the PICBASIC programming language to do the
implementation oI the embebbed soItware.
LISTA DE FIGURAS
FIGURA 1 Exemplo de uma rede de Petri. ........................................................................... 18
FIGURA 2 ConIigurao apos o disparo de t1 (Iig.1). ......................................................... 19
FIGURA 3 - Representao graIica de uma rede de Petri....................................................... 20
FIGURA 4 Exemplo de uma rede de Petri no k-limitada e k-limitada................................ 27
FIGURA 5 Exemplo de bloqueio Iatal .................................................................................. 28
FIGURA 6 Caso tipico do uso de watchdog ......................................................................... 33
FIGURA 7 Diagrama de Iuncionamento do prototipo.......................................................... 40
FIGURA 8 Tela do soItware HPSim. .................................................................................... 41
FIGURA 9 Tela do soItware Platform Independent Petri-Net Editor. ................................. 41
FIGURA 10 Modelagem do modulo Tutor ........................................................................... 42
FIGURA 11 Matrizes do modulo tutor.................................................................................. 43
FIGURA 12 Propriedades da especiIicao do modulo tutor. .............................................. 44
FIGURA 13 Modelagem do modulo da porta serial. ............................................................ 45
FIGURA 14 Matrizes do modulo da porta serial. .................................................................. 47
FIGURA 15 Desenho da malha Ierroviaria modelada. ......................................................... 48
FIGURA 16 Modelagem do modulo da estrutura da malha.................................................. 48
FIGURA 17 Matrizes do modulo da estrutura da malha....................................................... 49
FIGURA 18 Modelagem do modulo master. ........................................................................ 50
FIGURA 19 Matrizes do modulo master. ............................................................................. 51
FIGURA 20 Modelagem do modulo do trem........................................................................ 52
FIGURA 21 Matrizes do modulo do trem............................................................................. 54
FIGURA 22 Modelagem do modulo do cruzamento. ........................................................... 56
FIGURA 23 Matrizes do modulo do cruzamento. ................................................................ 58
FIGURA 24 Modelagem do modulo da interIace. ................................................................ 59
FIGURA 25 Matrizes do modulo da interIace. ..................................................................... 60
FIGURA 26 Tela de interIace. .............................................................................................. 66
FIGURA 27 Viso geral da maquete..................................................................................... 73
FIGURA 28 Trem.................................................................................................................. 74
FIGURA 29 Cruzamento....................................................................................................... 75
FIGURA 30 Detalhe dos sensores......................................................................................... 76
FIGURA 31 Circuito master. ................................................................................................ 76
LISTA DE QUADROS
QUADRO 1 DeIinio matematica da Iig.1.......................................................................... 19
QUADRO 2 Representao matematica da Iig. 3. ................................................................ 21
QUADRO 3 Matriz Pre ......................................................................................................... 21
QUADRO 4 Matriz Post ....................................................................................................... 22
QUADRO 5 Equao para calculo da matriz de incidncia.................................................. 22
QUADRO 6 Matriz de incidncia ......................................................................................... 22
QUADRO 7 Matriz
0
M ........................................................................................................ 23
QUADRO 8 t1 sensibilizada ................................................................................................. 23
QUADRO 9 t2 no sensibilizada........................................................................................... 24
QUADRO 10 Disparo da transio t1. .................................................................................. 24
QUADRO 11 Seqncia de disparo...................................................................................... 25
QUADRO 12 Condio para as 2 transies serem eIetivamente paralelas. ........................ 26
QUADRO 13 DeIinio de alcanabilidade.......................................................................... 26
QUADRO 14 Funo que descreve a probabilidade de disparo da transio T acontecer
antes de r. ..................................................................................................... 34
QUADRO 15 Exemplo do Iormato do polling...................................................................... 61
QUADRO 16 Criao dos objetos criados pelo objeto Tutor. .............................................. 63
QUADRO 17 Funes que veriIicam se as transies esto sensibilizadas.......................... 63
QUADRO 18 Funes que eIetuam os disparos das transies. ........................................... 64
LISTA DE TABELAS
TABELA 1 Descrio dos lugares e transies especiIicados na Iig. 10.............................. 43
TABELA 2 Descrio dos lugares e transies especiIicados na Iig. 13.............................. 46
TABELA 3 Descrio dos lugares e transies especiIicados na Iig. 16.............................. 49
TABELA 4 Descrio dos lugares e transies especiIicados na Iig. 18.............................. 50
TABELA 5 Descrio dos lugares e transies especiIicados na Iig. 21.............................. 53
TABELA 6 Descrio dos lugares e transies especiIicados na Iig. 22.............................. 57
TABELA 7 Descrio dos lugares e transies especiIicados na Iig. 24.............................. 60
TABELA 8 Lista de constantes utilizadas na comunicao de dados do prototipo. ............. 62
SUMRIO
1 INTRODUO................................................................................................................... 14
1.1 OBJETIVOS DO TRABALHO........................................................................................ 15
1.2 ESTRUTURA DO TRABALHO...................................................................................... 15
2 REDES DE PETRI .............................................................................................................. 17
2.1 HISTORICO...................................................................................................................... 17
2.2 APRESENTAO TEORICA DE REDES DE PETRI................................................... 18
2.2.1 ELEMENTOS BASICOS DE UMA REDE DE PETRI................................................. 18
2.2.2 DEFINIO DE UMA REDE DE PETRI..................................................................... 19
2.2.3 REPRESENTAO GRAFICA DE UMA REDE DE PETRI...................................... 20
2.2.4 REPRESENTAO MATRICIAL DE UMA REDE DE PETRI ................................. 21
2.2.5 REDE DE PETRI PURA................................................................................................ 23
2.2.6 TRANSIO SENSIBILIZADA DE UMA REDE DE PETRI .................................... 23
2.2.7 DISPARO DE UMA TRANSIO DE UMA REDE DE PETRI................................. 24
2.2.8 SEQNCIA DE DISPARO DE TRANSIES.......................................................... 24
2.2.9 CONFLITO ESTRUTURAL E EFETIVO..................................................................... 25
2.2.10 PARALELISMO ESTRUTURAL E EFETIVO........................................................... 25
2.3 PROPRIEDADES DO MODELO .................................................................................... 26
2.3.1 ALCANABILIDADE .................................................................................................. 26
2.3.2 LIMITAO.................................................................................................................. 26
2.3.3 VIVACIDADE................................................................................................................ 27
2.3.4 REINICIABILIDADE .................................................................................................... 28
2.4 PROPRIEDADES ESTRUTURAIS ................................................................................. 28
2.4.1 COMPONENTES CONSERVATIVOS, INVARIANTES DE LUGAR....................... 28
2.4.2 COMPONENTES REPETITIVOS, INVARIANTES DE TRANSIO...................... 29
2.5 CLASSIFICAO DAS REDES DE PETRI................................................................... 29
2.5.1 REDES DE PETRI ORDINARIAS................................................................................ 29
2.5.2 REDES DE PETRI DE ALTO NIVEL........................................................................... 30
2.5.2.1 REDE DE PETRI ORIENTADA A OBJETOS........................................................... 30
2.5.2.2 REDE DE PETRI COLORIDA.................................................................................... 30
2.5.3 REDE DE PETRI COM REPRESENTAO DE TEMPO.......................................... 31
2.5.3.1 REDE DE PETRI TEMPORIZADA............................................................................ 31
2.5.3.1.1 REDE DE PETRI T-TEMPORIZADA................................................................... 31
2.5.3.1.2 REDE DE PETRI P-TEMPORIZADA ................................................................... 31
2.5.3.2 REDE DE PETRI TEMPORAL................................................................................... 32
2.5.3.2.1 REPRESENTAO DO WATCHDOG................................................................. 32
2.5.3.3 REDE DE PETRI ESTOCASTICAS........................................................................... 34
3 SISTEMAS EM TEMPO REAL......................................................................................... 35
3.1 HISTORICO...................................................................................................................... 35
3.2 REQUISITOS PARA SISTEMAS EM TEMPO REAL................................................... 36
3.2.1 TEMPO REAL CRITICO E NO CRITICO................................................................. 36
3.2.2 SIMULTANIEDADE..................................................................................................... 36
3.2.3 PREVISIBILIDADE....................................................................................................... 37
3.2.4 FIDELIDADE................................................................................................................. 37
4 DESENVOLVIMENTO DO TRABALHO ........................................................................ 38
4.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER TRABALHADO....................... 38
4.2 ESPECIFICAO............................................................................................................ 39
4.2.1 ESPECIFICAO DO TUTOR..................................................................................... 42
4.2.2 ESPECIFICAO DA PORTA SERIAL...................................................................... 44
4.2.3 ESPECIFICAO DA ESTRUTURA DA MALHA .................................................... 47
4.2.4 ESPECIFICAO DO MASTER.................................................................................. 50
4.2.5 ESPECIFICAO DO TREM....................................................................................... 51
4.2.6 ESPECIFICAO DO CRUZAMENTO...................................................................... 55
4.2.7 ESPECIFICAO DA INTERFACE............................................................................ 59
4.2.8 ESPECIFICAO DOS PACOTES DE MENSAGENS .............................................. 61
4.3 IMPLEMENTAO ........................................................................................................ 62
4.3.1 FERRAMENTAS UTILIZADAS NA IMPLEMENTAO........................................ 65
4.3.2 INTERFACE DO PROTOTIPO..................................................................................... 65
4.3.3 FUNCIONAMENTO DO PROTOTIPO........................................................................ 66
5 CONSIDERAES FINAIS .............................................................................................. 68
5.1 DIFICULDADES ENCONTRADAS............................................................................... 68
5.2 LIMITAES................................................................................................................... 69
5.3 EXTENSES.................................................................................................................... 69
REFERNCIAS BIBLIOGRAFICAS ..................................................................................... 70
APNDICE A IMAGENS DA MAQUETE UTILIZADA PELO PROTOTIPO ................ 73
14
1 INTRODUO
Existe hoje em dia uma grande necessidade de automatizar processos, objetivando um
tratamento com maior perIeio e segurana dos mesmos. Com o passar dos tempos, as
aplicaes deixaram de ser simples calculos matematicos, restritas a instituies de pesquisa,
em que o resultado era obtido horas depois de iniciar o processamento. Para aplicaes de
grande porte, com processamento distribuido, e restrio de tempo, como por exemplo
controle de aeronaves, naves espaciais e equipamentos hospitalares, em que a resposta deve
ser quase que imediata, pois vidas e milhes de dolares esto em jogo, muitos, ou a grande
maioria destes processos de automao, necessitam de processamento em tempo real para que
possam controlar de maneira eIiciente e correta estes processos.
Processamento em tempo real tornou-se responsavel por muitas aplicaes e controles
mais precisos, particularmente aqueles em que a variavel tempo e considerada, em que se
precisa do retorno de uma inIormao em um tempo estipulado, pois caso contrario poderiam
ocorrer problemas catastroIicos (TILBORG, 1991) .
Com o avano tecnologico no decorrer dos tempos, os sistemas tornaram-se cada vez
mais complexos, e viu-se a necessidade de modelar estes de maneira Iormal, justamente com
o intuito de evitar erros e incoerncias nos mesmos. Entre as varias Ierramentas que Ioram
criadas com este proposito, pode-se destacar as redes de Petri.
As redes de Petri Ioram desenvolvidas com o intuito de se Iazer estudo de sistemas
como avaliao de desempenho, veriIicao Iormal em sistemas discretos, protocolos de
comunicao, concepo de soItwares em tempo real e/ou distribuidos, sistemas de transporte,
logistica e outros (CARDOSO, 1997).
Com uma analise de um sistema modelado atraves de uma rede de Petri, pode-se
revelar importantes inIormaes sobre o seu dinamismo, Iuncionamento, alem de detectar
problemas classicos que tratam excluso mutua, sincronizao e paralelismo, entre outros.
Uma das aplicaes que usa as caracteristicas acima citadas e a produtor/consumidor.
Uma outra aplicao que tambem usa as caracteristicas acima citadas e o controle de uma
malha Ierroviaria.
15
Um grande problema no transporte Ierroviario e Iazer o controle de toda a malha
Ierroviaria manualmente, a qual envolve trens, semaIoros, entre outros. Na Europa existem
sistemas para Iazer este controle, como o soItware IECC (EAE, 2002). Os sistemas de
controle de uma malha Ierroviaria devem ser desenvolvidos para operar em tempo real,
devido a natureza do problema e a necessidade de constantes veriIicaes das posies dos
trens, das rotas, dos semaIoros, entre outros.
Para que o sistema realmente controle com segurana uma malha Ierroviaria, Iaz-se
necessario normalmente uma deIinio Iormal do problema, podendo para isto utilizar-se de
redes de Petri.
Este trabalho descreve o desenvolvimento de um prototipo para automatizar e
solucionar problemas que envolvam o controle de uma malha Ierroviaria, inclusive
considerando restries de tempo (controle em tempo real). Para tanto, uma deIinio Iormal
do problema e Ieita, utilizando-se para isso redes de Petri. Ainda, um Ierrorama e utilizado
para testar o sistema.
1.1 OBJETIVOS DO TRABALHO
O objetivo e desenvolver um soItware que controle uma malha Ierroviaria, envolvendo
o controle de processamento em tempo real.
Os objetivos especiIicos do trabalho so:
a) especiIicar, usando redes de Petri, o controle de cruzamentos entre trilhos para
evitar que dois trens colidam;
b) incluir no soItware, atraves do arquivo de conIigurao, o desenho da malha
Ierroviaria a ser controlada;
c) utilizar uma maquete de Ierrorama para testar o sistema.
1.2 ESTRUTURA DO TRABALHO
No capitulo 1 Ioram deIinidos os objetivos do trabalho, assim como uma introduo do
mesmo.
No capitulo 2 Iaz-se algumas consideraes sobre redes de Petri.
16
No capitulo 3 Iaz-se algumas consideraes sobre sistemas em tempo real.
No capitulo 4 Iaz-se o relato do desenvolvimento do trabalho.
No capitulo 5 encontram-se as consideraes Iinais do trabalho.
17
2 REDES DE PETRI
Com o aumento da complexidade dos soItwares, tambem viu-se a necessidade de
desenvolver Ierramentas para descrever e modelar matematicamente problemas e processos,
de uma maneira Iormal, com o intuito de prever todas as condies para diminuir os riscos de
erros e inconsistncias nos soItwares. Entre as varias Ierramentas para este Iim esto as redes
de Petri (CARDOSO, 1997).
Segundo Cardoso (1997), as vantagens na utilizao da rede de Petri podem ser
resumidas pelas consideraes seguintes:
a) pode-se descrever uma ordem parcial entre varios eventos, o que possibilita levar-
se em conta a Ilexibilidade;
b) os estados, bem como os eventos so representados explicitamente;
c) uma unica Iamilia de Ierramentas e utilizada nos diversos niveis da estrutura
hierarquica do controle, o que Iacilita a integrao destes niveis;
d) uma descrio precisa e Iormal das sincronizaes torna-se possivel, o que e
essencial para alcanar-se a necessaria segurana de Iuncionamento.
Por outro lado, segundo Reisig (1992), algumas desvantagens na utilizao das redes
de Petri esto na grande quantidade de teoria que o assunto apresenta, assim como tambem
pelo Iato da grande maioria de literaturas encontradas sobre o assunto ser muito matematica e
pouco pratica.
Com uma analise de um sistema modelado atraves de uma rede de Petri, pode-se
revelar importantes inIormaes sobre o seu dinamismo, Iuncionamento, alem de detectar
problemas classicos que tratam excluso mutua, sincronizao, paralelismo, entre outros.
2.1 HISTRICO
Em 1962, surgiu uma tese intitulada 'Comunicao de Autmatos, cujo autor Ioi Carl
Adam Petri, na universidade de Darmstadt, na Alemanha. Porem, Ioi apenas entre 1968 e
1976 que um grupo de pesquisadores da Massachussetts Institute of Techonolv (MIT)
realmente impulsionou os estudos do assunto, para algo que mais tarde se tornou conhecido
como redes de Petri.
18
A tese de Petri trazia a ideia basica de que a melhor maneira de expressar Iormalmente
e analisar a comunicao de autmatos e identiIicar a maneira com que os estados mudam
dentro do autmato (VALETTE,1999).
2.2 APRESENTAO TERICA DE REDES DE PETRI
Sero apresentados neste topico os conceitos teoricos das redes de Petri. Os elementos
basicos, deIinio, representao graIica, representao matricial, o que e uma rede de pura,
transio sensibilizada, seqncia de disparo de uma transio, conIlito estrutural e eIetivo e
paralelismo estrutural e eIetivo de uma rede de Petri tambem sero apresentados.
2.2.1 ELEMENTOS BSICOS DE UMA REDE DE PETRI
Os elementos basicos de uma rede de Petri, mostrados na Iig. 1, so:
a) lugar: representado atraves de um circulo. O lugar representa um determinado
estado, posio geograIica ou condio;
b) transio: representada atraves de um retngulo ou uma barra. A transio
representa um evento que ocorre no sistema;
c) Iicha: representada atraves de uma bolinha pintada dentro de um lugar. A Iicha
pode representar um objeto, uma quantidade corrente em determinado lugar;
podendo ser tambem de varios tipos, o que representaria uma rede de Petri colorida,
que sera abordada em topico posterior;
d) arco: representado atraves de uma seta. O arco representa uma ligao entre um
lugar e uma transio ou vice-versa.
FIGURA 1 Exemplo de uma rede de Petri.
19
2.2.2 DEFINIO DE UMA REDE DE PETRI
Segundo Cardoso (1997), a rede de Petri e uma Ierramenta graIica e matematica que se
adapta bem a um grande numero de aplicaes em que as noes de eventos e de evolues
simultneas so importantes. Entre as aplicaes pode-se citar: avaliao de desempenho,
analise e veriIicao Iormal de desempenho, analise e veriIicao Iormal de sistema,
concepo de soItware em tempo real e/ou distribuido, sistemas de inIormao, sistemas de
transporte, logistica, gerenciamento de base de dados, interIace homem-maquina e
multimidia.
Segundo Guimares (2003), uma rede de Petri e uma quadrupla (P,T,F,M
0
), onde P e
um conjunto de lugares, T um conjunto de transies, F um conjunto de arcos e M
0
a
marcao inicial dos lugares. Um exemplo de uma rede de Petri pode ser visto na Iig. 1.
No exemplo da Iig. 1, ao disparar a transio t1, a marcao, tambem conhecida como
Iichas ou tokens, vai sair dos lugares de entrada p0 e p1 para o lugar de saida p2, conIorme
mostrado na Iig. 2.
FIGURA 2 ConIigurao apos o disparo de t1 (Iig.1).
A representao matematica da rede de Petri mostrada de Iorma graIica na Iig.1 e
apresentada no quadro 1.
QUADRO 1 DeIinio matematica da Iig.1
{ } { } ( ) ( ) ( ) { } ( ) ( ) ( ) { } ( ) 0 , , 1 , , 1 , , , , , , , , , , ,
2 1 0 2 1 1 1 1 0 1 2 1 0
P P P P T T P T P T P P P
20
2.2.3 REPRESENTAO GRFICA DE UMA REDE DE PETRI
Uma rede de Petri pode ser vista como um multigraIo bipartido e orientado deIinido
por ( ) M Post e T P R , , Pr , , , onde P e um conjunto de lugares representado por circulos, T e um
conjunto de transies representado por barras, Pre e Post so as relaes de precedncia,
aplicados sobre PxT e TxP respectivamente, e M representa a marcao dos lugares atraves de
Iichas no interior de cada lugar (PALOMINO, 1995).
Um exemplo de representao graIica de uma rede de Petri pode ser vista na Iig. 3.
FIGURA 3 - Representao graIica de uma rede de Petri.
A representao matematica da Iig. 3 pode ser vista no quadro 2.
21
QUADRO 2 Representao matematica da Iig. 3.
| |
|
|
|
|
|
|
|
|
.
|

\
|
(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(

(
(
(
(
(
(
(
(

0
0
0
0
0
1
,
0 1 0 0 1 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
1 0 0 0 0 0 0
,
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 1 0 0 1
, 7 6 5 4 3 2 1 ,
6
5
4
3
2
1
t t t t t t t
p
p
p
p
p
p
2.2.4 REPRESENTAO MATRICIAL DE UMA REDE DE PETRI
Uma rede de Petri pode ser deIinida algebricamente atraves de uma matriz de entradas
Pre, uma matriz de saidas Post, uma matriz de Incidncia e uma matriz com o conjunto de
lugares iniciais. Na matriz as linhas representam os lugares e as colunas representam as
transies.
A relao Pre e uma matriz nXm que especiIica arcos direcionados das transies para
os lugares, onde n representa o conjunto de lugares e m representa o conjunto de transies.
( ) t p e , Pr mostra exatamente quantos arcos vo de p para t.
A relao Post e uma matriz nXm que especiIica arcos direcionados das transies
para os lugares, onde n representa o conjunto de lugares e m representa o conjunto de
transies. ( ) t p Post , mostra exatamente quantos arcos vo de t para p.
Considerando o graIo da Iig. 3, tem-se a representao da matriz Pre no quadro 3 e da
matriz Post no quadro 4.
QUADRO 3 Matriz Pre
(
(
(
(
(
(
(
(

=
1 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 1 0 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 1 0
0 0 0 1 0 0 1
Pr e
22
QUADRO 4 Matriz Post
(
(
(
(
(
(
(
(

=
0 1 0 0 1 0 0
0 0 1 0 0 0 0
0 0 0 1 0 0 0
0 0 0 0 0 1 0
0 0 0 0 0 0 1
1 0 0 0 0 0 0
Post
A matriz de incidncia C, que e utilizada para veriIicar diversas propriedades de uma
rede de Petri, e calculada atraves da Iormula expressa no quadro 5.
QUADRO 5 Equao para calculo da matriz de incidncia.
e Post C Pr =
O resultado da aplicao da equao do quadro 5, levando-se em considerao as
matrizes dos quadros 3 e 4, e apresentada no quadro 6.
QUADRO 6 Matriz de incidncia
(
(
(
(
(
(
(
(


=
1 1 0 0 1 0 0
0 1 1 0 0 0 0
0 0 1 1 0 0 0
0 0 0 0 1 1 0
0 0 0 0 0 1 1
1 0 0 1 0 0 1
C
Para se deIinir a matriz
0
M basta colocar o valor corrente das Iichas nos respectivos
lugares. Um exemplo pode ser visto no quadro 7, que Ioi obtido a partir da Iig. 3.
23
QUADRO 7 Matriz
0
M
(
(
(
(
(
(
(
(

=
0
0
0
0
0
1
0
M
2.2.5 REDE DE PETRI PURA
Uma rede de Petri e considerada pura, quando um lugar no e de entrada e de saida de
uma mesma transio. Um exemplo de uma rede de Petri pura, pode ser vista na Iig. 3, pois
nenhum lugar na rede, e entrada e saida de uma mesma transio.
2.2.6 TRANSIO SENSIBILIZADA DE UMA REDE DE PETRI
Uma transio T e considerada sensibilizada se e somente se
( ) ( ) t p e p M P p , Pr , > e .
Na Iig. 3, por exemplo, para a marcao | |
T
M 0 0 0 0 0 1
0
= (T signiIica
matriz transposta) a transio t1 esta sensibilizada, mas a transio t2 no. t1 esta
sensibilizada porque ) 1 (., Pr
0
t e M > onde . indica todos os lugares da coluna corrente (quadro
8). t2no esta sensibilizada, pois ( ) 2 ., Pr
0
t e M < , como pode ser vista atraves do quadro 9,
onde na segunda linha, 0
0
= M e ( ) 1 2 , 2 Pr = t p e , logo ( ) 2 ., Pr
0
t e M < .
QUADRO 8 t1 sensibilizada
(
(
(
(
(
(
(
(

>
(
(
(
(
(
(
(
(

=
0
0
0
0
0
1
0
0
0
0
0
1
1 t
24
QUADRO 9 t2 no sensibilizada
(
(
(
(
(
(
(
(

<
(
(
(
(
(
(
(
(

=
0
0
0
0
1
0
0
0
0
0
0
1
2 t
2.2.7 DISPARO DE UMA TRANSIO DE UMA REDE DE PETRI
Segundo Cardoso (1997), se T e sensibilizada por uma marcao M, uma nova
marcao
'
M e obtida atraves do tiro ou disparo de T tal que | |
i
C M M 1
'
+ = , onde i signiIica
linha.
Ao simular-se o disparo da transio t1 da Iig. 3, tem-se a matriz apresentada no
quadro 10.
QUADRO 10 Disparo da transio t1.
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

+
(
(
(
(
(
(
(
(

=
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
0
1
'
M
2.2.8 SEQNCIA DE DISPARO DE TRANSIES
Uma determinada seqncia de transies que so disparaveis a partir de
0
M ate
n
M e
denominada seqncia de disparo.
Um exemplo de seqncia de disparo pode ser visto no quadro 11, o qual Ioi obtido a
partir da Iig. 3. Para ir de
0
M a
n
M (Iig. 3), as transies T1, T2 e T3 devem disparar na
seqncia.
25
QUADRO 11 Seqncia de disparo
n
T T T
M M
3 , 2 , 1
0
2.2.9 CONFLITO ESTRUTURAL E EFETIVO
'Um conIlito (escolha ou deciso) numa rede de Petri e uma situao que pode levar a
uma disputa no deterministica de recursos (Iichas) (PALOMINO, 1995). Diz-se que duas
transies esto em conIlito estrutural quando elas tm ao menos um lugar de entrada em
comum.
Atraves da Iig. 3 pode-se identiIicar que as transies t1 e t4 esto em conIlito
estrutural, pois ambas tm o mesmo lugar de entrada p1.
Para que duas transies estejam em conIlito eIetivo e necessario que exista um
conIlito estrutural entre as transaes, e ambas as transaes estejam sensibilizadas.
Pode-se identiIicar tambem atraves da Iig. 3, que as transies t1 e t4 alem estarem de
em conIlito estrutural, tambem esto em conIlito eIetivo, pois as 2 transies esto
sensibilizadas.
2.2.10 PARALELISMO ESTRUTURAL E EFETIVO
O paralelismo implica que todas as atividades podem ser executadas ao mesmo tempo.
Duas transies so consideradas paralelas estruturalmente, se no possuem nenhum
lugar de entrada em comum.
Atraves da Iig. 3 pode-se identiIicar que t2 e t5 so paralelas estruturalmente, pois o
lugar de entrada de t2 e p2 e o lugar de entrada de t5 e p4. Como o lugar de entrada de p2 e
diIerente do lugar de entrada de p4, elas so consideradas paralelas estruturalmente.
Segundo Palomino (1995), duas transies so eIetivamente paralelas para uma
marcao dada M, se e somente se elas so paralelas estruturalmente e ambas esto
26
sensibilizadas. O quadro 12 indica a condio para duas transies serem eIetivamente
paralelas.
QUADRO 12 Condio para as 2 transies serem eIetivamente paralelas.
( ) ( ) 4 ., Pr 1 ., Pr t e M e t e M > >
O quadro 12 mostra que as duas transies vo ser eIetivamente paralelas, se e
somente se, as duas estiverem sensibilizadas.
2.3 PROPRIEDADES DO MODELO
As redes de Petri possuem uma serie de propriedades, onde destacam-se:
alcanabilidade, limitao, vivacidade e reiniciabilidade.
2.3.1 ALCANABILIDADE
A deIinio da alcanabilidade pode ser dada por um conjunto de disparos S, que
levam de uma determinada posio M ate a posio
'
M , podendo ser representada conIorme
mostra o quadro 13.
QUADRO 13 DeIinio de alcanabilidade
'
M M
S

2.3.2 LIMITAO
Segundo Palomino (1995), uma rede de Petri marcada ( )
0
, , Pr , , M Post e T P N = e dita
ser k-limitada ou simplesmente limitada se o numero de Iichas em cada lugar no ultrapassar
um numero Iinito para qualquer marcao alcanavel desde
0
M .
Uma rede marcada N e k-limitada se e somente se todos os seus lugares so k-
limitados (CARDOSO, 1997).
Um exemplo de uma rede de Petri no k-limitada pode ser vista na Iig. 4a, e uma rede
de Petri k-limitada em 1 pode ser vista na Iig 4b.
27
FIGURA 4 Exemplo de uma rede de Petri no k-limitada e k-limitada.
2.3.3 VIVACIDADE
Uma rede e viva quando pelo menos uma transio esta disponivel para ser disparada.
Se nenhuma transio atende a este requisito, a rede esta em bloqueio Iatal (deadlock). O
problema do bloqueio Iatal esta relacionado ao Iato de dois ou mais processos estarem
precisando ao mesmo tempo dos mesmos recursos para darem continuidade a seus processos
(PETERSON, 1981).
Uma rede de Petri marcada M R N , = , onde R representa uma rede de Petri e M
representa uma marcao inicial, e viva se e somente se todas as suas transies so vivas
(CARDOSO, 1997).
Um exemplo de bloqueio Iatal pode ser visto na Iig. 5. Neste exemplo a transio t1
nunca vai disparar, logo ela esta em bloqueio Iatal.
28
FIGURA 5 Exemplo de bloqueio Iatal
2.3.4 REINICIABILIDADE
Uma rede marcada e reiniciavel se a partir de qualquer marcao acessivel
'
M de seu
graIo de marcaes acessiveis ( ) M R GA , , encontrar uma seqncia de disparo s que leve a
rede de volta a marcao inicial M (CARDOSO, 1997).
2.4 PROPRIEDADES ESTRUTURAIS
As propriedades estruturais de uma rede de Petri so propriedades que dependem da
estrutura topologica da rede, e independem da marcao inicial
0
M . Estas propriedades so
deIinidas atraves dos componentes conservativos e componentes repetitivos. Atraves destes
elementos estruturais, juntamente com a inIormao sobre a marcao, deIine-se invariantes
de lugar e da transio.
2.4.1 COMPONENTES CONSERVATIVOS, INVARIANTES DE
LUGAR
Segundo Cardoso (1997 apud GIOVANI, 1997, p. 20), o invariante de lugar tem a
Iinalidade de Iornecer, no caso de uma rede k-limitada, o valor limite de cada lugar. Um vetor
de numeros inteiros Il e chamado de invariante de lugar se 0 * = It C
T
, sendo C a matriz de
29
incidncia. O conjunto de lugares que compe um invariante de lugar e denominado de
componente conservativo (MOECKE, 1991 apud GIOVANI, 1997, p. 20).
2.4.2 COMPONENTES REPETITIVOS, INVARIANTES DE
TRANSIO
Um vetor de numeros inteiros It e chamado de invariante de transio se 0 * = Il C . O
conjunto das transies que participam da invariante de transio e denominado de
componente repetitivo da rede (MOECKE, 1991 apud GIOVANI, 1997, p. 21). Com este
componente repetitivo e possivel determinar se a rede e limitada, viva ou reiniciavel. Se a
rede e no repetitiva, ento ela e no viva ou e no limitada.
2.5 CLASSIFICAO DAS REDES DE PETRI
As redes de Petri podem ser subdivididas em alguns grupos, como as redes de petri
ordinarias, redes de Petri de alto nivel e redes de Petri com representao de tempo. As redes
de Petri com representao de tempo ainda se subdividem em redes de Petri temporizada,
temporal e estocastica.
2.5.1 REDES DE PETRI ORDINRIAS
Nesta classe de redes de Petri e representada somente a estrutura do sistema modelado.
Deixa-se de representar provaveis conIlitos que o sistema modelado pode representar, como
por exemplo, a dependncia de que um processo possui com relao ao tempo (GIOVANI,
1997).
Em uma rede de Petri ordinaria, a transio e disparada desde que esteja sensibilizada.
A sensibilizao e condio suIiciente para o disparo, no havendo conIlito na transio
(CARDOSO, 1997).
Uma outra caracteristica deste tipo de rede, e que no se leva em considerao eventos
externos e qualquer controle de tempo.
30
2.5.2 REDES DE PETRI DE ALTO NVEL
As redes de alto nivel so redes que soIreram algumas modiIicaes de Iuncionamento
para que possam representar de uma maneira melhor e mais real as situaes do mundo real.
Para isto, diversos modelos so propostos, como rede de Petri orientada a objetos, rede de
Petri colorida e a rede de Petri temporal.
2.5.2.1 REDE DE PETRI ORIENTADA A OBJETOS
A rede orientada a objetos pode ser considerada como uma abordagem a objetos. As
Iichas no so mais constantes, mas sim instncias de n-uplas de classes de objetos. Alem dos
atributos deIinidos pela classe, um atributo implicito contem o nome do lugar em que o objeto
esta localizado. As operaes so associadas as transies, e correspondem as pre-condies
(Iiltros) que operam sobre os atributos dos objetos situados nos lugares de entrada e as aes
que modiIicam estes valores. Uma operao associada a uma transio
n
T so podera ser
executada por um objeto se este estiver localizado num lugar da entrada
n
T (CARDOSO,
1997).
2.5.2.2 REDE DE PETRI COLORIDA
Uma rede de Petri colorida caracteriza-se pelo Iato de que as suas Iichas possuem
cores, justamente para que se possa diIerenciar uma Iicha de outra. Desta maneira, cada lugar
pode receber um conjunto especiIico de cores (Iichas) e cada transio tambem pode requerer
Iichas de cores especiIicas para que possa disparar.
Segundo Cardoso (1997), o conjunto de cores de uma transio indica as diIerentes
maneiras de como ela pode disparar. Cada cor de transio corresponde, neste caso, a uma das
transies da rede ordinaria equivalente. Dito de outra Iorma, cada transio da rede ordinaria
que e dobrada numa transio da rede colorida equivalente, vai corresponder a uma cor do
conjunto de cores desta ultima.
Quando se dispara uma transio em uma rede de Petri colorida, deve-se observar,
quais cores (Iichas) vo ser retiradas dos lugares de entrada, e quais cores sero introduzidas
nos lugares de saida.
31
2.5.3 REDE DE PETRI COM REPRESENTAO DE TEMPO
Para representar situaes do mundo real, muitas vezes, deve-se levar em considerao
o tempo. Quando isto se Iaz necessario, pode-se utilizar a rede de Petri com representao de
tempo.
Elas podem ser divididas em redes de Petri temporizada, redes de Petri temporal e
redes de Petri estocasticas.
2.5.3.1 REDE DE PETRI TEMPORIZADA
Segundo Cardoso (1997), uma rede de Petri temporizada e um par
f t
N N u , =
onde:
a) N e uma rede de Petri Post e T P , Pr , , com uma marcao inicial
0
M ;
b)
+
Q T
f
: u e a Iuno durao de disparo, que e associada a cada transio ou
lugar, que recebe um numero racional positivo que descreve a durao do disparo.
A rede de Petri temporizada pode ser dividida em 2 tipos, dependendo onde se aplica a
variavel tempo: rede de Petri T-Temporizada e rede de Petri P-Temporizada.
2.5.3.1.1 REDE DE PETRI T-TEMPORIZADA
Neste tipo de rede e deIinido um tempo df para cada transio. O tempo df pode ser
zero. As Iichas neste tipo de rede podem representar 2 estados: pode estar reservada para uma
transio ou no estar reservada.
Quando uma transio e disparada, as Iichas necessarias nas entradas da transio
tornam-se reservadas durante o tempo da transio. Estas Iichas no podem ser utilizadas por
outras transies. No momento em que o tempo desta transio termina, ento as Iichas
reservadas daquela transio so removidas, e a transio vai depositar as Iichas em cada
lugar de saida.
2.5.3.1.2 REDE DE PETRI P-TEMPORIZADA
Neste tipo de rede e depositado um tempo em cada lugar, sendo o contrario da rede T-
Temporizada.
32
Quando um lugar recebe uma Iicha, o lugar Iica por um tempo df com a Iicha. Durante
este intervalo a Iicha Iica indisponivel. Apos o tempo df, a Iicha deixa de Iicar indisponivel e
uma transio que dependa daquela Iicha pode disparar, se sensibilizada.
2.5.3.2 REDE DE PETRI TEMPORAL
Segundo Cardoso (1997), uma rede de Petri temporal e um par N
tl
N,I~ onde:
a) N e uma rede de Petri Post e T P , Pr , , com uma marcao inicial
0
M ;
b) ( ) ( ) ( ) | | t t t
max min
,u u u = e uma Iuno que, a cada transio t, associa um intervalo
Iechado racional que descreve uma durao de sensibilizao.
A rede de Petri temporal e obtida associando-se a cada transio uma durao de
sensibilizao. O tiro e instantneo, mas a transio deve estar sensibilizada durante um
intervalo de tempo dado (CARDOSO, 1997).
E deIinido um intervalo ( )
max min
,u u para cada transio. A durao de sensibilizao
tem que ser maior que
min
u e menor que
max
u .
Pode-se associar um intervalo | | a a, a uma transio para representar uma durao a.
Se a transio estiver sensibilizada no tempo r, ela ira disparar no tempo a r + .
2.5.3.2.1 REPRESENTAO DO WATCHDOG
Certos mecanismos implicam que uma Iicha esteja visivel somente para certas
transies em um certo instante. Esta situao e chamada de watchdog. Um caso tipico de
watchdog (CARDOSO, 1997) pode ser visto na Iig. 6.
33
FIGURA 6 Caso tipico do uso de watchdog
No exemplo apresentado na Iig. 6, a variavel u e um tempo pre-determinado. Durante
este tempo, se a transio fim1 no disparar, a transio fim2 e disparada.
Segundo Cardoso (1997), as 2 Iormas de associar tempo a uma rede de Petri
temporizada (lugar, transio) no permitem representar watchdog pois:
a) um tempo de atividade associado ao lugar espera atrasaria o disparo de fim1 mesmo
se o lugar condio contivesse uma Iicha mais cedo;
b) um tempo de atividade associado a transio fim2 Iaria com que a Iicha contida no
lugar espera Iosse imediatamente reservada (de modo irreversivel) e que o alarme
Iosse acionado apos o tempo u , mesmo se a Iicha tivesse, durante este tempo,
chegado ao lugar condio.
Para solucionar este problema, associa-se a durao de sensibilizao para cada
transio ( ) t u . Se uma dada transio torna-se sensibilizada pela marcao no tempo r, ela
continuara sensibilizada durante todo o intervalo ( ) ( ) t r u + .
Na Iig. 6 teria que ser associada uma durao u para a transio fim2. Esta durao e
igual ao watchdog, e a transio fim1 deve ser nula.
Este modelo e principalmente utilizado em protocolos de comunicao. Assim, a
transio so pode ser disparada entre | |
max min
,u u .
34
2.5.3.3 REDE DE PETRI ESTOCSTICAS
Segundo Cardoso (1997), uma rede de Petri estocastica e um par A = , N N
ts
onde:
a) N e uma rede de Petri com uma marcao inicial;
b) Ae uma Iuno que associa, a cada transio t, uma taxa de transio ( ) t .
As redes de Petri estocasticas so as redes em que as duraes de sensibilizao
associadas as transies so deIinidas por distribuies geometricas ou exponenciais para que
se possa construir um processo markoviano
1
equivalente, e assim analisar o comportamento
da rede.
A Iuno ( ) r
u
Pr , representada no quadro 14, descreve a probabilidade que o disparo
da transio t acontea antes da data (r) e, portanto, que a durao de sensibilizao seja
inIerior a esta data (CARDOSO, 1997).
QUADRO 14 Funo que descreve a probabilidade de disparo da transio T acontecer
antes de r.
| |
r
r
e

u

s
=1 Pr
1
Processo Markoviano: e um processo estocastico
2
em que o proximo estado depende apenas do estado atual,
no levando em considerao os estados anteriores ao atual (BRESSAN, 2002).
2
Processo estocastico: e um processo aonde surge um Ienmeno aleatorio que evolui ao longo do tempo e que de
alguma Iorma pode ser controlado atraves das leis da probabilidade (BERNARDO, 2001).
35
3 SISTEMAS EM TEMPO REAL
Sistemas de tempo real so aqueles onde a corretude do sistema no depende apenas
da computao logica, mas tambem o tempo em que o resultado e produzido (STANKOVIC,
1992).
3.1 HISTRICO
A origem do termo 'computao em tempo real no e clara. Ela provavelmente e
originaria ou do projeto Whirlwind, um simulador de vo desenvolvido pela IBM para a
marinha dos Estados Unidos em 1949, ou com o Semiautomatic Ground Environment Air
Defence Sistem (SAGE), desenvolvido para a Iora aerea dos Estados Unidos no inicio de
1950 (LAPLANTE, 1992).
Segundo Halang (1992), na decada de 1960, surgiu a maioria das linguagens de alto
nivel para dar suporte para aplicaes que envolvam tempo real; estas linguagens Ioram
deIinidas e desenvolvidas na Europa: RTL/2 e Coral 66 Ioram desenvolvidas na Inglaterra,
PROCOL e LTR na Frana e PEARL na Alemanha.
Hoje em dia e comum encontrar aplicaes que trabalhem em tempo real, devido a
necessidade de um controle de tempo. E comum encontrar aplicaes que trabalham em
sistemas de controle de Ierrovia, avinicos, telecomunicaes, robotica, equipamentos
hospitalares, entre outros.
Em todos estes casos, e Iundamental levar em considerao a variavel tempo, pois
problemas catastroIicos podero ocorrer se esta variavel no Ior levada em considerao.
Sendo assim, sistemas em que o tempo e relevante para o Iuncionamento correto so
considerados como sistemas que trabalham em tempo real.
A deIinio se um sistema deve ser desenvolvido para operar em tempo real ou no e
veriIicada ainda na analise do problema.
Segundo Schmidt (2001), na busca do entendimento de sistemas em tempo real,
algumas concepes erradas podero ser observadas, tais como:
a) tempo real signiIica execuo rapida;
b) computadores mais rapidos vo resolver todos os problemas;
c) sistemas em tempo real so pequenos e desenvolvidos em assemblv;
d) sistemas em tempo real so Iormados apenas por tratadores de interrupes;
36
e) no existem problemas especiIicos na area de tempo real;
I) sistemas em tempo real operam em ambientes estaticos.
3.2 REQUISITOS PARA SISTEMAS EM TEMPO REAL
Se Iorem observadas as areas onde o processamento em tempo real se Iaz necessario,
uma caracteristica comum e o Iorte relacionamento que tem que ser montado entre os
processos no computador e os processos Iisicos.
Estes relacionamentos geram requisitos que devem ser observados quando se trabalha
com tempo real, os quais so: tempo real critico e no critico, simultaniedade, previsibilidade
e Iidelidade.
3.2.1 TEMPO REAL CRTICO E NO CRTICO
Os soItwares que trabalham com processamento em tempo real podem ser
considerados criticos e no criticos.
Os sistemas em tempo real criticos, tambem conhecidos como hard real time, so
aqueles sistemas nos quais uma Ialha temporal do sistema pode resultar em um problema
catastroIico, como por exemplo, um sensor que no retorna a presso de uma caldeira em um
tempo determinado poderia Iazer com que o sistema no identiIique a presso elevada da
caldeira, que se no Ior controlada, pode Iazer com que a caldeira venha a explodir, tendo
assim, uma conseqncia catastroIica.
Existem tambem os sistemas em tempo real no criticos, tambem conhecidos como
soft real time. Estes sistemas tm uma Ilexibilidade maior reIerente a erros temporais, pois
no necessariamente uma Ialha grave vai acontecer se estes erros acontecerem, mesmo depois
do tempo decorrido, o valor do resultado tambem pode ser considerado valido. Um exemplo e
um sistema de processamento bancario.
3.2.2 SIMULTANIEDADE
Um sistema pode receber entradas de duas Iontes independentes, e deve responder para
cada uma delas em um determinado tempo. Para satisIazer este requisito, alguma Iorma de
processamento paralelo e necessario (HOOGEBOOM, 1992).
37
Para solucionar este problema, pode ser utilizado mais de um processador ou
Iatiamento de tempo em um processador.
3.2.3 PREVISIBILIDADE
A previsibilidade de um sistema deve ser possivel. Deve ser possivel ainda no projeto
determinar um determinado tempo para um eventual processo e saber com certeza, que este
tempo vai ser respeitado pelo sistema, mesmo nas piores situaes.
Para se prever a execuo de um sistema em tempo real e garantir o cumprimento das
restries temporais, e preciso deIinir um conjunto de hipoteses sobre o comportamento do
ambiente externo no que diz respeito a Ialhas (SCHMIDT, 2001):
a) hipotese de carga: esta hipotese determina o que corresponde a carga
computacional maxima gerada pelo ambiente em um intervalo de tempo, entre
cada reao do sistema de tempo real;
b) hipotese de Ialhas: esta hipotese descreve os tipos e Ireqncias de Ialhas com as
quais o sistema deve interagir quando esta em execuo, continuando a atender os
requisitos Iuncionais do sistema.
3.2.4 FIDELIDADE
A Iidelidade e um termo que indica a veracidade e pode ser dividido em:
a) corretude: e o requisito em que o Iuncionamento do sistema satisIaa as
especiIicaes;
b) robustez: e um requisito em que o sistema permanece com a sua previsibilidade
mesmo se algum determinado dado ou situao no corresponda a especiIicao,
como por exemplo, na Ialha de um determinado dispositivo de hardware;
c) prontido: processos que interagem continuamente com o meio externo no podem
ser encerrados, devido a alguma Ialha.
38
4 DESENVOLVIMENTO DO TRABALHO
O prototipo desenvolvido visa controlar o traIego de um Ierrorama. Para isso Ioi Ieita a
especiIicao do prototipo utilizando redes de Petri, assim como, Ioram utilizados hardware
para Iazer a comunicao com o meio externo. A implementao de software embarcados,
para Iazer o controle do hardware, tambem Ioi desenvolvida.
No computador Ioi implementada toda a rotina de recebimento e envio das mensagens
para os dispositivos externos, interIace com o usuario, malha do Ierrorama e o tutor, que vai
Iazer o controle das mensagens que so recebidas pela interIace, porta serial ou da lista de
pendncias.
Para a conIeco do prototipo Ioram observados os seguintes passos:
a) levantamento do problema e os requisitos para o desenvolvimento do prototipo;
b) especiIicao do problema utilizando redes de Petri para Iazer a modelagem do
prototipo;
c) veriIicao de propriedades das redes de Petri, modeladas para o prototipo;
d) implementao do prototipo no computador, conIorme deIinido na especiIicao;
e) testes para veriIicar o Iuncionamento do prototipo.
4.1 REQUISITOS PRINCIPAIS DO PROBLEMA A SER
TRABALHADO
O sistema visa controlar o traIego de trens dentro de uma malha Ierroviaria composta
por trens, trechos e cruzamentos. Mensagens de controle sero transmitidas entre os
dispositivos externos a serem controlados como os trens e cruzamentos, e o computador. A
partir das mensagens recebidas, e do estado da malha Ierroviaria, o sistema no computador
central controlara o Iuncionamento do Ierrorama, objetivando automatizar o controle de Iorma
segura.
A especiIicao do prototipo e modelada utilizando redes de Petri na rotina que
controla o envio e recebimento de mensagens (modulo serial), na rotina que controla as
mensagens recebidas das diversas rotinas do sistema (modulo tutor), na rotina que possui a
modelagem da malha Ierroviaria (modulo da estrutura da malha), no modulo embarcado que
39
Iaz a comunicao com a porta serial do computador (modulo master) e os demais
dispositivos embarcados (modulo do trem e modulo do cruzamento).
A comunicao entre os dispositivos vai ser Ieita utilizando o envio de mensagens
atraves de radio Ireqncia (RF), em que a porta serial envia e recebe inIormaes de um
dispositivo conectado na mesma (modulo master), que recebe a mensagem da porta serial e
envia atraves de radio Ireqncia para os modulos dos trens e dos cruzamentos e recebe a
mensagem em radio Ireqncia e envia para o computador atraves da porta serial.
Esta transmisso vai ser Ieita atraves de um polling, controlado pela rotina de controle
da porta serial, implementada no computador, enviando mensagens para cada dispositivo
perguntando se tem alguma inIormao para enviar para o computador. A ideia do uso de
polling vem do protocolo de transmisso de dados BSC-3. A deIinio do protocolo BSC-3
pode ser vista em Penna (1988).
Sero consideradas tambem situaes em que algum dos dispositivos no respondam a
requisies Ieitas pelo computador, assim como quando o computador no retorne uma
solicitao de pendncia em um tempo estipulado, para que sejam empregadas medidas de
segurana, como evitar que dois trens colidam, o que caracteriza o prototipo como um
software hard real time, pois o no cumprimento de uma pendncia temporal pode resultar em
uma situao de conIlito, como por exemplo, uma coliso entre trens.
A malha Ierroviaria Ioi especiIicada para que os trechos possuam apenas um sentido,
no sendo possivel assim, um trem poder passar em um momento em um sentido do trecho e
em um outro momento passar no sentido contrario.
4.2 ESPECIFICAO
A especiIicao do sistema Ioi Ieita utilizando-se de redes de Petri.
Para cada modulo do sistema Ioi Ieita uma modelagem isolada. O sistema esta dividido
nos modulos de interIace, tutor, porta serial, estrutura da malha, master, trens e cruzamentos,
os quais sero detalhados a seguir. Uma viso geral dos modulos do prototipo pode ser vista
na Iig. 7.
40
FIGURA 7 Diagrama de Iuncionamento do prototipo
Para Iazer a modelagem dos modulos utilizando redes de Petri Ioi utilizado o soItware
HPSim (ANSCHUETZ, 2001), (Iig. 8) . Atraves deste soItware Ioram gerados os graIos
(redes). Para Iazer a veriIicao das propriedades na rede Ioi utilizado o soItware Platform
Independent Petri-Net Editor (PIPE) (BLOOM, 2003), (Iig. 9).
41
FIGURA 8 Tela do soItware HPSim.
FIGURA 9 Tela do soItware Platform Independent Petri-Net Editor.
42
4.2.1 ESPECIFICAO DO TUTOR
O tutor e o modulo que tem a Iuno de receber as mensagens do modulo da porta
serial e do modulo de interIace, e repassa-las, se necessario, para o modulo da estrutura da
malha.
As mensagens que so passadas para a estrutura da malha so aquelas mensagens que
solicitam permisso de acesso a um determinado trecho da malha, e tambem, as mensagens
que inIormam o status dos sensores dos cruzamentos.
Este modulo administra tambem uma lista com as pendncias. Uma pendncia e criada
quando um trem solicita permisso para acessar um determinado trecho da malha Ierroviaria
e, se esta permisso e negada, este trem ento e incluido nesta lista. Assim, antes de atender
uma outra mensagem, o tutor veriIica a lista de pendncias para checar se pode liberar o
acesso a algum trem, e remover o mesmo da lista se a pendncia Ioi solucionada.
Se a solicitao Ior concedida, e enviada uma mensagem para o trem, inIormando que
ele pode prosseguir, caso contrario, o trem vai continuar na lista de pendncias do modulo
tutor.
A modelagem do modulo do tutor pode ser vista na Iig. 10.
FIGURA 10 Modelagem do modulo Tutor
43
As descries dos lugares e transies especiIicados na Iig. 10 podem ser vistos na
tabela 1.
TABELA 1 Descrio dos lugares e transies especiIicados na Iig. 10.
Lugares /
trans i es Des crio
p1 Sis tema es ta aguardando mens agens
p2 Sis tema es ta aguardando para tratar uma mens agem
p3 Aguardando co nIirmao do recebimento do des tinatario (EOT)
p4 Aguardando co nIirmao do recebimento do des tinatario (EOT)
t1 Trata a pendncia (maio r prio ridade)
t2 Trata mens agem s erial recebida
t3 Trata mens agem de interIace recebida
t4 Envia mens agem de s o licitao no co ncedida
t5 Envia mens agem de s o licitao co ncedida
t6 Dis po s itivo co nIirmo u o recebimento da mens agem
t7 Dis po s itivo co nIirmo u o recebimento da mens agem
As matrizes pre (Forwards incidence), post (Backwards incidence), de incidncia
(Incidence), marcao inicial (Initial marking), marcao corrente (Current Marking),
transies sensibilizadas (Enabled Transition) e no sensibilizadas (Un-Enabled Transitions)
podem ser vistas na Iig. 11. Estas matrizes Ioram geradas pelo software Platform Independent
Petri Net Editor (PIPE), a partir da modelagem descrita na Iig. 10.
FIGURA 11 Matrizes do modulo tutor
44
A rede de Petri Ieita para especiIicao do modulo tutor, apos submetida a veriIicao
das propriedades atraves do software Platform Independent Petri Net Editor (PIPE), e
considerada viva, com ausncia de deadlocks, assim como e considerada limitada (Iig. 12).
FIGURA 12 Propriedades da especiIicao do modulo tutor.
4.2.2 ESPECIFICAO DA PORTA SERIAL
O modulo da porta serial tem a Iuno de controlar o polling entre os dispositivos
externos e controlar a transmisso de mensagens entre o modulo tutor e os demais modulos
externos.
Este modulo tambem possui alguns controles de watchdog para controlar e tratar
situaes onde algum dispositivo no responde ao polling. Nestas situaes o sistema deve
enviar uma mensagem para todos os trens, inIormando que eles devem parar, pois se algum
45
dispositivo no retornar a um pedido de polling, algum acidente pode acontecer na malha
Ierroviaria, o que comprometeria a segurana Iisica dos trens.
A modelagem do modulo da porta serial pode ser vista na Iig. 13.
FIGURA 13 Modelagem do modulo da porta serial.
As descries dos lugares e transies especiIicados na Iig. 13 podem ser vistas na
tabela 2.
46
TABELA 2 Descrio dos lugares e transies especiIicados na Iig. 13.
Lugares /
trans i es Des crio
p1 Po lling
p2
Sis tema es ta co ntando tempo para tratar s ituao de timeo ut cas o o dis po s itivo no envie uma mens agem de vo lta,
co nIirmando o recebimento da mens agem enviada.
p3 Dis po s itivo no es ta res po ndendo .
p4
Sis tema es ta co ntando tempo para tratar s ituao de timeo ut cas o o dis po s itivo no envie uma mens agem de vo lta,
co nIirmando o recebimento da mens agem enviada.
p5
Sis tema es ta co ntando tempo para tratar s ituao de timeo ut cas o o dis po s itivo no envie uma mens agem de vo lta,
co nIirmando o recebimento da mens agem enviada.
p6 To do o s is tema es ta parado .
p7 P o rta s erial es ta parada.
t1 Trans mite uma mens agem para o dis po s itivo co rrente, perguntando s e tem alguma mens agem para enviar (po lling ).
t2 Se o dis po s itivo no res po ndeu a mens agem no tempo limite dis para es ta trans io (watchdo g ).
t3 Mens agem de reto rno Io i recebida, e armazenada para Iuturo tratamento pelo mo dulo tuto r.
t4 Reinicia po lling.
t5 Se o dis po s itivo no res po ndeu a mens agem no tempo limite dis para es ta trans io (watchdo g ).
t6 Dis po s itivo res po ndeu co m a mens agem 'EOT' e envia a mens agem armazenada para o mo dulo tuto r.
t7 Tem alguma pendncia para enviar (prio ridade alta).
t8 Se o dis po s itivo no res po ndeu a mens agem no tempo limite dis para es ta trans io (watchdo g ).
t9 Mens agem recebida pelo des tinatario (recebeu a mens agem 'EOT' o u 'ACK').
t10 Envia uma mens agem para to do s o s trens .
t11 Envia uma mens agem para o dis po s itivo co nIirmando recebimento da mens agem.
t12 Liga po lling.
t13 Des liga po lling.
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 14.
47
FIGURA 14 Matrizes do modulo da porta serial.
A rede de Petri Ieita para especiIicao do modulo da porta serial tambem e
considerada viva, com ausncia de deadlocks, assim como e considerada limitada.
4.2.3 ESPECIFICAO DA ESTRUTURA DA MALHA
O modulo da estrutura da malha tem a Iuno de tratar as solicitaes de acesso aos
trechos da malha Ierroviaria. Ele recebe as solicitaes do modulo tutor, interpreta as
mensagens e as retorna com o resultado da veriIicao.
O desenho da malha Ierroviaria modelada pode ser vista na Iig. 15.
48
FIGURA 15 Desenho da malha Ierroviaria modelada.
A modelagem do modulo da estrutura da malha pode ser vista na Iig. 16.
FIGURA 16 Modelagem do modulo da estrutura da malha.
49
As descries dos lugares e transies especiIicados na Iig. 16 podem ser vistas na
tabela 3.
TABELA 3 Descrio dos lugares e transies especiIicados na Iig. 16.
Lugares /
trans i es Des crio
p1 Trem es ta pas s ando po r TR3.
p2 Trem em TR1.
p3 Trem no es ta em TR1.
p4 Trem em TR2.
p5 Trem no es ta em TR2.
t1 Libera trem para area critica TR3 de TR1.
t2 Trem s aindo da area critica TR3 para TR1.
t3 Libera trem para area critica TR3 de TR2.
t4 Trem s aindo da area critica TR3 para TR2.
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 17.
FIGURA 17 Matrizes do modulo da estrutura da malha
50
A rede de Petri Ieita para especiIicao do modulo que controla a estrutura da malha e
considerada viva, com ausncia de deadlocks, assim como e considerada limitada.
4.2.4 ESPECIFICAO DO MASTER
O modulo master e um dispositivo externo que tem a Iinalidade de receber as
mensagens da porta serial e enviar esta mensagem para os dispositivos externos, assim como,
receber as mensagens dos dispositivos externos e repassa-las para o modulo da porta serial no
computador.
A modelagem do modulo do master pode ser vista na Iig. 18.
FIGURA 18 Modelagem do modulo master.
As descries dos lugares e transies especiIicados na Iig. 18 podem ser vistas na
tabela 4.
TABELA 4 Descrio dos lugares e transies especiIicados na Iig. 18.
Lugares /
trans i es Des crio
p1 Dis po s itivo aguardando mens agem da po rta s erial.
p2 Sis tema aguardando reto rno do envio da mens agem.
p3 Dis po s itivo es ta pro nto para enviar a mens agem para o s is tema.
t1 Uma mens agem da po rta s erial Io i recebida, retrans mitir para o cliente.
t2 Se o dis po s itivo no res po ndeu a mens agem no tempo limite dis para es ta trans io (watchdo g ).
t3 A res po s ta da mens agem enviada vo lto u dentro do tempo es tipulado .
t4 Envia a mens agem do dis po s itivo externo para a po rta s erial.
51
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 19.
FIGURA 19 Matrizes do modulo master.
A rede de Petri Ieita para especiIicao do modulo master tambem e considerada viva,
com ausncia de deadlocks, assim como e considerada limitada.
4.2.5 ESPECIFICAO DO TREM
O trem e um dos dispositivos externo que vai movimentar-se pela malha Ierroviaria e
tem a Iuno de na proximidade de um cruzamento, solicitar a exclusividade para acessar o
outro trecho da malha.
Quando o trem detectar que um cruzamento aproxima-se, atraves de um sensor, ele vai
iniciar a contagem de um tempo. Durante este tempo de contagem, se no vier a resposta da
solicitao de acesso ao outro trecho da malha Ierroviaria, o trem vai parar e vai aguardar a
liberao de acesso.
52
No momento em que o sensor e acionado, este tempo comea a contar, mesmo antes
do trem enviar a mensagem para o modulo master. A mensagem so sera enviada dentro do
polling para o trem corrente.
A transmisso de dados entre o trem e o modulo master sera Ieita atraves de radio
Ireqncia.
A modelagem do modulo do trem pode ser vista na Iig. 20.
FIGURA 20 Modelagem do modulo do trem.
53
As descries dos lugares e transies especiIicados na Iig. 18 podem ser vistas na
tabela 5.
TABELA 5 Descrio dos lugares e transies especiIicados na Iig. 21.
Lugares /
trans i es Des crio
p1 Sens o r de apro ximao do cruzamento ativo .
p2 Sens o r de apro ximao do cruzamento inativo .
p3 Aguardando reto rno da s o licitao de exclus ividade.
p4 Trem parado .
p5 O aces s o ao trecho s o licitado Io i co ncedido .
p6 Sis tema es ta ligando o trem.
p7 Sis tema es ta aguardando para enviar no va mens agem de s o licitao de exclus ividade
p8 Sis tema trato u a exclus ividade.
p9 Aguardando reto rno da exclus ividade s o licitada.
p10 Aces s o de exclus ividade negado .
p11 Sis tema aguardando tratamento da mens agem recebida.
p12 Sis tema es ta parando o trem.
p13 Aguardando mens agem do mas ter.
p14 Trem andando .
t1 Ativa s ens o r de cruzamento s e apro ximando .
t2 Des ativa s ens o r de cruzamento s e apro ximando .
t3
Sis tema es ta co ntando tempo para tratar s ituao de timeo ut cas o o mas ter no reto rne a s o licitao de
exclus ividade (watchdo g ).
t4
P arar o trem po rque veio uma mens agem do mas ter para parar o trem, Io ra do po lling . (envia mens agem
"ACK").
t5 P arar o trem s e o mas ter no reto rno u a s o licitao de exclus ividade.
t6
Ligar o trem po rque veio uma mens agem do mas ter dando permis s o para o trem aces s ar o trecho
s o licitado .
t7 Mens agem do mas ter recebida.
t8 O trem no tem nenhuma mens agem para enviar (nenhum cruzamento a Irente), trans mite 'EOT.
t9 Sis tema envia mens agem para o mas ter s o licitando exclus ividade.
t10 So licitao Io i recebida (trans mite 'EOT).
t11 Res o licita exclus ividade co m tempo inIinito (des ativa o watchdo g ).
t12 Mens agem para ligar o trem recebida (trans mite a mens agem 'EOT).
t13 Mens agem para parar o trem recebida (trans mite a mens agem 'EOT).
t14 Liga trem (envia mens agem "ACK").
t15 Fo i recebida uma mens agem co ncedendo aces s o co m o trem em mo vimento .
t16 Fo i recebida uma mens agem para o trem andar e o mes mo ja s e enco ntra em mo vimento .
t17 Fo i recebida uma mens agem para o trem parar e o mes mo ja s e enco ntra parado .
t18 Trem ja enco ntra-s e parado .
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 21.
54
FIGURA 21 Matrizes do modulo do trem.
A rede de Petri Ieita para especiIicao do modulo do trem tambem e considerada viva,
com ausncia de deadlocks, assim como e considerada limitada.
55
4.2.6 ESPECIFICAO DO CRUZAMENTO
O modulo do cruzamento tem a Iuno de detectar atraves de sensores a entrada e
saida de trens dos seus limites, assim como setar por onde o trem deve passar.
Assim, no momento em que o modulo master Iaz o polling no cruzamento corrente, o
dispositivo envia para o sistema no computador todos os sensores de entrada e saida que esto
ativos.
A modelagem do modulo do cruzamento pode ser vista na Iig. 22.
56
FIGURA 22 Modelagem do modulo do cruzamento.
As descries dos lugares e transies especiIicados na Iig. 22 podem ser vistas na
tabela 6.
57
TABELA 6 Descrio dos lugares e transies especiIicados na Iig. 22.
Lugares /
Trans i es Des crio
p1 Aguardando mens agem Io ra do po lling .
p2 Sis tema aguardando tratamento da mens agem recebida.
p3 Sens o r 4 (s aida do trilho TR1) es ta ativo .
p4 Sens o r 3 (entrada do trilho TR3) es ta inativo .
p5 Sens o r 3 (entrada do trilho TR3) es ta ativo
p6 Sens o r 1 (entrada do trilho TR1) es ta inativo
p7 Sens o r 1 (entrada do trilho TR1) es ta ativo
p8 Sens o r 2 (entrada do trilho TR2) es ta ativo
p9 Sens o r 2 (entrada do trilho TR2) es ta inativo
p10 Aguardando reto rno do mas ter
p11 Aguardando reto rno do mas ter
p12 Aguardando reto rno do mas ter
p13 Cruzamento po s icio nado para a es querda
p14 Aguardando reto rno do mas ter
p15 Aguardando reto rno do mas ter
p16 Aguardando reto rno do mas ter
p17 Cruzamento po s icio nado para a direita
p18 Sis tema dentro do po lling para trans mitir inIo rma es
p19 Sens o r 6 (s aida do trilho TR3) es ta inativo
p20 Sens o r 6 (s aida do trilho TR3) es ta ativo
p21 Sens o r 5 (s aida do trilho TR2) es ta inativo
p22 Sens o r 5 (s aida do trilho TR2) es ta ativo
p23 Sens o r 4 (s aida do trilho TR1) es ta inativo
t1 Mo ve cruzamento para a direita
t2 Mo ve cruzamento para a es querda
t3 Recebeu mens agem do mas ter e o ID co nIere co m o do dis po s itivo
t4 Mens agem recebida e de po lling (perguntando s e tem alguma co is a para enviar)
t5 Dis para s e o cruzamento ja es ta po s icio nado a direita (e a mens agem e para mo ver o cruzamento para a direita)
t6 Dis para s e o cruzamento ja es ta po s icio nado a es querda (e a mens agem e para mo ver o cruzamento para a es querda)
t7 Ativar Sens o r 1 (entrada do trilho TR1)
t8 Des ativar Sens o r 1 (entrada do trilho TR1) Trans mite (trem vindo pelo trilho TR1)
t9 Ativar Sens o r 2 (entrada do trilho TR2)
t10 Des ativar Sens o r 2 (entrada do trilho TR2) Trans mite (trem vindo pelo trilho TR2)
t11 Ativar Sens o r 3 (entrada do trilho TR3)
t12 Des ativar Sens o r 3 (entrada do trilho TR3) Trans mite (trem vindo pelo trilho TR3)
t13 Ativar Sens o r 4 (s aida do trilho TR1)
t14 Des ativar Sens o r 4 (s aida do trilho TR1) Trans mite (trem s aindo pelo trilho TR1)
t15 Ativar Sens o r 5 (s aida do trilho TR2)
t16 Des ativar Sens o r 5 (s aida do trilho TR2) Trans mite (trem s aindo pelo trilho TR2)
t17 Ativar Sens o r 6 (s aida do trilho TR3)
t18 Des ativar Sens o r 6 (s aida do trilho TR3) Trans mite (trem s aindo pelo trilho TR3)
t19 Mens agem de reto rno recebida
t20 Mens agem de reto rno recebida
t21 Mens agem de reto rno recebida
t22 Sis tema no tem mais nada para trans mitir dentro do po lling , trans mite EOT
t23 Mens agem de reto rno recebida
t24 Mens agem de reto rno recebida
t25 Mens agem de reto rno recebida
58
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 23.
FIGURA 23 Matrizes do modulo do cruzamento.
59
A rede de Petri Ieita para especiIicao do modulo do cruzamento tambem e
considerada viva, com ausncia de deadlocks, assim como e considerada limitada.
4.2.7 ESPECIFICAO DA INTERFACE
O modulo de interIace tem a Iuno de mostrar na tela o status atual do Ierrorama,
assim como, controlar os trens e o inicio e o termino da operao do Ierrorama.
Este modulo comunica-se com o modulo tutor, enviando e recebendo mensagens.
Envia mensagens de solicitao de recursos e recebe mensagens de resposta das solicitaes.
Ainda, recebe constantemente mensagens do modulo tutor, objetivando apresentar na tela do
computador a conIigurao atual do sistema (Ierrorama).
A modelagem do modulo da interIace pode ser vista na Iig. 24.
FIGURA 24 Modelagem do modulo da interIace.
As descries dos lugares e transies especiIicados na Iig. 24 podem ser vistas na
tabela 7.
60
TABELA 7 Descrio dos lugares e transies especiIicados na Iig. 24.
Lugares /
transies Descrio
p1 Sistema esta aguardando ate que uma mensagem seja enviada.
p2 Mensagem Ioi enviada para o modulo tutor.
t1 Envia mensagem para parar um determinado trem da malha.
t2 Envia mensagem para ligar um determinado trem da malha.
t3 Envia mensagem para iniciar o controle do Ierrorama
t4 Envia mensagem para encerrar o controle do Ierrorama.
t5 Atualiza a tela.
t6 Atualiza a tela apos o retorno da mensagem enviada.
As matrizes pre, post, de incidncia, marcao inicial, marcao corrente, transies
sensibilizadas e no sensibilizadas podem ser vistas na Iig. 25.
FIGURA 25 Matrizes do modulo da interIace.
A rede de Petri Ieita para especiIicao do modulo da interIace tambem e considerada
viva, com ausncia de deadlocks, assim como e considerada limitada.
61
4.2.8 ESPECIFICAO DOS PACOTES DE MENSAGENS
A especiIicao dos pacotes de mensagens e a ordem como so transmitidas tem
semelhana com a do protocolo de comunicao BSC-3. O modulo da porta serial tem a
Iuno de Iazer um polling (perguntar se tem alguma mensagem para enviar) para cada
dispositivo de controle externo, os quais so os trens e os cruzamentos. Assim, e questionado
para cada dispositivo se existe mensagem para enviar. O nome do dispositivo, um caracter
separador e a constante 'ENQ so enviados no pacote de mensagem do polling. Um exemplo
do Iormato da mensagem de polling pode ser visto no quadro 15.
QUADRO 15 Exemplo do Iormato do polling.
TR1-ENQ
Na mensagem do quadro 15, o modulo da porta serial (que controla o polling),
pergunta para o dispositivo, neste caso o trem 1, se tem alguma mensagem para enviar para o
modulo da porta serial. Se o dispositivo tiver uma mensagem para enviar, ele vai enviar a
mensagem. No caso do trem, poderia ser enviada uma mensagem solicitando exclusividade de
um trecho da malha Ierrea, ou simplesmente enviar uma mensagem de retorno, inIormando
que no tem nenhuma mensagem para enviar para o modulo da porta serial. Neste caso, envia
a constante 'EOT que signiIica Iim da conexo entre o dispositivo e a porta serial.
A lista com as constantes utilizadas na transmisso de mensagens pode ser vista na
tabela 8.
62
TABELA 8 Lista de constantes utilizadas na comunicao de dados do prototipo.
Constante Descrio
EOT Encerra a conexo com o dispositivo corrente.
ACK Mensagem recebida e compreendida
ENQ Solicita o inicio de uma conexao
TR1 Trem 1
TR2 Trem 2
CR1 Cruzamento 1
CR2 Cruzamento 2
* Todos
A1 Acesso liberado
A0 Acesso negado
- Divisor de constantes
, Separador de sensores
S1 Sensor do cruzamento S1 ativo
S2 Sensor do cruzamento S2 ativo
S3 Sensor do cruzamento S3 ativo
S4 Sensor do cruzamento S4 ativo
S5 Sensor do cruzamento S5 ativo
S6 Sensor do cruzamento S6 ativo
S1T Sensor 1 do trem esta ativo.
LT Ligar trem
PF Parar trem
4.3 IMPLEMENTAO
O prototipo Ioi separado em diversos modulos. Os modulos externos, que so, os
modulos embarcados, Ioram implementados utilizando a linguagem de programao
PICBASIC e os demais modulos Ioram implementados utilizando a linguagem de
programao Obfect Pascal.
InIormaes sobre a linguagem de programao PICBASIC pode ser vista em
MicroEngineering (2002) e inIormaes sobre a linguagem de programao Obfect Pascal
pode ser vista em Cantu (2002).
Quando o prototipo no computador e inicializado, o objeto Tutor e o primeiro a ser
instanciado.
No momento em que o objeto tutor e instanciado, ele cria tambem o objeto
FListaDePendencias (lista de pendncias especiIicada no prototipo), assim como, tambem
instancia o modulo da interIace, o modulo da malha e o modulo da porta serial, como pode ser
visto no quadro 16.
63
QUADRO 16 Criao dos objetos criados pelo objeto Tutor.
Apos todos estes objetos estarem instanciados na memoria, inIormaes na tela
(interIace) so disponibilizadas.
Toda e qualquer solicitao de acesso a um determinado trecho da malha Ierroviaria
deve ser veriIicada pelo modulo da estrutura da malha. O modulo da estrutura da malha Iaz a
veriIicao conIorme a especiIicao (Iig. 16).
As Iunes que veriIicam se as transies esto sensibilizadas podem ser vistas no
quadro 17.
QUADRO 17 Funes que veriIicam se as transies esto sensibilizadas.
As Iunes que eIetuam o disparo das transies podem ser vistas no quadro 18.
64
QUADRO 18 Funes que eIetuam os disparos das transies.
Assim, no momento em que e eIetuado um disparo em alguma transio, so retiradas
as Iichas das posies de entrada e colocadas nas posies de saida, conIorme a especiIicao.
65
Qualquer solicitao de acesso a um trecho da malha Ierroviaria e veriIicada por estas
rotinas. Se a transio no pode disparar, ou seja, se no sensibilizada, a solicitao de acesso
e colocada na lista de pendncias do modulo tutor para ser veriIicada constantemente, ate que
a solicitao de acesso seja concedida.
Nenhuma mensagem para o trem e enviada se a solicitao de acesso no Ior
concedida. O trem vai parar no momento em que o tempo de espera de retorno da solicitao
encerrar.
4.3.1 FERRAMENTAS UTILIZADAS NA IMPLEMENTAO
Para desenvolver o prototipo Ioi utilizada a IDE do Delphi 6, que pode ser encontrada
em Borland (2001). Um componente para Iazer a comunicao com a porta serial tambem Ioi
utilizado e pode ser encontrado em Perry (1999).
Para Iazer a implementao dos modulos embarcados Ioi utilizado o compilador do
PICBASIC, que pode ser encontrado em MicroEngineering (2003).
4.3.2 INTERFACE DO PROTTIPO
A tela de interIace (Iig. 26) possui no menu principal as opes para iniciar e parar o
controle do Ierrorama, um conjunto de pastas para controlar e veriIicar o status de cada um
dos trens, um conjunto de pastas para ver o status dos cruzamentos, uma pasta com o log das
mensagens recebidas e enviadas pela porta serial e um desenho da malha Ierroviaria.
No desenho da malha Ierroviaria, os quadrados vermelhos representam os trens, sendo
que a sua localizao e constantemente atualizada, conIorme a localizao dos trens no
prototipo.
66
FIGURA 26 Tela de interIace.
4.3.3 FUNCIONAMENTO DO PROTTIPO
Quando o prototipo e inicializado, a tela de interIace e carregada. Todos os trens
encontram-se parados na posio inicial de saida de cada um deles, isto e, o trem 1 vai estar
no trecho 1 e o trem 2 vai estar no trecho 2.
Quando e selecionada a opo para iniciar o controle, o sistema envia uma mensagem
para a porta serial inIormando que ela pode iniciar o polling nos dispositivos, tambem
enviando uma mensagem para ligar os trens.
Quando um dos trens encontra um cruzamento a Irente, detectado atraves de um sensor
localizado no proprio trem, ele inicia a contagem de um tempo. Este e um tempo de
segurana. Se ate o termino deste tempo, o trem no recebeu uma resposta da solicitao de
conIirmao da solicitao de acesso a um determinado trecho da malha Ierroviaria, ele para e
Iica aguardando a conIirmao. Se o trem recebeu permisso para acessar o trecho da malha
67
solicitada, ele vai continuar normalmente. O sistema neste momento vai liberar o trecho que o
trem encontrava-se anteriormente, e e reservado o novo trecho.
Atraves da propria interIace do prototipo no computador e possivel enviar uma
mensagem solicitando que um determinado trem pare, assim como, enviar uma mensagem
para Iazer com que o trem seja ativado.
Para que o trem seja ativado atraves da interIace deve ser levado em considerao o
motivo pelo qual o trem encontra-se parado. Se o trem estiver parado porque solicitou acesso
a um determinado trecho da malha Ierroviaria e no recebeu permisso para acessar este
trecho, a mensagem enviada pela interIace sera ignorada por motivos de segurana.
No momento em que o cruzamento detecta a chegada ou saida de um trem, ele envia
para o computador a inIormao dizendo qual sensor Ioi ativado, para que o computador
possa interpretar de maneira correta o que esta acontecendo no Ierrorama.
E importante levar em considerao o Iuncionamento da transmisso das mensagens.
Um dispositivo so vai enviar uma mensagem para o computador no momento em que Ior
questionado se existe mensagem para transmitir (polling).
Quando selecionada a opo para parar o controle da malha Ierroviaria, e enviada uma
mensagem para todos os trens pararem e tambem uma mensagem para o modulo da porta
serial parar a operao de polling nos dispositivos.
68
5 CONSIDERAES FINAIS
Os objetivos que Ioram deIinidos inicialmente Ioram atingidos de Iorma satisIatoria.
A base para o desenvolvimento do prototipo Ioi a Iundamentao teorica, a qual serviu
como alicerce da especiIicao, Iazendo com que o produto Iinal, Iuncionasse de Iorma
coerente com a especiIicao. Assim, antes mesmo de iniciar a implementao do prototipo,
Ioi possivel veriIicar uma serie de propriedades das redes de Petri, para identiIicar
caracteristicas do prototipo modelado, como por exemplo a ausncia de bloqueios Iatais em
todas as especiIicaes Ieitas.
A implementao Ioi Ieita seguindo todas as especiIicaes do projeto, proporcionando
ao prototipo segurana, clareza na implementao e documentao da mesma, servindo assim
para analise do que Ioi implementado, assim como, material para Iuturas extenses.
Neste trabalho Ioi utilizada uma rede de Petri com representao de tempo, o que ainda
no tinha sido utilizado em trabalhos de concluso de curso anteriores na FURB. Um trabalho
utilizando redes de Petri como metodo de especiIicao de um sistema pode ser visto em
Raulino (1999).
Imagens da maquete utilizada para Iazer a simulao podem ser vistas no Apndice A.
5.1 DIFICULDADES ENCONTRADAS
No decorrer do trabalho Ioram encontradas diversas diIiculdades, nas quais destacam-
se:
a) material didatico ou projetos, em que possam ser vistas a modelagem atraves de
redes de Petri, e a implementao dos mesmos, seguindo a especiIicao;
b) diIiculdade em encontrar boas Ierramentas para Iazer a modelagem e veriIicar as
propriedades das redes de Petri;
c) Ialta de livros na area de redes de Petri na biblioteca da FURB;
d) ruidos gerados pelo motor interIeriram na transmisso de dados via RF entre os
dispositivos;
e) quando o microcontrolador executava a Iuno SERIN da linguagem de
programao PICBASIC, ele desabilita a capacidade de gerar interrupes. Em
69
Iuno disto, Ioi necessario modiIicar a implementao para que Iosse possivel
Iazer um controle de tempo conIorme Ioi proposto na especiIicao;
I) Ioi necessario modiIicar o hardware para que Iosse possivel, apos o sensor ser
ativado, ele continuar ativo ate o momento em que o microcontrolador veriIicasse o
seu valor. Para isso Ioram utilizados os circuitos integrados flip-flops tipo D.
5.2 LIMITAES
O prototipo desenvolvido apresenta as seguintes limitaes:
a) devido ao elevado preo dos componentes eletrnicos, para a conIeco do
hardware, o sistema Ioi implementado para controlar 2 trens e 2 cruzamentos;
b) os trechos no prototipo Ioram modelados para que Iuncione apenas em um sentido;
c) no Ioi desenvolvido o hardware para Iazer controle no cruzamento, do
chaveamento do destino que o trem deve seguir ao sair do cruzamento;
d) uma rotina para conIigurar o sistema atraves de parmetros inIormados (via um
arquivo de conIigurao) no Ioi desenvolvida, em Iuno do tempo.
5.3 EXTENSES
Sero apresentadas a seguir sugestes para melhorar o prototipo implementado:
a) implementar uma rotina que armazene inIormaes da malha, e atraves desta,
conIigurar automaticamente a malha Ierroviaria que deve ser controlada;
b) melhorar a transmisso de mensagens Ieitas entre os dispositivos, levando em
considerao o protocolo de comunicao BSC-3;
c) implementar o controle de outros objetos da malha Ierroviaria, como por exemplo,
estaes de trem, cruzamentos com 4 vias entre outros;
d) implementar rotas que os trens devem seguir;
e) modiIicar o prototipo para que seja levada em considerao a prioridade de cada
trem;
I) desenvolver placas de circuito impresso para os dispositivos externos utilizando
tecnologia SMD;
g) modiIicar a transmisso de dados para que seja Ieita atraves da rede eletrica PLC.
70
REFERNCIAS BIBLIOGRFICAS
ANSCHUETZ, Henryk. HPSim Version 1.1. |S.l.|, 2001. Download. Disponivel em:
http://home.t-online.de/home/henryk.a/petrinet/e/simIorm.htm~. Acesso em: 21 abr. 2003.
BERNARDO, Elza Maria da Cruz. Processos Markovianos de deciso. Lisboa, |2001|.
Disponivel em: http://www.terravista.pt/meco/6358/seminario3~. Acesso em: 8 maio 2003.
BLOOM, James. Et al. Platform independent Petri net editor (PIPE). |S.l.|, |2003?|.
Download. Disponivel em: http://prdownloads.sourceIorge.net/petri-net/pipe-alpha-
1.5.zip?download~. Acesso em: 21 abr. 2003.
BORLAND. Delphi 6 Enterprise. |S.l.|: Borland SoItware Corporation, 2001. 1 CD-ROM.
BRESSAN, Graa. Modelagem e simulao de sistemas computacionais: noes de
processos estocasticos e cadeia de Markov. So Paulo, |2002|. Disponivel em:
http://www.larc.usp.br/conteudo/universo/pcs012/modsim04.pdI~. Acesso em: 8 maio 2003.
CANTU, Marcos. Delphi 6: a biblia. 1. ed. Traduo Joo Eduardo Nobrega Tortello. So
Paulo: Makron Books 2002.
CARDOSO, Janette; VALETTE, Robert. Redes de Petri. Florianopolis: Editora da UFSC,
1997.
EAE. Technology rail template, Inglaterra, |2002?|. Disponivel em:
http://www.aeat.com/rail/pdI/ieccint.pdI~. Acesso em: 03 Iev. 2003.
GIOVANI, Rodrigo Garcia. Software para anlise e execuo de redes de petri ordinrias.
1997. 77 I. Trabalho de Concluso de Curso (Bacharelado em Cincias da Computao) -
Centro de Cincias Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.
GUIMARES, Jose de Oliveira. Redes de Petri, So Carlos, |2003|. Disponivel em:
http://www.dc.uIscar.br/~jose/courses/tg/petri.pdI ~. Acesso em: 23 abr. 2003.
71
HALANG, WolIgang A. Real-time : Another perspective. In: KAVI, Krishna M. Real-time
systems: abstractions, languages and design methodologies. Los Alamitos: IEEE Computer
Society Press, 1992. p. 11-18.
HOOGEBOOM, Boudeuijn; HALANG, WolIgang A. The concept oI time in the speciIication
oI real time systems. In: KAVI, Krishna M. Real-time systems: abstractions, languages and
design methodologies. Los Alamitos: IEEE Computer Society Press, 1992. p. 19-38.
LAPLANTE, Phillip A. Real-time systems design and analysis: an engeneers handbook.
Los Alamitos: IEEE Computer Society Press, 1992.
MICROENGINEERING, Labs. PicBasic Pro compiler. Colorado Spring, |2002|. Disponivel
em: http://www.melabs.com/downloads/pbpm502a.PDF ~. Acesso em: 8 jul. 2003.
MICROENGINEERING, Labs. PicBasic Pro compiler. Colorado Spring, |2003|. Disponivel
em: http://www.melabs.com/products/pbp.htm ~. Acesso em: 8 jul. 2003.
PALOMINO, Reynaldo Chile. Uma abordagem para a modelagem, anlise e controle de
sistemas de produo utilizando redes de Petri. 1995. 120 I. Dissertao (Mestrado em
Engenharia de Produo ) - Universidade Federal de Santa Catarina, Florianopolis.
PENNA, Rubens M. Teleprocessamento BSC-3: conceitos, aplicaes e protocolo. So
Paulo: Livros Erica Editora Ltda, 1988.
PERRY, Jason M. TSerialPort component for Delphi. |S.l.| 1999. Download. Disponivel
em: http://www.geocities.com/walterchagas/TSerialPort.zip~. Acesso em: 23 abr. 2003.
PETERSON, James L. Petri net theory and the modeling os systems. Englewod CliIIs:
Prentice-Hall, 1981.
RAULINO, Rangel Gustavo. Uma aplicao para controle do trfego ferrovirio usando
processos concorrentes. 1999. 82 I. Trabalho de Concluso de Curso (Bacharelado em
Cincias da Computao) - Centro de Cincias Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau.
72
REISIG, WolIgang. A primer in Petri net design. Alemanha: Springer-Verlag Berlin
Heidelberg, 1992.
SCHMIDT, Amilton Cesar. Aplicao em tempo real utilizando a linguagem de
programao Erlang. 2001. 82 I. Trabalho de Concluso de Curso (Bacharelado em
Cincias da Computao) - Centro de Cincias Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau.
STANKOVIC, John A; RAMAMRITHAM, Krithi. What is predictability oI real-time
systems?. In: STANKOVIC, John A; RAMAMRITHAM, Krithi. Advances in real-time
systems. Los Alamitos: IEEE Computer Society Press, 1992. p. 26-33.
TILBORG, Andre M.; KOOB, Gary M. Foundatioms of real-time computing: scheduling
and resource management. Washington D. C.: Kluwer Academic Publishers, 1991.
VALETTE, Robert; PRADIN-CHEZALVIEL, Brigitte; GIRAULT Franois. An introdution
to Petri net theory, Toulouse Cedex, |1999?|. Disponivel em:
http://www.laas.Ir/~robert/logic.d/rvlivj99.html~. Acesso em: 23 abril 2003.
73
APNDICE A - IMAGENS DA MAQUETE
UTILIZADA PELO PROTTIPO
Uma viso geral da maquete utilizada para Iazer a simulao pode ser vista na Iig. 27,
onde podem ser vistos os dois cruzamentos e um dos trens na malha Ierroviaria. Na Iig. 28
pode ser visto o trem com uma placa de circuito impresso localizada acima do mesmo, a uma
distncia segura para evitar ruidos gerados pelo motor do trem. Tambem pode ser visto o rele
que Iaz o chaveamento da alimentao do motor e o sensor que inIorma ao trem que um
cruzamento se aproxima. A Iig. 29 mostra um dos cruzamentos e os sensores que so
utilizados pelo circuito do cruzamento. Na Iig. 30 podem ser vistos dois conjuntos de sensores
utilizados pelo cruzamento, onde o sensor superior inIorma ao sistema que o trem esta
entrando no cruzamento e o inIerior que o trem esta saindo do cruzamento. O modulo master
pode ser visto na Iig. 31.
FIGURA 27 Viso geral da maquete.
74
FIGURA 28 Trem.
75
FIGURA 29 Cruzamento.
76
FIGURA 30 Detalhe dos sensores.
FIGURA 31 Circuito master.