• Sonuç bulunamadı

Kuzey Irak Dü¤ümünü Çözmek

Em seu trabalho, LIN e WONHAM (1988) propõem uma solução para síntese de supervisores de sistemas que apresentam um conjunto de eventos particionados em eventos observáveis e eventos não-observáveis. A síntese é baseada no conjunto de eventos observáveis. Esta abordagem utiliza autômatos …nitos e linguagens regulares para modelar os SEDs e é baseada no fato de que nem

todos os eventos em um sistema real são observáveis.

Dentre os formalismos conhecidos, para a modelagem e controle de SEDs, as redes de Petri (RPs) têm sido utilizadas na TCS por (BARROSO, 1996), (BARROSO et al., 1995), (GIUA e DICESARE, 1992), (GIUA e DICESARE, 1994a), (GIUA e DICESARE, 1994b), (GIUA e DICESARE, 1995), (HOLLOWAY e KROGH, 1990), (HOLLOWAY e KROGH, 1992), (INAN e VARAIYA, 1988) e (SREENIVAS e KROGH, 1992), entre outros. Algumas das vantagens de se utilizar RPs são:

A estrutura de uma RP não requer uma enumeração explícita de todos os estados do sistema e em muitos casos podem ser utilizadas técnicas de análise, baseadas somente na estrutura da rede, que permitem uma boa solução para o problema de controle.

O modelo da RP cresce linearmente com o número de componentes do sistema modelado.

Uma RP supervisora contém sua ação de controle implícita na própria estrutura. Nesse caso, o modelo em malha fechada do sistema controlado pode ser construído e analizado usando-se as mesmas técnicas de análise para as RPs usadas na modelagem.

2.4 Linguagens Formais

Nessa seção são apresentados conceitos básicos de linguagens formais, segundo (HOPCROFT e ULLMAN, 1979) e (RAMADGE e WONHAM, 1987).

De…nição 2.2 Alfabeto é um conjunto não-vazio de símbolos, representado por uma letra grega maiúscula, em geral .

De…nição 2.3 Palavra sobre o alfabeto é qualquer justaposição de um número …nito de símbolos, com ou sem repetição.

De…nição 2.4 O comprimento de uma palavra s, denotado por jsj, é igual ao número de símbolos que a compõem.

De…nição 2.5 A palavra nula, representada por , é a única palavra de comprimento nulo.

Observação 2.1 2 , pois= é uma palavra e não um símbolo de . De…nição 2.6 Dado um alfabeto , de…nem-se dois conjuntos, tais que:

