aula 21 – estudo e aplicaÇÕes...

27
SISTEMAS DIGITAIS - II Prof. Luís Caldas www.luiscaldas.com.br Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina. 129 AULA 21 – ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 1. INTRODUÇÃO: O modelo de redes de Petri como um mecanismo formal de descrição e análise de sistemas Histórico As redes de Petri foram originalmente propostas por Carl Adam Petri, em 1962, na Universidade de Darmstadt - Alemanha. Formulada como um modelo gráfico para descrever processamento de informações em sistemas, essas redes ao longo de vários anos de desenvolvimentos, ganharam também um suporte matemático importante que as tornaram uma ferramenta extremamente adequada para modelamento e análise de inúmeras aplicações, tais como: Projeto de hardware, protocolos de comunicação, compiladores e sistema operacionais, programação paralela e bancos de dados, circuitos lógicos programáveis etc... apenas para citar um contexto mais diretamente ligado à ciência da computação. Outras áreas onde o modelo também tem sido aplicado com sucesso são, por exemplo: Controle industrial de processos e automação da manufatura, avaliação de desempenho, modelamento de redes neurais, etc...É importante que o leitor tenha em conta sua a abrangência, para que possa tirar proveito dele, procurando aplica-lo à solução de outros problemas que não aqueles diretamente ligados à concepção e projeto de hardware digital conforme será abordado neste curso. Por que é necessário um mecanismo formal de descrição? Quando um sistema vai ser concebido, ou quando ele já existe e necessita ser analisado para sofrer manutenção ou modificações, é comum encontrar situações onde o sistema foi descrito de forma incompleta ou confusa, muitas vezes numa linguagem coloquial, que permite diversas interpretações diferentes e subjetivas para características ou funções que deveriam ter uma única interpretação. Um mecanismo formal de descrição, portanto, deve ser capaz de auxiliar a elaboração das especificações do sistema, evitar as ambigüidades na descrição de suas funções, e também ser de fácil compreensão. A idéia de usar um mecanismo formal de descrição, entretanto, não deve parar por aqui. Deve- se pensar também em analisar e validar as especificações, detectando erros e inconsistências antes mesmo de qualquer tentativa de implementação. A análise de especificações de um sistema deve ser entendida como sendo uma forma de mostrar que certas propriedades do sistema são verdadeiras em qualquer caso, evitando porem ter que enumerar e demonstrar todos os casos possíveis. Validar especificações de um sistema significa demonstrar que, em qualquer caso e respeitadas as condições impostas pelo meio onde o sistema irá residir, ele será capaz de responder às exigências feitas nas especificações. Dentro do âmbito dos sistemas estudados neste curso, o processo de análise e validação de especificações é muito importante, pois obriga o projetista a ir fundo em suas considerações a respeito do projeto, eliminando ambigüidades e incoerências, o que acaba por simplificar as etapas posteriores de implementação e testes, gerando uma documentação final extremamente útil, que pode inclusive conter procedimentos operacionais e de manutenção, visando garantir as especificações durante todo o tempo de vida útil concebido para o sistema. Portanto, é dentro desse contexto que as redes de Petri devem ser examinadas no âmbito desse curso. Apresentação do modelo de redes de Petri

Upload: dangnga

Post on 15-Dec-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

129

AULA 21 – ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 1. INTRODUÇÃO: O modelo de redes de Petri como um mecanismo formal de descrição e análise de sistemas Histórico As redes de Petri foram originalmente propostas por Carl Adam Petri, em 1962, na Universidade de Darmstadt - Alemanha. Formulada como um modelo gráfico para descrever processamento de informações em sistemas, essas redes ao longo de vários anos de desenvolvimentos, ganharam também um suporte matemático importante que as tornaram uma ferramenta extremamente adequada para modelamento e análise de inúmeras aplicações, tais como: Projeto de hardware, protocolos de comunicação, compiladores e sistema operacionais, programação paralela e bancos de dados, circuitos lógicos programáveis etc... apenas para citar um contexto mais diretamente ligado à ciência da computação. Outras áreas onde o modelo também tem sido aplicado com sucesso são, por exemplo: Controle industrial de processos e automação da manufatura, avaliação de desempenho, modelamento de redes neurais, etc...É importante que o leitor tenha em conta sua a abrangência, para que possa tirar proveito dele, procurando aplica-lo à solução de outros problemas que não aqueles diretamente ligados à concepção e projeto de hardware digital conforme será abordado neste curso. Por que é necessário um mecanismo formal de descrição? Quando um sistema vai ser concebido, ou quando ele já existe e necessita ser analisado para sofrer manutenção ou modificações, é comum encontrar situações onde o sistema foi descrito de forma incompleta ou confusa, muitas vezes numa linguagem coloquial, que permite diversas interpretações diferentes e subjetivas para características ou funções que deveriam ter uma única interpretação. Um mecanismo formal de descrição, portanto, deve ser capaz de auxiliar a elaboração das especificações do sistema, evitar as ambigüidades na descrição de suas funções, e também ser de fácil compreensão. A idéia de usar um mecanismo formal de descrição, entretanto, não deve parar por aqui. Deve-se pensar também em analisar e validar as especificações, detectando erros e inconsistências antes mesmo de qualquer tentativa de implementação. A análise de especificações de um sistema deve ser entendida como sendo uma forma de mostrar que certas propriedades do sistema são verdadeiras em qualquer caso, evitando porem ter que enumerar e demonstrar todos os casos possíveis. Validar especificações de um sistema significa demonstrar que, em qualquer caso e respeitadas as condições impostas pelo meio onde o sistema irá residir, ele será capaz de responder às exigências feitas nas especificações. Dentro do âmbito dos sistemas estudados neste curso, o processo de análise e validação de especificações é muito importante, pois obriga o projetista a ir fundo em suas considerações a respeito do projeto, eliminando ambigüidades e incoerências, o que acaba por simplificar as etapas posteriores de implementação e testes, gerando uma documentação final extremamente útil, que pode inclusive conter procedimentos operacionais e de manutenção, visando garantir as especificações durante todo o tempo de vida útil concebido para o sistema. Portanto, é dentro desse contexto que as redes de Petri devem ser examinadas no âmbito desse curso. Apresentação do modelo de redes de Petri

Page 2: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

130

Este item apresenta essas redes como um modelo abstrato, através de uma série de definições e propriedades. A seguir, será associada uma interpretação ao modelo, tornando-o adequado à descrição dos problemas que serão objeto de estudo do curso. 2. Definição Trata-se de um modelo gráfico constituído de dois tipos de NÓS: Os Lugares e as Transições. Estes NÓS são interligados através de arcos orientados. Dessa forma, as redes de Petri podem ser definidas como uma tripla [L, T, A], onde: L = { l1, l2, ..... lm } é um conjunto finito de lugares, representados por círculos; T = { t1, t2, ......tn } um conjunto finito de transições, representadas por barras; A = { a1, a2, ....aj } um conjunto finito de arcos orientados, representados por setas que interligam etapas e transições. A figura 1 apresenta o grafo de uma rede de petri genérica. Nesta rede, também deve ser associada à cada transição um conjunto de Lugares de Entrada e Lugares de Saída da transição. Os lugares de entrada são aqueles de onde saem os arcos orientados em direção às transições (na figura 1, L5 e L6 são lugares de entrada de t5). De forma análoga, os arcos orientados do Lugar para a Transição determinam os lugares de saída da transição ( L3 e L4 são lugares de saída de t2). L3 t3 L5 t1 t2 t5 L1 L4 t4 L6

Figura 1: Rede de Petri genérica O grafo apresentado permite representar o comportamento estático dos sistemas que desejamos modelar com o uso destas redes. Entretanto, elas também permitem descrever o comportamento dinâmico dos sistemas, o que é caracterizado através do conceito de MARCA e de MARCAÇÃO das redes, definidos a seguir: As marcas são entidades que existem dentro dos lugares da rede, são representadas por pontos, e podem ser produzidas ou consumidas pelas transições de acordo com um conjunto de regras de disparo destas transições, definidas no item descrição formal. A marcação da rede corresponde ao numero de marcas que ela possui num certo instante, e a forma pela qual estas marcas estão distribuídas nas suas etapas. No estado inicial da rede, ela possui uma certa distribuição de marcas que deverá ser considerada numa análise qualquer. Esta marcação será denominada M0 (marcação inicial da rede). As marcações de uma rede genérica podem ser representadas através de um vetor, como por exemplo na figura 1, pelo vetor M0= ( 101100 ) que corresponde ao numero de marcas respectivas nos lugares L1 a L6 num instante to. Portanto, uma rede de Petri genérica fica definida quando é fornecido o seu grafo e a sua marcação inicial correspondente. Regras de Evolução

Page 3: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

131