+=[ k = 1[ 2[ 3[ (2.9)

=[ k= 0[ 1[ 2[ (2.10)

Nesse caso, + é o conjunto de todas as palavras que podem ser formadas

com os símbolos do alfabeto e difere de + apenas por incluir a palavra

nula, ou seja:

= +[ f g : (2.11)

Formalmente, um conjunto de palavras formadas por símbolos de um alfabeto é denominado Linguagem L.

De…nição 2.7 O pre…xo-fechamento ou simplesmente fechamento de L, é dado por:

L = fu : 9v 2 ^ uv 2 Lg : (2.12)

Como consequência tem-se que L L. Assim, quando L = L então L é dita pre…xo-fechada, ou simplesmente fechada.

De…nição 2.8 A linguagem pre…xo-fechada que representa o comportamento lógico de um SED é denominada linguagem gerada do sistema.

É necessário que um SED, partindo de seu estado inicial e percorrendo uma determinada trajetória em seu espaço de estados, complete uma ou mais tarefas. As sequências de eventos (palavras) que levam à realização de tarefas também formam uma linguagem.

De…nição 2.9 A linguagem que representa o conjunto de tarefas que um SED é capaz de executar é denominada linguagem marcada do sistema.

Um SED que produz as palavras contidas numa linguagem marcada Lm,

também produzirá as palavras contidas em Lm. Nesse caso, pode-se dizer que:

Lm Lm L = L (2.13)

Os autômatos, como de…nido anteriormente, não são capazes de representar a linguagem gerada do sistema. A solução para esse problema está em se permitir que a função de transição seja de…nida apenas para alguns pares (evento, estado) do conjunto (q) Q.

2.4.1

Linguagens Regulares

As expressões regulares são sequências de símbolos obtidas pela aplicação repetitiva de um conjunto de regras de formação. Usualmente tem-se:

ne snrepresentam, respectivamente, a repetição do símbolo e da palavra

s por n vezes.

e s representam, respectivamente, a repetição do símbolo e da palavra s um número arbitrário de vezes, inclusive zero.

O símbolo + é empregado como o operador lógico ou, indicando uma opção entre duas ou mais possibilidades.

Essa notação permite escrever notações …nitas para linguagens formadas por um número in…nito de palavras.

Por exemplo, sejam, = f ; g e L uma linguagem pre…xo-fechada onde os símbolos e ocorram alternadamente, sendo que ocorre primeiro. A linguagem L pode ser representada da forma:

Isso quer dizer que, ( ) pode ocorrer um número arbitrário de vezes, inclusive zero, logo após pode ocorrer ou então a palavra nula , ou seja, nada. Note que L é um subconjunto próprio da linguagem = f g , a qual inclui as palavras e , que não são palavras da linguagem L.

2.5 Autômato

De…nição 2.10 Um autômato determinístrico …nito ou simplesmente autômato é uma quíntupla

A = (Q; ; ; q0; Qm) (2.15)

em que:

Q é o conjunto de estados q.

é o alfabeto ou conjunto de símbolos .

: Q ! Q é a função de transição de estados. q0 2 Q é o estado inicial.

Qm Q é o conjunto de estados marcados.

De…nição 2.11 Dado um autômato A = (Q; ; ; q0; Qm), a função de transição

: Q ! Q é tal que:

( ; q) = q e ( ; q) = q0, para q; q0 2 Q e 2 (2.16)

Nesse caso, diz-se que q0 é um estado do autômato A se é uma entrada

aceita por A.

Gra…camente, um autômato é representado por um par G = (V; A), denominado grafo orientado, tal que, V é um conjunto de vértices e A é um conjunto de arcos. Os vértices representam os estados e os arcos representam a função de transição. Além disso, os estados marcados são representados por

vértices desenhados com linhas duplas e o estado inicial é identi…cado por uma seta.

Figura 2.5: Representação grá…ca de um autômato.

Considere o autômato representado na Figura 2.5. Nesse caso: = f ; g

Q = f0; 1; 2g

( ; 0) = 2; ( ; 0) = 1; ( ; 1) = 2; ( ; 1) = 0; ( ; 2) = 2; ( ; 2) = 1 q0 = 0

Qm= 2

Conhecidas a função de transição e o estado atual de um autômato, é possível determinar seu estado após processar um dado símbolo. Em se desejando processar uma sequência ou cadeia de símbolos, ou seja, uma palavra, pode- se simplesmente repetir esse procedimento para cada um dos símbolos que a compõem. No entanto, é conveniente estender a de…nição da função de transição para processar palavras.

De…nição 2.12 Dado um autômato A (Q; ; ; q0; Qm), a função de transição

estendida, denotada por , é a função

onde:

( ; q) = q e (s ; q) = ( ; (s; q) ; para q 2 Q e s 2 (2.18) De…nida essa função, pode-se determinar qual será o estado do autômato após processar uma palavra sobre seu alfabeto, a partir de uma dado estado. Dependendo da palavra escolhida, o estado alcançado poderá ou não pertencer ao conjunto de estados marcados.

De…nição 2.13 Dado um autômato A = (Q; ; ; q0; Qm), diz-se que A

reconhece a palavra s 2 se, e somente se, (s; q0) 2 Qm.

O autômato apresentado na Figura 2.5 reconhece todas as palavras sobre o alfabeto = f ; g que terminam com o símbolo .

O conjunto de palavras aceitas, ou reconhecidas, por um autômato A é de…nido da seguinte forma:

De…nição 2.14 Dado um autômato A = (Q; ; ; q0; Qm), a linguagem marcada

(linguagem aceita ou linguagem reconhecida) de A, denotada por Lm(A), é:

Lm(A) = fs : s 2 ^ (s; q0) 2 Qmg (2.19)

Observação 2.2 O autômato da Figura 2.5 reconhece a linguagem f( ) g. Um autômato é um modelo matemático de máquinas, com entradas e saídas discretas, que reconhece um conjunto de palavras sobre um dado alfabeto. Um autômato pode ser visto como uma entidade de controle que lê sequencialmente uma lista de símbolos de um dado alfabeto e aceita uma palavra sempre que a mesma pertencer ao conjunto de palavras reconhecidas. Em um dado instante o modelo se encontra numa determinada con…guração interna denominada de estado do modelo. O estado atual sumariza as informações de estados passados necessários à determinação de futuros estados.

Um autômato pode ser …nito ou in…nito, determinístico ou não determinístico. Um autômato …nito consiste de um conjunto …nito de estados, designados por Q e um conjunto de transições de estado designado por , que ocorrem a partir de símbolos de entrada escolhidos de um alfabeto . O estado inicial do autômato designado por q0, é o estado em que este se encontra antes

de ler o primeiro símbolo. Alguns estados do autômato são designados por estados …nais ou estados marcados Qm. Assim, um autômato ao reconhecer as

palavras, quando processadas, é levado a um estado marcado. Por outro lado, um autômato que possui in…nitos estados é denominado autômato in…nito.

Se para cada símbolo de entrada existe uma transição de saída de cada estado, diz-se que o autômato é determinístico. De outra forma, se existem duas ou mais transições de saída de um estado que podem ocorrer a partir de um mesmo símbolo, então o autômato é não determinístico.

2.6 Gerador

De…nição 2.15 Um gerador é uma quíntupla G = (Q; ; ; q0; Qm), em que Q,

, , q0 e Qm se apresentam como na de…nição 2.11.

A diferença entre autômato e gerador é que a função de transição é total no primeiro, de…nida para todo par ( ; q) 2 Q, enquanto no segundo a função de transição é parcial, de…nida para um subconjunto de eventos para cada estado do gerador.

Em um gerador G = (Q; ; ; q0; Qm), associa-se a cada estado q 2 Q o

conjunto de eventos, de…nidos (q), dado por:

(q) = f : 2 ^ ( ; q)!g (2.20)

em que ( ; q)! signi…ca que é de…nido para o par ( ; q).

A função de transição é de…nida para aquelas palavras que, quando processadas pelo gerador, se mantiverem dentro dos limites de de…nição da

função de transição.

Dessa forma, a função de transição estendida, denotada por , é uma função : Q ! Q, tal que:

( ; q) = q

(s ; q) = ( ; (s; q)) para q 2 Q e s 2 sempre que q0 = (s; q) e ( ; q0) estiverem ambas de…nidas.

Como nos autômatos, a função de transição estendida será denotada simplesmente por . Assim, o conjunto de palavras que o gerador G pode processar, forma a linguagem L (G), tal que,

L (G) = fs : s 2 ^ (s; q0)!g (2.21)

Seguindo o mesmo contexto, pode-se admitir que L (G) é pre…xo-fechada, denotada por

L (G) = L (G), (2.22)

ou seja, cada palavra em L (G) tem seu pre…xo contido em L (G).

O conjunto de estados marcados em um gerador G de…ne a linguagem marcada Lm(G), tal que,

Lm(G) = fs : s 2 ^ (s; q0) 2 Qmg . (2.23)

Portanto, um SED com linguagem gerada L e linguagem marcada Lm pode

ser representado por um gerador G, tal que, L (G) = L e Lm(G) = Lm. Assim,

os geradores conseguem representar ambas as linguagens associadas a um SED, o que não era possível no caso dos autômatos.

Na estrutura de um gerador pode-se ter:

1. G = Ac (G), denominado gerador acessível, em que a componente acessível é a garantia da existência de palavras que o mesmo pode processar a partir do estado inicial, embora nenhuma seja marcada.

2. G = Co (G), denominado gerador coacessível, em que a componente coacessível apresenta apenas os estados em que, a partir deles, é possível atingir um estado marcado.

Dessa forma, um gerador G é dito ajustado ou trim, quando é, ao mesmo tempo, acessível e coacessível.

Figura 2.6: Componente ajustada (trim) de um gerador.

O gerador apresentado na Figura 2.6 é acessível, pois a partir de q0 existe

sempre uma sequência de eventos que pode levar o sistema de q0 para qualquer

estado do mesmo. O gerador não é coacessível, pois a partir do estado q3 não

existe nenhuma sequência de eventos que possa levar o sistema a um estado marcado, no caso q2. A componente ajustada (trim) do gerador, ou seja, acessível

Redes de Petri

Nesse Capítulo são apresentados o histórico, conceitos e de…nições inerentes às RPs, além de suas propriedades comportamentais e estruturais que dão suporte a esse trabalho, segundo (BARROSO, 1996), (MARRANGHELLO, 2005) e (PORTUGAL, 2006).

As RPs foram criadas a partir da tese de doutorado de Carl Adam Petri, intitulada Kommunication mit Automaten (Comunicação com Autômatos), apresentada à Universidade de Bonn em 1962. Desde o princípio, as RPs objetivaram a modelagem de sistemas com componentes concorrentes.

As primeiras aplicações de RPs aconteceram em 1968, no projeto norte- americano Information System Theory, da ADR (Applied Data Research, Inc.). Muito da teoria inicial, da notação e da representação de RPs foi desenvolvido neste projeto e foi publicado em seu relatório …nal. Este trabalho ressaltou como as RPs poderiam ser aplicadas na análise e na modelagem de sistemas com componentes concorrentes.

Em relação às aplicações, as RPs atingiram áreas como a modelagem de componentes de hardware, controle de processos, linguagens de programação, sistemas distribuídos e protocolos de comunicação. Na década de setenta, surgiram RPs capazes de modelar características temporais determinísticas,

quais sejam, as RPs temporizadas de (RAMCHANDANI, 1974) e (SIFAKIS, 1977). As aplicações de RPs aumentaram consideravelmente a partir do …nal da década de setenta, com o surgimento das chamadas RPs de alto nível, como por exemplo, as numéricas (SIMONS, 1978), as predicado/transição (GENRICH e LAUTENBACH, 1978) e as coloridas (JENSEN, 1983). Em meados da década de oitenta surgiram também extensões de RPs estocásticas (MARSAN et al., 1984). Tais inovações acrescentaram uma grande força descritiva ao processo de modelagem, pelo uso de …chas com identidade e, conseqüentemente, do uso de conjuntos de …chas na representação da dinâmica dos sistemas modelados, bem como pela possibilidade de se associar taxas de ocorrência não determinísticas aos eventos dos sistemas modelados. Dessa forma, as RPs atingiram outras áreas, como automação de escritórios, bancos de dados, inteligência arti…cial e sistemas de informação de maneira geral. No …nal da década de oitenta era publicado um artigo pelo Prof. Tadao Murata (MURATA, 1989). Embora este artigo trate primordialmente das RPs lugar-transição, ele é um dos artigos mais referenciados sobre o assunto ainda nos dias de hoje. Na década de noventa as RPs tiveram como seu principal representante a segunda versão das RPs Coloridas desenvolvidas pelo Prof. Kurt Helmer Jensen (JENSEN, 1992), da Universidade de Aarhus, na Dinamarca. Além de trabalharem com …chas diferenciáveis, tais redes apresentam tratamento de aspectos temporais e permitem a representação de tipos de dados abstratos, um diferencial que as outras extensões existentes no …nal da década de oitenta e início da de noventa não apresentavam. Foi nesta década também que surgiram alguns livros sobre RPs, em português, entre outros (CARDOSO e VALETI, 1997) e (MACIEL, 1996).