Para compreender a forma pela qual as redes de Petri evoluem ao longo do tempo e podem modelar o comportamento dinâmico de um sistema, será introduzido o conceito de validação e disparo das transições da rede. Definição 1: Uma transição genérica da rede é dita habilitada, quando todos os lugares de entrada

desta transição possuem pelo menos uma marca (as transições t2, t5 e t8 da fig.1 estão habilitadas). Uma transição habilitada pode disparar, e o seu disparo provocará uma evolução na marcação da rede.

Definição 2: O disparo de uma transição habilitada se faz de acordo com as seguintes regras:

a) Remover uma marca de cada um dos lugares de entrada da transição; b) Colocar uma marca em cada um dos lugares de saída da transição

A figura 2 apresenta duas marcações possíveis na evolução da rede já apresentada na figura3.1. L3 t3 L5 t1 t2 t5 L1 L4 t4 L6

Figura 2a: Evolução da marcação inicial (fig.1) pelo disparo de t1 e t3

L3 t3 L5 t1 t2 t5 L1 L4 t4 L6

Figura 2b: Evolução da rede da figura 2a pelo disparo de t2 Os arcos podem ser ponderados (associados a um número inteiro e positivo como indicado na fig.3.3). Um arco com peso W equivale a um conjunto de W-arcos em paralelo. Arcos representados sem ponderação equivalem ao valor unitário de W. O numero de marcas existentes numa determinada etapa num determinado instante, também poderá ser associado ao conjunto de números inteiros positivos. Por exemplo, na rede da figura 3, a letra K dentro de L1 e L3 indica que existem K marcas dentro de cada um desses lugares nesse instante.

Page 4: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

132

Fig.3: Representação da ponderação de arcos e marcas O disparo da transição t1 implica em retirar uma marca do lugar L1 e W marcas do lugar L3 (K ≥ W), e colocar uma marca em L2. De forma análoga, o disparo de t3 implica em retirar uma marca de L2 e colocar uma marca em L1 e W marcas em L3 A seguir, é fornecida uma definição formal das redes de Petri, onde foram agregados também os conceitos de ponderação dos arcos e de marcação inicial da rede: Uma rede de Petri é uma quíntupla { L, T, A, W, M0 } L = { l1, l2, ..... lm } é um conjunto finito de lugares; T = { t1, t2, ......tn } um conjunto finito de transições; A = { a1, a2, ....aj } um conjunto finito de arcos orientados; W : F = {1, 2, 3, 4, ...} é uma função de ponderação; M0 : P = { 1, 2, 3, .....} é a marcação inicial da rede. 3. Seqüência de disparo de transições Seja S uma seqüência finita de transições pertencentes ao conjunto T = {t1 t2 ... ti ....tn } de transições da rede, ou seja: S = {ti, ti + 1 ....ti + k}. S será uma seqüência de transições ativáveis a partir de uma certa marcação Mi da rede, se e somente se, existem as marcações Mi+1, Mi + 2 .... Mi+(k + 1) e estas marcações forem alcançáveis a partir do disparo das transições correspondentes, ou seja:

Mi ti Mi +1

ti+1 Mi +2 - - -- Mi + k ti+k Mi + k+1 Exemplo: Na rede indicada na figura 4, a seqüência de transições - S = {t1, t3, t5, t6, t7, t1, t2, t4} é uma seqüência ativável a partir de

L3

t1 t2

t3 t4

W

W

K

K

L1

L2 L4

Page 5: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

133

Mo = (100000000), pois temos a seguinte evolução das marcações:

Mo t1 M1 t3 M2 t5 M3 t6 M4 t7 M0 t1 M1 t2 M5 t4 M1

M0 = (1 0 0 0 0 0 0 0 0 ) M1 = (0 1 0 0 0 0 0 0 0 ) M2 = (0 0 0 1 1 0 0 0 0) M3 = (0 0 0 1 0 1 0 0 0) M4 = (0 0 0 0 0 0 1 0 0) M5 = (0 0 1 0 0 0 0 0 0)

Figura 4: - Rede de Petri genérica

4. Diagrama de marcações da rede O diagrama de marcações da rede será definido a partir do conceito de classe de marcações alcançáveis de M0, cuja notação usada será M0. Trata-se de um conjunto de marcações Mi da rede, acessíveis a partir de uma marcação inicial M0, ou seja: Para as quais existe ao menos uma seqüência de disparo Si, atingível a partir de M0, e que conduza a Mi.

t1

L1

t2

t4

t3

t5

t6

t7 t8

t9

t10

L2 L3

L4 L5

L6

L7

L8

L9

t11

Page 6: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

134

Mi ∈ M0, se somente se, ∃ Si tal que M0 Si Mi Obs: Si pode ser uma seqüência vazia e portanto, M0 ⊂ M0 Para o exemplo da figura 4, a partir da marcação inicial M0 = (100000000) temos a seguinte classe de marcações alcançáveis:

M0 = { M0, M1, M2, M3, M4, M5, M6, M7} onde: M0 = (100000000) M1 = (010000000) M2 = (000110000) M3 = (000101000) M4 = (000000100) M5 = (001000000) M6 = (000000010) M7 = (000000001) Para outra marcação inicial Mj, a classe de marcações subsequentes será diferente. Existe, portanto, uma classe associada a cada marcação inicial da rede. Definição : Diagrama de Marcações de uma rede Este diagrama é representado através de um grafo orientado onde o conjunto de NÓS é M0, e o conjunto de arcos (Mi, Mj) é definido como se segue:

Mi ∈ M0 , Mj ∈ M0 e ∃ t ∈ T / Mi t Mj ⇔ (Mi, Mj) ∈ A Sobre cada arco estão indicadas as transições que, quando ativadas, provocam a mudança da marcação Mi para Mj. Exemplo: O diagrama de marcações subsequentes da rede, indicada na figura 4, é apresentado na figura 5.

M0 t1 M1 t3 M2 t5 M3 t6 M4 t8 M6

t4 t2 t9

t11

Figura 5: Grafo de marcações subsequentes da rede indicada na fig.4

5. Representação matricial das redes de Petri Uma rede de Petri também pode ser representada matematicamente, por meio de matrizes. Vamos examinar dois tipos de representação distintos: A) Representação por "ETAPAS DE ENTRADAS" E "ETAPAS DE SAÍDA" das TRANSIÇÕES.

t7 M7

t10 M5

Page 7: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

135

Neste caso, temos duas matrizes que denominaremos respectivamente: EE (matriz de etapas de entrada), e ES (matriz de etapas de saída). Estas matrizes possuem um número de colunas igual ao número de ETAPAS da rede, e um número de linhas igual ao número de TRANSIÇÕES, sendo seus elementos definidos da seguinte forma: Matriz de Etapas de entrada (EE) aij = 1: se existe um arco interligando a etapa J com a transição i aij = 0: não existe arco ligando a etapa J com a transição i. Matriz de etapas de Saída (ES) bij = 1: se existe um arco interligando a transição i com a etapa J. bij = 0: não existe arco de ligação da transição i com a etapa J. Se associarmos a estas duas matrizes o vetor M0 da marcação inicial, teremos uma descrição completa da rede . Para a rede indicada na figura3.6 as matrizes serão:

1 0 0 0 0 1 1 0

EE= 0 1 0 0 ES = 0 0 0 1 M0 = [1000]

0 0 1 0 0 0 0 1

0 0 0 1 1 0 0 0

a22 = 1 Existe um arco ligando b24 = 1 Existe um arco a etapa 2 com a ligando a transição transição 2 2 com a etapa 4

e1 e2 e3 e4

t1

t2

t3

t4

Page 8: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

136

Figura 6: Rede de Petri representada de forma matricial B) REPRESENTAÇÃO POR MATRIZ DE INCIDÊNCIA A matriz de incidência também possui um número de colunas igual ao número de ETAPAS da rede, e um número de linhas igual ao número de TRANSIÇÕES, e de modo que: Cij = 1 : se existe um arco que liga a transição i à etapa J Cij = -1 : se existe um arco ligando a etapa J com a transição i. Cij = 0 : se não existe nenhum arco entre a transição i e a etapa J. Para a rede da figura 6, a matriz de incidência será: e1 e2 e3 e4

-1 1 1 0 t1

I= 0 -1 0 1 t2 M0 = [1000]

0 0 -1 1 t3

1 0 0 -1 t4

e1

t1

e3 e2

t2

e4

t3

t4

Page 9: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

137

AULA 22 – ESTUDO E APLICAÇÕES DAS REDES DE PETRI COMO MECANISMO DE DESCRIÇÃO DE SISTEMAS. 6. Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M0. a) Rede DEMARCADA a.1) Definição de Lugar Demarcado Um lugar Li do conjunto L = { L1 L2 ... Ln} é dito demarcado a partir da marcação inicial M0, se e somente se, para todas as marcações Mi ∈ M0 existe um número N, inteiro e positivo, tal que: o número de marcas contidas no lugar Li em qualquer caso é menor ou igual a N, ou seja: Mi (Li) ≤ N, a.2) Definição de rede Demarcada Uma rede de Petri é dita demarcada, a partir de uma marcação inicial M0, se e somente se, todos os lugares Li do conjunto E são demarcados para M0. Para o exemplo da figura 7 a seqüência de disparo S = (t1, t2, t3) é ativável indefinidamente. Isto provoca um crescimento ilimitado do número de marcas na rede. Esta rede, portanto não é demarcada.

Figura 7: - REDE NÃO DEMARCADA

Pode-se demonstrar que uma rede de Petri é demarcada para uma marcação M0, se e somente se, a classe de marcações subsequentes de M0 é finita. A análise do caráter demarcado de uma rede é muito importante, pois permite detectar erros de descrição dos sistemas. B) Rede de Petri Segura Uma rede de Petri é dita segura a partir de uma marcação inicial M0, se e somente se, todos os lugares da rede são demarcados com N=1, ou seja: Cada lugar da rede pode conter apenas uma ou nenhuma marca para qualquer marcação possível da rede. Exemplo: A rede da figura 8a é segura para M0 = (100), pois seu diagrama de marcações (indicado na figura 8b mostra que todas as etapas são demarcadas para n = 1.

e1 t1

e2

e3

t2

t3

Page 10: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

138

M1

t1 t3 M0 = (1 0 0)

M0 M1 = (0 1 0)

t4 t2 M2 = (0 0 1 )

M2

(a) (b)

Figura 8a : Rede segura para a marcação M0 = (100)

A mesma rede indicada na figura 8a, entretanto, não é segura para M0 = (101), conforme indica seu diagrama de marcações (figura 9).

M0 = (1 0 1)

M1 = (0 1 1 )

M2 = (0 0 2)

M3 = (2 0 0)

M4 = (1 1 0)

M5 = (0 2 0)

Figura 9. - Grafo de marcações da rede da fig.3.8a com M0 = (101)

c) Rede de Petri Viva. Uma rede de Petri é viva a partir de uma marcação inicial M0, se e somente se, para todas as transições ti pertencentes ao conjunto T, e todas as marcações Mi de M0, existir numa seqüência de disparo S englobando ti e ativável a partir de Mi. No exemplo da figura 10 vemos, pelo diagrama de marcações, que a transição t3 não dispara nunca, pois não existe nenhuma seqüência de disparo da rede, que torne esta transição ativável, seja a partir de M0=(10) ou de M1=(01). A rede da figura 10, portanto, não é viva.

t2

L3

t1

t3

t1

t4

t2

L2

M1

L1

Mo

M2

M4

M3

M5

t1 t3

t3

t1

t2

t4

t3

t4

t4

t2

Page 11: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

139

Figura 10 : REDE VIVA PARA M0 = (11)

Neste mesmo exemplo (fig.10), entretanto, se tomarmos M0 = (11) como marcação inicial, obteremos o diagrama de marcações da figura 3.11. M0 = (1 1)

M1 = (0 2)

M2 = (2 0)

Figura 11

A partir de qualquer uma das marcações Mi, pode-se obter uma seqüência ti englobando todas as transições da rede. So = {t3, t1, t2} S1= {t2, t3, t1} e S2= {t1, t2, t3} Esta mesma rede, portanto, é viva para M0= (11) O caráter vivo de uma rede de Petri é muito importante porque: • Ele assegura que a rede não possui bloqueios (deadlock). O bloqueio corresponde a uma marcação, a partir da qual, nenhuma transição pode ser disparada.

• Ele assegura também que todas as partes da rede são acessíveis. d) - Rede de Petri Reinicializável Uma rede de Petri é reicializável para uma marcação inicial M0, se e somente se, para todas as marcações Mi, de M0 existir uma seqüência de disparos S, ativável a partir de Mi,que conduz novamente a marcação inicial M0. No exemplo da figura 12, não existe seqüência de disparos a partir de nenhuma das três marcações M1, M2 e M3, que conduza novamente a M0. Esta rede, portanto, não é reinicializável, embora seja VIVA.

T1

T2

Mo M1

Mo = (10) M1 = (01)

T3

P 1

T 1

P 2

T 2

t2 t2

t1 t1 t3

M1 Mo M2

Page 12: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

140

Figura 12: Rede reinicializável para M0 = (1100)

Na mesma rede da figura 12, entretanto, se partirmos da marcação inicial M0 = (1100), obteremos o diagrama de marcação da figura 13. Este diagrama indica que a partir de qualquer marcação Mi, é possível encontrar uma seqüência Si que conduz a M0. S0 = {t2, t1, t3} S1 = {t1, t3} S2 = {t3} A rede é, portanto, reinicializável para esta nova marcação inicial, e igualmente VIVA M0 = (1 1 0 0)

M1 = (1 0 1 0)

M2 = (0 0 1 1)

Figura 13: Diagrama de marcações da rede (fig. 10) p/ M0 = (1100)

O caráter reinicializável de uma rede traduz, portanto, sua capacidade de descrever sistemas que retornam ao estado inicial após terem executado uma seqüência de tarefas exigidas. 6. Interpretação do modelo Até este ponto, as redes de Petri foram definidas como um modelo abstrato. Uma rede, entretanto, passa a representar um sistema quando é associada uma interpretação às entidades que a compõe, ou seja: aos LUGARES, às TRANSIÇÕES e às MARCAS. O exemplo a seguir ilustra o conceito de interpretar uma rede de Petri para descrever a solução do seguinte problema: Um barqueiro precisa atravessar um rio levando um lobo, uma cabra e um maço de couve. Em cada travessia, somente podem ir no barco o barqueiro e uma das três cargas que devem ser transportadas.

M0=(0 1 0 1)

M1=(0 0 1 1)

M2= (1 1 0 0)

M3= (1 0 1 0)

t2 t1

t3

Mo Mi M2

L1

t1

L4

t3

L3

L2

t2

t2 Mo

t1

M3

M1

M2 t2

t3

Page 13: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

141

A figura 14 descreve uma possível solução para este problema, com redes de Petri, nas seguintes condições: 1) o lobo e a cabra 2) a cabra e a couve Nunca podem ficar sozinhos, sem o barqueiro, em qualquer lado do rio

Figura 14: Descrição do problema do barqueiro Algumas interpretações típicas utilizadas no modelamento de sistemas descritos com essas redes são as seguintes: As transições representam eventos, e os lugares representam condições. Uma transição possui certo número de lugares de entrada e lugares de saída, que passam a representar respectivamente pré-condições e pós-condições à ocorrência daquele evento. Nesse caso, a presença de uma marca num lugar é interpretada como tendo ocorrido a condição a ela associada. Outra interpretação consiste em colocar certo numero de marcas num determinado lugar da rede, para indicar uma certa quantidade de itens ou recursos disponíveis. Nesses casos, juntamente com a utilização da função de ponderação dos arcos, conforme definido no item III.1, pode-se modelar situações onde haja necessidade condicionar a ocorrência de eventos (disparo de transições) a uma certa quantidade de itens (recursos) disponíveis.

Tira a cabra

Barqueiro com a cabra

LÔBO

cruza o rio

Coloca Lôbo no bote

Cruzando o rio

cruza o rio

Cruza o rio

Deixa o Lôbo

LÔBO

CABRA

Coloca cabra no Bote

Barqueiro sozinho

Barqueiro sozinho

Cruza o rio

Cruza o rio

COUVE

Coloca couve no Bote

Cruza o rio

Deixa a cabra

Deixa a couve e coloca a cabra

COUVE CABRA

Page 14: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

142

Exemplos de aplicação no modelamento de sistemas Este item apresenta alguns exemplos de modelamento de sistemas usando redes de Petri. Exemplo1: Protocolos de comunicação podem se representados e analisados com o auxilio dessas redes. A figura 15 exemplifica este modelamento, sendo a análise do protocolo feita com a aplicação das propriedades apresentadas anteriormente (rede viva, segura e reinicializável), e do diagrama de marcações alcançáveis da rede.

Figura 15: Representação de protocolos Exemplo 2: As redes de Petri, quando aplicadas ao modelamento de sistemas digitais, podem ser usadas também para descrever o fluxo de dados. Na figura 16 esta representada uma computação dirigida pelo fluxo de dados, onde as instruções são habilitadas para execução assim que os operandos necessários ficam disponíveis, e podem ser executadas de forma concorrente e assíncrona. Neste tipo de representação, as marcas correspondem aos valores atuais dos dados e também sua disponibilidade. As instruções (operações que devem ser realizadas sobre os dados) estão representadas pelas transições, e os lugares recebem os valores computados. Este exemplo enfatiza a flexibilidade e abrangência dessas redes para descrição de problemas.

Buffer cheio

Envia mensagem

Recebe mensagem

Envia ACK

Buffer cheio

Pronto p/ receber

Mensagem recebida

Processo # 2

ACK enviado

ACK recebido

Pronto p/ enviar

Processo # 1

Espera ACK

copia dado

copia dado

X

X

Y

Y

multiplica

subtrai

X-Y

se X-Y = 0

se X-Y = 0

divide X*Y

X*Y Z= ------ X-Y

Z é indefinido

Page 15: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

143

Figura 16: Fluxo de dados para computação de (X*Y)/(X-Y)

Exemplo 3: Modelagem de situações de conflito e de concorrência Situações de conflito caracterizam-se, ao nível do modelo, por possuírem duas ou mais transições habilitadas, mas o disparo de uma delas inibe o disparo das outras. Essas situações são modeladas conforme indicado na figura 17a, (transições t1, t2 e t3 são transições em conflito). A figura17b apresenta um exemplo de aplicação, onde a situação de conflito é usada para modelar um mecanismo de sincronização para um processo de leitura e escrita com mutua exclusão (por exemplo, o acesso seqüencial às informações contidas numa memória). L1 L2 t1 t2 t3 t3 L4 L5 L6

Figura 17a: Modelamento de uma situação de conflito Leitura Escrita

Figura 17b: Representação do processo de escrita e leitura com mútua exclusão Situações de concorrência (execução de atividades paralelas), também podem ser expressas facilmente conforme indicado na figura 18. Após o disparo de t1, o ramo L2, t2, L4 da rede pode evoluir em paralelo e de forma independente do ramo L3, t3, L5, cada um deles modelando atividades distintas que devem ser executadas em paralelo. Ainda neste exemplo, a transição t4 representa uma forma de modelar situações onde é necessário sincronizar diversas atividades que estão sendo executadas de forma independente.

Recurso disponível

Solicitação de leitura

Solicitação de escrita

Fim Fim

Page 16: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

144

L2 t2 L4 t1 t4 L1 L3 t3 L5 L6 L7 t5 L8

Figura 18 : Trecho de uma rede de Petri genérica modelando uma situação de concorrência

Page 17: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

145

AULA 23 – Redes de Petri aplicada na descrição de sistemas - Exemplos – Livro texto pág. 242 a 246. 1. Aplicações: O objetivo é mostrar a ferramenta redes de Petri na descrição de sistemas que foram implementados com as F.S.M.s. Exemplo 5.1: Construir uma unidade de controle para uma máquina de refrigerantes. Dispõe-se de uma entrada c de 1 bit onde (c = 1), durante um ciclo de relógio, sempre que uma moeda for detectada. Dispõe-se também de uma entrada a de oito bits que indica o valor da moeda em centavos. Uma terceira entrada s de oito bits indica o custo de um refrigerante (esse valor é definido pelo proprietário da máquina). A unidade de controle somente gera uma saída d (d = 1), por um ciclo de relógio, sempre que o total de moedas for maior ou igual ao custo de um refrigerante. Obs.: Essa máquina fornece somente um tipo de refrigerante. A máquina não fornece troco ficando retido o excedente. Pede-se: a) Descrever o problema usando redes de Petri. b) Utilizando-se do fluxo de dados geral projetar a unidade de controle. Solução do exemplo 5.1 usando fluxo de dados. a) Fluxograma do processo. Figura: Fluxograma da máquina de refrigerante.

INICIO

d = 0, tot = 0, s

c : 1

sim

não

Leia a tot = tot + a

tot : s <

d = 1

Page 18: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

146

b) Redes de Petri do exemplo 5.1.

Page 19: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

148

Solução do exemplo 5.1 com fluxo de dados geral Bloco Operacional da máq. refrigerante FLUXO DE DADOS GERAL Tabela de instruções para controle do fluxo de dados. Z – Flag zero -> Z = 1 ALU = 0 P – Flag Positivo -> P = 1 ALU >0 N – Flag Negativo -> N = 1 ALU < 0

ALU2 ALU1 ALU0 Operação 0 0 0 Passa A 0 0 1 A ∧ B 0 1 0 A ∨ B 0 1 1 A’ 1 0 0 A + B 1 0 1 A - B 1 1 0 A + 1 1 1 1 A - 1

∧ → Operação A AND B. ∨ → Operação A OR B.

ALU2 ALU1 ALU0

A B

1 0 IE MUX

REG.LOAD

OE

Saída

0

1 clk

2

3 4 5

6

“s” “a”

Z P N

7 8 9

Item Instrução IE ULA2 ULA1 ULA0 CLR LD d 1 Início x x x x 1 0 0 2 Ler a 1 x x x 0 0 0 3 Somar 1 1 0 0 0 1 0 4 Compara s 0 1 0 1 0 0 0 5 Fornecer d x x x x 0 0 1

U.C. c

d

s

F.D. Z

1 a 6

7

a

Page 20: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

149

Palavra de controle gerada pela U.C. PC1 = XXXX100 PC2 = 1XXX000 PC3 = 1100010 PC4 = 0101000 PC5 = XXXX001 Implementação do sistema. As equações do sistema ficam:

Page 21: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

129

O circuito final:

Page 22: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

130

FORMAS DE ONDAS

Page 23: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

131

Page 24: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

129

AULA 24 – Redes de Petri aplicada na descrição de sistemas - Exemplos – Livro texto pág. 242 a 246. 1. Aplicações: O objetivo é mostrar a ferramenta redes de Petri na descrição de sistemas que foram implementados com as F.S.M.s. Exemplo 5.2: Medidor de distância baseado em raio laser. Um laser é disparado sobre um objeto que se deseja medir a distância, Um sensor detecta quando o feixe de luz do laser reflete sobre ele. A medição é feita durante o intervalo de tempo que o feixe é disparado e refletido sobre o sensor de reflexão. Um temporizador ou um contador pode ser usado para medir a distância entre o laser e o objeto. a) A F.S.M. a ser projetada tem como variáveis de entrada um botão B para iniciar o processo de medição e a saída do sensor de reflexão S. As variáveis são ativas em nível lógico 1. As variáveis de saída são L (L = 1) liga o laser e a saída L de 11 bits para medição de até 2.000m. Observação: A velocidade da luz é igual a 3 x 108 m/s e a medição é sempre o dobro da medida, pois existe a ida e volta do feixe de luz. Passo 1: Criar a F.S.M. para o processo de medição. . b) Redes de Petri do exemplo 5.2.

U.C.

B

S

L

D 11

Page 25: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

153

Solução do exemplo 5.2 com fluxo de dados geral Bloco Operacional da medição a laser. FLUXO DE DADOS GERAL Tabela de instruções para controle do fluxo de dados. Z – Flag zero -> Z = 1 ALU = 0 P – Flag Positivo -> P = 1 ALU >0 N – Flag Negativo -> N = 1 ALU < 0 Via de dados = 11 bits.

ALU2 ALU1 ALU0 Operação 0 0 0 Passa A 0 0 1 A ∧ B 0 1 0 A ∨ B 0 1 1 A’ 1 0 0 A + B 1 0 1 A - B 1 1 0 A + 1 1 1 1 A - 1

∧ → Operação A AND B. ∨ → Operação A OR B.

ALU2 ALU1 ALU0

A B

1 0 IE MUX

REG. LOAD

OE

Saída

0

1 clk

2

3 4 5

6

“1” “x”

Z P N

7 8 9

Item Instrução IE ULA2 ULA1 U1 Início x x x 2 Espera x x x 3 Liga x x x 4 Incrementa 0 1 0 5 Display x x x

U.C. B F.D.

0 a 6

7

1

11

11

11

11

11

s

L

Page 26: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

SISTEMAS DIGITAIS - II Prof. Luís Caldas

www.luiscaldas.com.br

Pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

154

Palavra de controle gerada pela U.C. PC1 = XXXX100 PC2 = 1XXX000 PC3 = 1100010 PC4 = 0101000 PC5 = XXXX001 Implementação do sistema. As equações do sistema ficam:

Page 27: AULA 21 – ESTUDO E APLICAÇÕES …luiscaldas.com.br/unip/digitaisII/exercicios/propostos_extras/... · Estas notas não substituem o livro texto que é a referência da disciplina

NOTAS DE AULA NE7720 – SISTEMAS DIGITAIS - II AULA 21 - Prof. Luís Caldas

www.luiscaldas.com.br

pág. Obs.: As notas de aulas são recursos para o aluno que assiste às aulas e preenche os espaços desta folha com conteúdo de aula. Estas notas não substituem o livro texto que é a referência da disciplina.

129

O circuito final: FORMAS DE ONDAS