SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
´                        ¸˜
   V Simposio Brasileiro de Automacao Inteligente




Teoria de Controle Supervis´rio
                           o
de Sistemas a Eventos Discretos




             Prof. Jos´ Eduardo Ribeiro Cury
                      e
          Universidade Federal de Santa Catarina
          Departamento de Automa¸˜o e Sistemas
                                ca
                     cury@das.ufsc.br




              Canela-RS, Novembro de 2001
Agradecimentos

    Esta apostila foi elaborada a partir da minha experiˆncia como professor,
                                                        e
orientador e pesquisador na ´rea de Sistemas a Eventos Discretos e Sistemas
                            a
H´
 ıbridos, nos ultimos dez anos, inicialmente no Departamento de Engenha-
              ´
ria El´trica e mais recentemente no Departamento de Automa¸˜o e Sistemas
      e                                                   ca
da Universidade Federal de Santa Catarina. Ela n˜o poderia ter sido reali-
                                                a
zada sem o apoio direto ou indireto de todos os meus alunos de Gradua¸˜o e
                                                                     ca
P´s Gradua¸˜o e orientados de Mestrado e Doutorado. Partes do documento
 o        ca
devem inclusive ser creditadas a documentos que foram elaborados por estes.
Neste sentido, agrade¸o a todos estes alunos, alguns hoje colegas de profiss˜o,
                     c                                                     a
em particular ao Antonio, C´sar, Jos´ Miguel, Max, Tati e Ziller, de quem
                           e        e
“roubei”id´ias, par´grafos e/ou figuras.
          e        a
Sum´rio
   a

1 Introdu¸˜o
         ca                                                                                 7

2 Sistemas a Eventos Discretos                                                              9
  2.1   Defini¸ao e Caracter´
             c˜            ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  2.2   Exemplos de Sistemas a Eventos Discretos . . . . . . . . . . . . . . . . . . 12

3 Um Problema Motivador                                                                    20
  3.1   Linha de Produ¸ao de Cervejas . . . . . . . . . . . . . . . . . . . . . . . . 20
                      c˜
  3.2   Considera¸oes acerca da Resolu¸ao do Problema . . . . . . . . . . . . . . . 23
                 c˜                   c˜
  3.3   Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
               a

4 Linguagens como modelos para SEDs                                                        25
  4.1   Nota¸ao e defini¸oes b´sicas . . . . . . . . . . . . . . . . . . . . . . . . . . 25
            c˜         c˜    a
  4.2   Opera¸oes sobre linguagens
             c˜                        . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  4.3   Representa¸˜o de SEDs por linguagens . . . . . . . . . . . . . . . . . . . . 27
                  ca
  4.4   Express˜es Regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
               o
  4.5   Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
               a

5 Autˆmatos como modelos para SEDs
     o                                                                                     32
  5.1   Autˆmatos Determin´
           o              ısticos de Estados Finitos . . . . . . . . . . . . . . . . 32
  5.2   Linguagens representadas por autˆmatos . . . . . . . . . . . . . . . . . . . 34
                                        o
  5.3   Linguagens Regulares e Autˆmatos de Estados Finitos . . . . . . . . . . . 35
                                  o
  5.4   Acessibilidade e co-acessibilidade de um ADEF . . . . . . . . . . . . . . . 36
  5.5   Bloqueio num SED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
  5.6   Autˆmatos n˜o determin´
           o       a          ısticos . . . . . . . . . . . . . . . . . . . . . . . . 40
  5.7   Determiniza¸ao de um ANDEF . . . . . . . . . . . . . . . . . . . . . . . . 41
                   c˜
  5.8   Minimiza¸ao de autˆmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
                c˜        o
  5.9   Composi¸ao de Autˆmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
               c˜        o
  5.10 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
              a
Sum´rio
   a                                                                                         4


6 Controle Supervis´rio de SEDs
                   o                                                                        48
   6.1    Introdu¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
                 c˜
   6.2    O problema de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
   6.3    Controlabilidade e Solu¸˜o do PCS . . . . . . . . . . . . . . . . . . . . . . 51
                                 ca
   6.4    Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
                 a

7 Metodologia para a s´
                      ıntese de supervisores ´timos
                                             o                                              53
   7.1    Obten¸ao de um modelo para a planta . . . . . . . . . . . . . . . . . . . . 53
               c˜
   7.2    Obten¸ao de um modelo para a especifica¸ao . . . . . . . . . . . . . . . . . 55
               c˜                               c˜
   7.3    S´
           ıntese do supervisor n˜o bloqueante ´timo . . . . . . . . . . . . . . . . . . 58
                                 a             o
          7.3.1   Defini¸ao de maus estados . . . . . . . . . . . . . . . . . . . . . . . 58
                       c˜
   7.4    Implementa¸˜o / Realiza¸˜o do supervisor . . . . . . . . . . . . . . . . . . 59
                    ca           ca
   7.5    Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
   7.6    Considera¸oes sobre a resolu¸ao do PCS . . . . . . . . . . . . . . . . . . . 66
                   c˜                 c˜
          7.6.1   Complexidade Computacional . . . . . . . . . . . . . . . . . . . . . 67
          7.6.2   Legibilidade/estrutura¸ao . . . . . . . . . . . . . . . . . . . . . . . 67
                                        c˜
          7.6.3   Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
   7.7    Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
                 a

8 Conclus˜o
         a                                                                                  69
   8.1    Referˆncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
               e

A Resumo Ferramenta Grail                                                                   71
   A.1 Introdu¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
              ca
   A.2 FM — M´quinas de estado finitas . . . . . . . . . . . . . . . . . . . . . . . 71
             a
   A.3 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
   A.4 Utiliza¸˜o do Grail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
              ca

9 Referˆncias Bibliogr´ficas
       e              a                                                                     71
Lista de Figuras

 2.1   Trajet´ria t´
             o     ıpica de um sistema a eventos discretos . . . . . . . . . . . . . 10
 2.2   Trajet´ria t´
             o     ıpica de um sistema dinˆmico com vari´veis cont´
                                          a             a         ınuas . . . . . 11
 2.3   Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
 2.4   Redes de Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
 2.5   Sistema de Computa¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
                         ca
 2.6   Linha de Transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
                        e
 2.7   Sistema de Tr´fego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
                    a

 3.1   Esta¸ao de envasilhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
           c˜

 4.1   Sistema robˆ-esteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
                  o

 5.1   Autˆmato determin´
          o             ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
 5.2   Exemplo de autˆmato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
                     o
 5.3   Problema fila infinita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
 5.4   Autˆmato fila infinita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
          o
 5.5   SED n˜o bloqueante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
            a
 5.6   SED com bloqueio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
 5.7   Sistema usu´rio-recurso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
                  a
 5.8   Autˆmato para Lm (G) = (a + b)∗ ab . . . . . . . . . . . . . . . . . . . . . . 40
          o
 5.9   Autˆmato determin´
          o             ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
 5.10 Autˆmato que detecta seq¨ˆncia 123 . . . . . . . . . . . . . . . . . . . . . 43
         o                    ue
 5.11 Autˆmato m´
         o      ınimo que detecta seq¨ˆncia 123 . . . . . . . . . . . . . . . . . 44
                                     ue
 5.12 Autˆmato sistema usu´rio-recurso . . . . . . . . . . . . . . . . . . . . . . . 44
         o                a
 5.13 Modelo usu´rio US1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
                a
 5.14 Modelo usu´rio US2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
                a
 5.15 Restri¸ao recurso R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
            c˜
 5.16 Restri¸ao recurso R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
            c˜
 5.17 Restri¸ao recurso R1 modificada . . . . . . . . . . . . . . . . . . . . . . . . 46
            c˜
Lista de Figuras                                                                               6


   6.1   SED em malha fechada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

   7.1   Autˆmatos para Gi , i = 0, . . . , 4. . . . . . . . . . . . . . . . . . . . . . . . . 54
            o
   7.2   Linha de transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
                          e
   7.3   Modelo das m´quinas M1 e M2 . . . . . . . . . . . . . . . . . . . . . . . . 55
                     a
   7.4   Modelo da planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
   7.5   Especifica¸ao de n˜o overflow e n˜o underflow do buffer. . . . . . . . . . . 57
                  c˜      a             a
   7.6   Autˆmato para E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
            o
   7.7   Autˆmatos G e C = Ei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
            o
   7.8   Autˆmato R = G C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
            o
   7.9   Autˆmato G (exerc´ 7.1) . . . . . . . . . . . . . . . . . . . . . . . . . . 60
            o             ıcio
   7.10 M´xima linguagem control´vel. . . . . . . . . . . . . . . . . . . . . . . . . 60
         a                      a
   7.11 Modelo das m´quinas com quebra M1 e M2
                    a                                      . . . . . . . . . . . . . . . . . 61
   7.12 N˜o overflow e underflow do armaz´m, e prioridade de reparo de M2 . . . . 62
         a                             e
   7.13 M´xima linguagem control´vel. . . . . . . . . . . . . . . . . . . . . . . . . 62
         a                      a
   7.14 Linha de transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
                         e
   7.15 Modelo dos componentes do sistema. . . . . . . . . . . . . . . . . . . . . . 63
   7.16 Especifica¸˜o de n˜o overflow e n˜o underflow dos armaz´ns: (a) B1 e (b)
                 ca      a             a                    e
         B2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
   7.17 Lei de controle ´tima para a linha com retrabalho. . . . . . . . . . . . . . . 63
                        o
   7.18 Sistema AGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
   7.19 Modelo das m´quinas M1 e M2 . . . . . . . . . . . . . . . . . . . . . . . . 64
                    a
   7.20 Modelo do AGV        . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
   7.21 Modelo de M1 ||M2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
   7.22 Modelo de M1 ||M2 ||AGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
   7.23 Restri¸ao E1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
              c˜
   7.24 Autˆmato para E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
           o
   7.25 Autˆmato para sup C(E). . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
           o

   A.1 M´quina de estados finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
        a
   A.2 Pequena f´brica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
                a
   A.3 Modelo m´quina 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
               a
   A.4 Modelo m´quina 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
               a
   A.5 Modelo restri¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
                    c˜
Cap´
   ıtulo 1

Introdu¸˜o
       ca

   A tecnologia moderna tem produzido, em escala crescente, sistemas com a finalidade
de executar tarefas que, seja pela importˆncia que adquirem em seu contexto, seja por
                                         a
sua complexidade e seu custo, justificam o esfor¸o despendido na sua otimiza¸˜o e auto-
                                               c                           ca
ma¸˜o. Tais sistemas est˜o presentes em uma s´rie de aplica¸oes, incluindo por exemplo a
  ca                    a                    e             c˜
automa¸˜o da manufatura, a rob´tica, a supervis˜o de tr´fego, a log´
      ca                      o                a       a           ıstica (canaliza¸ao e
                                                                                   c˜
armazenamento de produtos, organiza¸ao e presta¸ao de servi¸os), sistemas operacionais,
                                   c˜          c˜          c
redes de comunica¸˜o de computadores, concep¸ao de software, gerenciamento de bases
                 ca                         c˜
de dados e otimiza¸ao de processos distribu´
                  c˜                       ıdos. Tais sistemas tˆm em comum a maneira
                                                                e
pela qual percebem as ocorrˆncias no ambiente ` sua volta, o que se d´ pela recep¸˜o de
                           e                  a                      a           ca
est´
   ımulos, denominados eventos. S˜o exemplos de eventos o in´ e o t´rmino de uma
                                 a                          ıcio   e
tarefa e a percep¸˜o de uma mudan¸a de estado em um sensor. Estes eventos s˜o, por sua
                 ca              c                                         a
natureza, instantˆneos, o que lhes confere um car´ter discreto no tempo. Sistemas com
                 a                               a
estas caracter´
              ısticas s˜o denominados sistemas a eventos discretos (SED), em oposi¸˜o aos
                       a                                                          ca
sistema de vari´veis cont´
               a         ınuas, tratados pela Teoria de Controle cl´ssica. A natureza dis-
                                                                   a
creta dos SEDs faz com que os modelos matem´ticos convencionais, baseados em equa¸˜es
                                           a                                     co
diferenciais, n˜o sejam adequados para trat´-los. Por outro lado, a sua importˆncia faz
               a                           a                                  a
com que seja altamente desej´vel encontrar solu¸˜es para problemas relacionados ao seu
                            a                  co
controle. Em raz˜o disso, existe uma intensa atividade de pesquisa voltada ` busca de
                a                                                          a
modelos matem´ticos adequados ` sua representa¸˜o, sem que se tenha conseguido at´
             a                a               ca                                 e
agora encontrar um modelo que seja matematicamente t˜o conciso e computacionalmente
                                                    a
t˜o adequado como o s˜o as equa¸oes diferenciais para os sistemas dinˆmicos de vari´veis
 a                   a         c˜                                    a             a
cont´
    ınuas. N˜o existe, por isso, consenso sobre qual seja o melhor modelo. Dentre os
            a
modelos existentes, destaca-se o proposto por Ramadge e Wonham, baseado em Teoria de
Introdu¸˜o
        ca                                                                               8


Linguagens e de Autˆmatos e denominado “modelo RW”. Este faz uma distin¸ao clara
                   o                                                   c˜
entre o sistema a ser controlado, denominado planta, e a entidade que o controla, que rece-
be o nome de supervisor. A planta ´ um modelo que reflete o comportamento fisicamente
                                  e
poss´ do sistema, isto ´, todas as a¸oes que este ´ capaz de executar na ausˆncia de
    ıvel               e            c˜            e                         e
qualquer a¸ao de controle. Em geral, este comportamento inclui a capacidade de realizar
          c˜
determinadas atividades que produzam um resultado util, sem contudo se limitar a esse
                                                  ´
comportamento desejado. Por exemplo, dois robˆs trabalhando em uma c´lula de manu-
                                             o                      e
fatura podem ter acesso a um dep´sito de uso comum, o que pode ser util para passar
                                o                                  ´
pe¸as de um ao outro. No entanto, cria-se com isso a possibilidade f´
  c                                                                 ısica de ocorrer um
choque entre ambos, o que ´, em geral, indesej´vel. O papel do supervisor no modelo RW
                          e                   a
´, ent˜o, o de exercer uma a¸˜o de controle restritiva sobre a planta, de modo a confinar
e     a                     ca
seu comportamento `quele que corresponde a uma dada especifica¸ao. Uma vantagem
                  a                                          c˜
desse modelo ´ a de permitir a s´
             e                  ıntese de supervisores, sendo estes obtidos de forma a res-
tringir o comportamento da planta apenas o necess´rio para evitar que esta realize a¸oes
                                                 a                                  c˜
proibidas. Desta forma, pode-se verificar se uma dada especifica¸˜o de comportamento
                                                              ca
pode ou n˜o ser cumprida e, caso n˜o possa, identificar a parte dessa especifica¸ao que
         a                        a                                           c˜
pode ser implementada de forma minimamente restritiva. Um crit´rio de aceita¸ao pode
                                                              e             c˜
ent˜o ser utilizado para determinar se, com a parte implement´vel da especifica¸ao, o sis-
   a                                                         a                c˜
tema trabalha de maneira satisfat´ria. Neste documento ser˜o apresentados os principais
                                 o                        a
conceitos b´sicos da Teoria de Controle Supervis´rio, como introduzida por Ramadge e
           a                                    o
Wonham. Os conceitos de base da teoria de Linguagens e Autˆmatos ser˜o apresentados,
                                                          o         a
bem como os principais resultados b´sicos de s´
                                   a          ıntese de supervisores para SEDs. A forma
de apresenta¸ao procurar´ se adaptar a um curso que possa ser facilmente assimilado por
            c˜          a
alunos em n´ de Gradua¸˜o em cursos de Engenharia ou Ciˆncias de Computa¸ao.
           ıvel       ca                               e                c˜
Cap´
   ıtulo 2

Sistemas a Eventos Discretos


2.1     Defini¸˜o e Caracter´
             ca            ısticas

   De um modo geral, um sistema ´ uma parte limitada do Universo que interage com o
                                e
mundo externo atrav´s das fronteiras que o delimitam. Este conceito se aplica tamb´m
                   e                                                              e
aos sistemas tratados no presente documento, que apresentam ainda as caracter´
                                                                             ısticas
descritas a seguir. Os sistemas de interesse percebem as ocorrˆncias no mundo externo
                                                              e
atrav´s da recep¸ao de est´
     e          c˜        ımulos, denominados eventos. S˜o exemplos de eventos o in´
                                                        a                          ıcio
e o t´rmino de uma tarefa (mas n˜o sua execu¸ao), a chegada de um cliente a uma fila ou
     e                          a           c˜
a recep¸ao de uma mensagem em um sistema de comunica¸ao. A ocorrˆncia de um evento
       c˜                                           c˜          e
causa, em geral, uma mudan¸a interna no sistema, a qual pode ou n˜o se manifestar a um
                          c                                      a
observador externo. Al´m disso, uma mudan¸a pode ser causada pela ocorrˆncia de um
                      e                  c                             e
evento interno ao pr´prio sistema, tal como o t´rmino de uma atividade ou o fim de uma
                    o                          e
temporiza¸ao. Em qualquer caso, essas mudan¸as se caracterizam por serem abruptas e
         c˜                                c
instantˆneas: ao perceber um evento, o sistema reage imediatamente, acomodando-se em
       a
tempo nulo numa nova situa¸˜o, onde permanece at´ que ocorra um novo evento. Desta
                          ca                    e
forma, a simples passagem do tempo n˜o ´ suficiente para garantir que o sistema evolua;
                                    a e
para tanto, ´ necess´rio que ocorram eventos, sejam estes internos ou externos. Note ainda
            e       a
que a ocorrˆncia desses eventos pode depender de fatores alheios ao sistema, de modo que
           e
este n˜o tem, em geral, como prevˆ-los. O que se disse acima permite apresentar agora a
      a                          e
seguinte defini¸ao:
              c˜

Defini¸˜o 2.1 Sistema a eventos discretos (SED) ´ um sistema dinˆmico que evolui de
     ca                                        e               a
acordo com a ocorrˆncia abrupta de eventos f´sicos, em intervalos de tempo em geral
                  e                         ı
Sistemas a Eventos Discretos                                                             10


irregulares e desconhecidos.


   Diz-se ainda que, entre a ocorrˆncia de dois eventos consecutivos, o sistema permanece
                                  e
num determinado estado. A ocorrˆncia de um evento causa ent˜o uma transi¸ao ou
                               e                           a            c˜
mudan¸a de estado no sistema, de forma que sua evolu¸ao no tempo pode ser representada
     c                                              c˜
pela trajet´ria percorrida no seu espa¸o de estados, conforme ilustrado na figura 2.1.
           o                          c

                         x(t)
                   x4
                   x3
                                α    β            λ        α
                   x2
                   x1

                                t1   t2          t3       t4        t

             Figura 2.1: Trajet´ria t´
                               o     ıpica de um sistema a eventos discretos

   Nesta trajet´ria ocorrem eventos representados pelas letras α, β e λ. Vˆ-se que um
               o                                                          e
mesmo evento pode ter efeitos diferentes, dependendo do estado em que ocorre. Por
exemplo, se o sistema est´ no estado x1 e ocorre o evento α, o pr´ximo estado ser´
                         a                                       o               a
x4 ; se α ocorre em x3 , volta-se para x1 . A trajet´ria pode continuar indefinidamente,
                                                    o
inclusive com a ocorrˆncia de outros eventos, n˜o representados na figura. Para todos
                     e                         a
os sistemas tratados, por´m, assume-se que o n´mero total de eventos diferentes que
                         e                    u
podem ocorrer ´ finito. O n´mero de estados pode ser ilimitado no caso geral, embora a
              e           u
classe de sistemas com um n´mero finito de estados seja um caso particular importante.
                           u
Costuma-se distinguir um dos estados do sistema dos demais, o qual recebe o nome de
estado inicial. Este ´ o estado em que o sistema se encontra antes de ocorrer o primeiro
                     e
evento. Na pr´tica, em geral ´ poss´ for¸ar um sistema a voltar a esse estado, antes de
             a               e     ıvel c
iniciar sua utiliza¸˜o para um determinado fim, processo denominado de reinicializa¸ao.
                   ca                                                             c˜

    Os sistemas a eventos discretos, entendidos segundo a defini¸ao 2.1, contrastam com os
                                                                c˜
sistemas dinˆmicos a vari´veis cont´
             a           a                                                       ´
                                    ınuas, descritos por equa¸oes diferenciais . E instrutivo
                                                             c˜
comparar a trajet´ria t´
                 o     ıpica de um SED, apresentada na figura 2.1, com a de um sistema
dinˆmico de vari´veis cont´
   a            a         ınuas, apresentada na figura 2.2.

   O espa¸o de estados de um SED ´ limitado a um conjunto enumer´vel, ao passo que
         c                       e                              a
´ cont´
e     ınuo e portanto infinito nos sistemas cont´
                                               ınuos. Estes, em geral, mudam de estado
a cada instante, tendo o seu comportamento descrito por uma fun¸ao que relaciona o
                                                               c˜
Sistemas a Eventos Discretos                                                              11


                         x(t)




                                        dx
                                        dt
                                             = f (x, t)

                                                                t

     Figura 2.2: Trajet´ria t´
                       o     ıpica de um sistema dinˆmico com vari´veis cont´
                                                    a             a         ınuas

estado (vari´vel dependente) ao tempo (vari´vel independente). J´ os sistemas a eventos
            a                              a                    a
discretos podem permanecer um tempo arbitrariamente longo em um mesmo estado,
sendo que sua trajet´ria pode ser dada por uma lista de eventos na forma {σ1 , σ2 , ...},
                    o
incluindo-se eventualmente os instantes de tempo em que tais eventos ocorrem, na forma
{(σ1 , t1 ), (σ2 , t2 ), ...} . A quantidade de informa¸ao necess´ria depende dos objetivos da
                                                       c˜        a
aplica¸˜o.
      ca

   O acima exposto permite ver a tarefa de especificar o comportamento de um sistema
a eventos discretos como sendo a de estabelecer seq¨ˆncias ordenadas de eventos que
                                                   ue
levem ` realiza¸ao de determinados objetivos. Com uma formula¸ao t˜o abrangente, n˜o
      a        c˜                                            c˜ a                 a
´ surpreendente que tenha havido esfor¸os em mais de uma ´rea para abordar o problema.
e                                     c                  a
De fato a Teoria de Sistemas a Eventos Discretos ´ apresentada como pertencendo ` ´rea
                                                 e                              aa
da Pesquisa Operacional, valendo-se ainda de resultados da Ciˆncia da Computa¸˜o (em
                                                             e               ca
particular da Inteligˆncia Artificial e do Processamento de Linguagens), bem como da
                     e
Teoria de Controle.

   Foram desenvolvidos at´ o momento v´rios modelos para SEDs, sem que nenhum
                         e            a
tivesse se afirmado como universal. Esses modelos refletem diferentes tipos de SEDs bem
como diferentes objetivos na an´lise dos sistemas em estudo.
                               a

   Os principais modelos utilizados para sistemas a eventos discretos s˜o os seguintes:
                                                                       a

   • Redes de Petri com e sem temporiza¸˜o;
                                       ca

   • Redes de Petri Controladas com e sem temporiza¸ao;
                                                   c˜

   • Cadeias de Markov;

   • Teoria das Filas;
Sistemas a Eventos Discretos                                                       12


   • Processos Semi-Markovianos Generalizados (GSMP) e Simula¸ao;
                                                             c˜

     ´
   • Algebra de Processos;

     ´
   • Algebra Max-Plus;

   • L´gica Temporal e L´gica Temporal de Tempo Real;
      o                 o

   • Teoria de Linguagens e Autˆmatos (Ramadge-Wonham)
                               o


   Dentre os modelos citados acima, dois apresentam uma caracter´
                                                                ıstica particular: s˜o
                                                                                    a
dotados de procedimentos de s´
                             ıntese de controladores; s˜o eles os modelos de Ramadge-
                                                       a
Wonham (temporizados ou n˜o), baseado na Teoria de Autˆmatos e/ou Linguagens, e o
                         a                            o
de Redes de Petri Controladas (temporizadas ou n˜o). Pela caracter´
                                                a                 ısticas citada, estes
modelos tˆm dado forte contribui¸ao ao desenvolvimento da teoria de Controle de SEDs.
         e                      c˜

   Os demais modelos citados servem sobretudo ` an´lise de SEDs.
                                              a a

   De todo modo, nenhum dos modelos serve atualmente como paradigma. Os SEDs
formam uma ´rea de pesquisa de intensa atividade e desafios.
           a



2.2      Exemplos de Sistemas a Eventos Discretos

   Nesta se¸ao descreveremos alguns exemplos de SEDs. Iniciaremos por um sistema
           c˜
simples que serve como “m´dulo base”na representa¸ao de muitos SEDs de interesse.
                         o                       c˜

I. Sistemas de Filas: Os Sistemas de Filas tem origem no seguinte fato comum intr´
                                                                                 ınseco
` maioria dos sistemas que projetamos e desenvolvemos: o uso de certos recursos exige
a
espera. Os trˆs elementos b´sicos de um sistema de filas s˜o:
             e             a                             a


  1. As entidades que devem esperar pelo uso de recursos. Costuma-se denominar estas
      entidades de clientes.

  2. Os recursos pelos quais se espera. Como em geral estes recursos fornecem alguma
      forma de servi¸o aos clientes, s˜o denominados servidores.
                    c                 a

  3. O espa¸o onde a espera se faz, denominado fila, ou em alguns casos, “buffers”.
           c


S˜o exemplos de clientes:
 a
Sistemas a Eventos Discretos                                                          13

                                               ˆ
   • pessoas (esperando num Banco ou Parada de Onibus);

   • mensagens transmitidas atrav´s de um canal de comunica¸ao;
                                 e                         c˜

   • tarefas ou processos executados num sistema de computa¸ao;
                                                           c˜

   • pe¸as produzidas num sistema de manufatura;
       c

   • ve´
       ıculos numa rede rodovi´ria.
                              a


Do mesmo modo, s˜o exemplos de servidores:
                a


   • pessoas (caixas de Banco ou Supermercado);

   • canais de comunica¸ao respons´veis pela transmiss˜o de mensagens;
                       c˜         a                   a

   • processadores ou dispositivos perif´ricos em sistemas de computa¸ao;
                                        e                            c˜

   • m´quinas usadas na manufatura;
      a

   • vias em um sistema de tr´fico.
                             a


Finalmente, s˜o exemplos de filas:
             a


   • filas de bancos, supermercados, paradas de ˆnibus, etc.;
                                               o

   • buffers de chamadas telefˆnicas ativas, ou processos execut´veis.
                             o                                 a


   A motiva¸˜o para o estudo de sistemas de filas est´ no fato de que em geral os re-
           ca                                       a
cursos n˜o s˜o ilimitados. Isto gera problemas na aloca¸˜o dos recursos e seus crit´rios
        a a                                            ca                          e
conflitantes associados como: satisfa¸ao das necessidades dos clientes; utiliza¸˜o eficiente
                                    c˜                                        ca
dos recursos, redu¸˜o de custos. A figura 2.3 mostra um diagrama representativo de uma
                  ca
fila.

                                    Fila       Servidor
                                                           partidas
                        chegadas
                                                              de
                           de                              clientes
                        clientes

                                    Figura 2.3: Filas

   De modo a se especificar completamente as caracter´
                                                    ısticas de um sistema de filas
deve-se ainda definir:
Sistemas a Eventos Discretos                                                             14


  1. processo de servi¸o;
                      c

  2. capacidade da fila;

  3. disciplina de atendimento.


   Visto como um SED, um sistema de filas tem Σ = {c, p} onde c ´ o evento chegada
                                                               e
de cliente e p o evento partida de cliente. Al´m disso, uma vari´vel de estado natural ´
                                              e                 a                      e
o n´mero de clientes na fila, ou, comprimento da fila (por conven¸ao, inclui o cliente em
   u                                                           c˜
servi¸o). Portanto
     c
                                  X = {0, 1, 2, ..., C + 1}

onde C ´ a capacidade da fila.
       e

   Finalmente, os componentes de um sistema de filas como o descrito podem se conectar
de diferentes formas, de modo a formar sistemas de redes de filas, onde os clientes fluem
pelas filas e servidores da rede, de acordo com regras espec´
                                                           ıficas, como pode ser visto na
figura 2.4.

                                                                  2

                                     1


                                                                  3




                                     4




                                     5




                                Figura 2.4: Redes de Filas

   No exemplo, clientes deixando o servidor 1 devem seguir regras na escolha de uma das
duas filas conectadas aos servidores 2 e 3; o servidor 1 deve adotar regras na sele¸ao de
                                                                                  c˜
uma das duas filas de entrada para receber o pr´ximo cliente.
                                              o

II. Sistemas de Computa¸˜o: Num Sistema de Computa¸˜o t´
                       ca                         ca ıpico, tarefas ou pro-
cessos s˜o clientes competindo pela aten¸ao de servidores como os v´rios processadores
        a                                   c˜                           a
                                   ´
(CP U , impressoras, discos, ...). E muitas vezes conveniente representar tal sistema atrav´s
                                                                                           e
de um modelo de rede de fila como o da figura 2.5.
Sistemas a Eventos Discretos                                                           15



                                                        r1                         d1
                                                                              D1
              a
                                             CP U
                  chegada
                                                           r2                      d2
                     de                                                       D2
                   tarefas
                                                       d           partida
                                                                     de
                                                                   tarefas

                              Figura 2.5: Sistema de Computa¸˜o
                                                            ca

   No exemplo, tarefas chegam numa fila da CP U ; uma vez servidas, estas partem ou
requerem acesso a um de dois discos, para ap´s retornar para mais um processamento
                                            o
pela CP U .

   Tem-se:
                                      Σ = {a, d, r1 , r2 , d1 , d2 }

onde

   a corresponde ` chegada de uma tarefa ao sistema;
                 a

   d corresponde ` partida de uma tarefa do sistema;
                 a

   r1 , r2 correspondem ` partida de tarefas da CP U , roteadas aos discos D1 e D2 respec-
                        a
tivamente;

   d1 , d2 correspondem ` partida de tarefas dos discos D1 e D2 , respectivamente, retor-
                        a
nando ` fila da CP U .
      a

   Uma poss´ representa¸ao para o estado deste sistema ´
           ıvel        c˜                              e

                                         x = (xCP U , x1 , x2 )

correspondendo ao comprimento das trˆs filas na CP U , disco 1 e disco 2.
                                    e

   O espa¸o de estados do sistema ´
         c                        e

                             X = {(xCP U , x1 , x2 ) : xCP U , x1 , x2 ≥ 0}


III. Sistemas de Comunica¸˜o: S˜o sistemas muitas vezes descritos por modelos de
                         ca    a
filas com
Sistemas a Eventos Discretos                                                       16


   • clientes: mensagens, chamadas;

   • servidores: meios (canais) de comunica¸˜o, equipamentos de chaveamento (redes
                                           ca
       telefˆnicas);
            o

   Caracter´
           ıstica importante desses sistemas ´ a necessidade de mecanismos de controle
                                             e
que garantam o acesso aos servidores de modo eficiente e coerente. Esses mecanismos s˜o
                                                                                    a
muitas vezes chamados de protocolos, e podem ser bastante complexos. A valida¸ao e/ou
                                                                             c˜
projeto de protocolos s˜o problemas interessantes de an´lise e s´
                       a                               a        ıntese de controladores
para SEDs.

Por exemplo, considere o caso de dois usu´rios A e B e um canal comum M , de capacidade
                                         a
1 mensagem. O envio de duas mensagens (por A e B, p.e.) implica em sinal inintelig´
                                                                                  ıvel
(colis˜o).
      a

Os estados poss´
               ıveis do sistema s˜o:
                                 a

Para o canal M : I - vazio; T - transmitindo 1 mensagem; C - colis˜o;
                                                                  a

Para cada usu´rio A ou B: I - repouso; T - transmitindo; W - aguardando com mensagem.
             a

   O espa¸o de estados pode ent˜o ser definido por
         c                     a

                 X = {(xM , xA , xB ) : xM ∈ {I, T, C} e xA , xB ∈ {I, T, W }}

e o conjunto de eventos que afetam o sistema ´
                                             e

                                  Σ = {αA , αB , τA , τB , τM }

onde

   αA , αB correspondem ` chegada de mensagem a ser transmitida por A e B, respecti-
                        a
vamente;

   τA , τB correspondem ao envio de mensagem ao canal M por A e B, respectivamente;

   τM corresponde ao t´rmino de uma transmiss˜o pelo canal (com 1 ou mais mensagens
                      e                      a
presentes).

   Dois problemas podem se configurar neste exemplo:

   1. possibilidade de colis˜o;
                            a
Sistemas a Eventos Discretos                                                              17


  2. desconhecimento por cada usu´rio, do estado do outro usu´rio e/ou do estado do
                                 a                           a
       meio.


   Esses problemas podem ser modelados como um problema de Controle Descentraliza-
do, ou controle com restri¸ao na estrutura de informa¸˜o.
                          c˜                         ca

IV. Sistemas de Manufatura: S˜o tamb´m sistemas muitas vezes convenientemente
                             a      e
descritos por modelos de filas. Em geral, tem-se:


   • clientes: pe¸as ou ´
                 c      ıtens; “pallets”;

   • servidores: m´quinas; dispositivos de manuseio e transporte (robˆs, esteiras, ...);
                  a                                                  o

   • filas: armaz´ns; “buffers”.
                e


Considere por exemplo uma Linha de Transferˆncia com duas M´quinas e um Armaz´m
                                           e               a                 e
Intermedi´rio de capacidade 2, conforme ilustrado na figura 2.6.
         a

                                                                           partida
               chegada
                                            1                  2             de
                 de                                                        pe¸as
                                                                             c
               pe¸as
                 c

                             Figura 2.6: Linha de Transferˆncia
                                                          e

   Neste caso o conjunto de eventos que afetam o sistema pode ser descrito por

                                         Σ = {a, b, d2 }

onde

   a corresponde ` chegada da pe¸a;
                 a              c

   b corresponde ao t´rmino de servi¸o pela m´quina 1 ;
                     e              c        a

   d2 corresponde ` partida de pe¸a da m´quina 2.
                  a              c      a

   Considera-se que se a m´quina termina um servi¸o e o armaz´m intermedi´rio est´
                          a                      c           e           a       a
cheio, esta entra em estado de bloqueio.

   O espa¸o de estados do sistema pode ser representado por
         c

                         X = {(x1 , x2 ) : x1 ≥ 0, x2 ∈ {0, 1, 2, 3, B}}
Sistemas a Eventos Discretos                                                            18


onde x1 indica o estado do armaz´m de entrada da linha, e x2 o estado do armaz´m inter-
                                e                                             e
medi´rio; o estado onde x2 = B indica a situa¸ao de bloqueio, ou seja aquele estado onde
    a                                        c˜
o armaz´m intermedi´rio est´ cheio e a m´quina 1 tem uma pe¸a terminada esperando
       e           a       a            a                  c
para ser descarregada.

   O espa¸o de estados X pode ainda ser representado por
         c

                        X = {(x1 , x2 ) : x1 ∈ {I, W, B}, x2 ∈ {I, W }}

onde xi representa o estado da m´quina i, com x1 = B indicando a situa¸ao de bloqueio
                                a                                     c˜
do sistema.

V. Sistemas de Tr´fego: Considere o exemplo da figura 2.7 que representa uma inter-
                 a
se¸˜o semaf´rica. Tem-se 4 tipos de ve´
  ca       o                          ıculos segundo a dire¸ao que os mesmos podem
                                                           c˜
tomar. Assim,


   • (1, 2) : ve´
                ıculos de 1 para 2;

   • (1, 3) : ve´
                ıculos de 1 para 3;

   • (2, 3) : ve´
                ıculos de 2 para 3;

   • (3, 2) : ve´
                ıculos de 3 para 2.


                                                       3




                              1




                                                        2

                                  Figura 2.7: Sistema de Tr´fego
                                                           a

   Considera-se que o sinal verde libera os ve´
                                              ıculos (2, 3) e (3, 2); e que o sinal vermelho
libera os ve´
            ıculos (1, 2) e (1, 3).
Sistemas a Eventos Discretos                                                        19


   O conjunto de eventos que afetam o sistema ´
                                              e

                        Σ = {a12 , a13 , a23 , a32 , d12 , d13 , d23 , d32 , g, r}

onde

aij corresponde ` chegada de ve´
                a              ıculo tipo (i, j);

dij corresponde ` partida de ve´
                a              ıculo tipo (i, j);

g indica que o sinal torna-se verde;

r indica que o sinal torna-se vermelho.

   O espa¸o de estados ´
         c             e

                     X = {(x12 , x13 , x23 , x32 , y) : xij ≥ 0, y ∈ {G, R}}

onde

   xij indica o n´mero de ve´
                 u          ıculos do tipo (i, j) em fila;

   y indica o estado do sinal, verde (G) ou vermelho (R).
Cap´
   ıtulo 3

Um Problema Motivador

   Neste cap´
            ıtulo ser´ apresentado informalmente o problema de s´
                     a                                          ıntese de controladores
para um SED, atrav´s de um exemplo de um sistema de manufatura. Pretende-se que este
                  e
problema seja um agente motivador para os conceitos e metodologias relativos ` Teoria
                                                                             a
de Controle Supervis´rio que ser˜o abordados nos cap´
                    o           a                   ıtulos subseq¨entes.
                                                                 u



3.1     Linha de Produ¸˜o de Cervejas
                      ca

   Na linha de produ¸ao de uma f´brica de cervejas, existe uma esta¸˜o de envasilhamento
                    c˜          a                                  ca
baseada numa esteira com pallets fixados a cada metro e quatro m´quinas dispostas
                                                               a
em s´rie de acordo com a figura 3.1. O funcionamento da esta¸ao de envasilhamento ´
    e                                                      c˜                    e
comandado por um controlador l´gico program´vel (CLP) que garante o envasilhamento
                              o            a
de cada garrafa conforme a seguinte seq¨ˆncia de passos:
                                       ue


  1. o atuador avan¸a, depositando uma garrafa vazia em P1 ;
                   c

  2. a esteira avan¸a 1 metro;
                   c

  3. a bomba enche a garrafa de cerveja;

  4. a esteira avan¸a 1 metro;
                   c

  5. a garrafa ´ tampada;
               e

  6. a esteira avan¸a 1 metro;
                   c
Um Problema Motivador                                                                   21


   7. o robˆ retira a garrafa da esteira.
           o


            Atuador
                                Bomba                  Robˆ
                                                          o   Buffer de sa´
                                                                         ıda

                                        Tampador
Buffer de entrada

                                                   Esteira
                                                               Sinais de entrada

                                                                 Sinais de sa´
                                                                             ıda   CLP
                      P1          P2        P3           P4
                           1m


                                Figura 3.1: Esta¸ao de envasilhamento
                                                c˜

   A esteira foi inicialmente projetada para operar em seq¨ˆncia apenas uma garrafa por
                                                          ue
vez, ou seja, o atuador s´ pode ser acionado novamente depois que o robˆ retirar a garrafa
                         o                                             o
da esteira. Esta restri¸ao na l´gica de controle evita os problemas que podem ocorrer na
                       c˜      o
opera¸ao de m´ltiplas garrafas em paralelo. Entretanto, esse modo de funcionamento ´
     c˜      u                                                                     e
muito pouco eficiente, visto que o atuador, a bomba, o tampador e o robˆ passam a maior
                                                                      o
parte do tempo parados enquanto poderiam estar operando em paralelo. Um engenheiro
de controle e automa¸ao industrial ´ contratado, ent˜o, para desenvolver uma l´gica
                    c˜             e                a                         o
de controle que garanta uma maior eficiˆncia da esta¸˜o de envasilhamento. O t´cnico
                                      e            ca                        e
respons´vel pela manuten¸˜o da linha de produ¸˜o tem bastante pr´tica na programa¸˜o
       a                ca                   ca                 a                ca
de CLPs. Ele se disp˜e a implementar o programa de controle caso lhe seja fornecida
                    o
a l´gica de funcionamento da esta¸ao, baseada nos sinais de entrada e sa´ do CLP
   o                             c˜                                     ıda
apresentados a seguir.


   • α0 : comando que inicia um avan¸o de 1 metro da esteira;
                                    c

   • β0 : sinal de final de opera¸ao da esteira. (Uma vez iniciada a opera¸˜o, n˜o pode
                                c˜                                       ca    a
      ser evitado);

   • α1 : sinal de comando do atuador pneum´tico, de in´ de dep´sito de uma garrafa
                                           a           ıcio    o
      no pallet da esteira situado na posi¸ao P1 ;
                                          c˜

   • β1 : sinal de final de opera¸ao do atuador pneum´tico. (Uma vez iniciada a opera¸˜o,
                                c˜                  a                               ca
      n˜o pode ser evitado);
       a

   • α2 : comando que inicia o enchimento da garrafa que estiver na posi¸˜o P2 ;
                                                                        ca
Um Problema Motivador                                                                 22


   • β2 : sinal de final de opera¸˜o da bomba autom´tica. (Uma vez iniciada a opera¸ao,
                                ca                a                               c˜
     n˜o pode ser evitado);
      a

   • α3 : comando que come¸a a tampar uma garrafa situada na posi¸˜o P3 ;
                          c                                      ca

   • β3 : sinal de final de opera¸ao do tampador autom´tico. (Uma vez iniciada a ope-
                                c˜                   a
     ra¸ao, n˜o pode ser evitado);
       c˜    a

   • α4 : comando que inicia a retirada de uma garrafa do pallet da esteira situado na
     posi¸˜o P4 ;
         ca

   • β4 : Sinal de final de opera¸˜o do robˆ. (Uma vez iniciada a opera¸ao, n˜o pode ser
                                ca        o                           c˜    a
     evitado).


   O programa deve ser tal que o sistema em malha fechada obede¸a `s seguintes restri¸˜es
                                                               c a                   co
de coordena¸ao:
           c˜


  1. n˜o operar o atuador, a bomba, o tampador ou o robˆ enquanto a esteira estiver
      a                                                o
     avan¸ando;
         c

  2. n˜o sobrepor garrafas em P1 ;
      a

  3. n˜o avan¸ar a esteira sem que as garrafas em P2 , P3 e P4 tenham sido enchidas,
      a      c
     tampadas ou retiradas, respectivamente;

  4. n˜o encher, tampar ou acionar o robˆ sem garrafas nas posi¸˜es P2 , P3 e P4 , respec-
      a                                 o                      co
     tivamente;

  5. n˜o encher ou tampar duas vezes a mesma garrafa;
      a

  6. n˜o avan¸ar a esteira ` toa, ou seja, sem garrafa em alguma das posi¸˜es.
      a      c             a                                             co


   O problema de controle que se coloca ao engenheiro pode ent˜o ser especificado como
                                                              a
segue:


Problema 3.1 Seja a planta de engarrafamento de cervejas, composta de um atu-
ador pneum´tico, uma esteira, uma bomba de cerveja, um tampador, e um robˆ;
          a                                                              o
projetar uma l´gica de controle a ser implementada no CLP, de modo a permi-
              o
tir ` esteira operar uma, duas, trˆs ou quatro garrafas em paralelo; garantindo que o
    a                             e
Um Problema Motivador                                                               23


comportamento do sistema controlado obede¸a a especifica¸˜o de funcionamento do
                                         c             ca
sistema, de forma a evitar os problemas que podem ocorrer na opera¸˜o de m´ltiplas
                                                                  ca      u
garrafas em paralelo, restringindo o sistema somente o necess´rio, e garantindo
                                                             a
uma produ¸˜o continuada de cervejas.
         ca



3.2     Considera¸˜es acerca da Resolu¸˜o do Problema
                 co                   ca

   O problema 3.1 tal como colocado, suscita algumas observa¸oes.
                                                            c˜

   Primeiramente, se se deseja sintetizar uma l´gica de controle ´ necess´rio que se co-
                                               o                 e       a
nhe¸a as caracter´
   c             ısticas do sistema a controlar. Isto passa pela obten¸˜o de um modelo
                                                                      ca
para a planta, que possa ser obtido de forma sistem´tica e que seja adequado ao problema
                                                   a
em quest˜o. Neste sentido conv´m observar que a planta ´ em geral, como no caso do
        a                     e                        e
exemplo, composta de um conjunto de equipamentos ou sub-sistemas que devem trocar
sinais com um elemento de controle de forma a que o comportamento coordenado des-
tes equipamentos seja aquele desejado. A obten¸˜o de um modelo para o sistema global
                                              ca
a ser controlado pode ent˜o ser pensado como uma composi¸˜o de modelos para seus
                         a                              ca
sub-sistemas.

   Do mesmo modo, a s´
                     ıntese de controle pressup˜e um modelo adequado para as es-
                                               o
pecifica¸oes de comportamento. Estas especifica¸oes s˜o definidas por um conjunto de
       c˜                                    c˜    a
restri¸˜es que determinam como deve ser a opera¸ao coordenada dos equipamentos. As-
      co                                       c˜
sim como para a planta a controlar, pode-se pensar que o modelo da especifica¸˜o que
                                                                            ca
define o comportamento global desejado para o sistema ´ o resultado da composi¸ao de
                                                     e                       c˜
um conjunto de modelos para cada especifica¸˜o elementar definida sobre uma parte do
                                          ca
sistema a controlar.

   Ainda, o problema 3.1 estabelece que a l´gica de controle deve ser ´tima, no senti-
                                           o                          o
do de restringir o comportamento dos equipamentos que comp˜em a planta, somente o
                                                          o
necess´rio para que n˜o se violem as especifica¸˜es. Al´m disso se deseja que o controle
      a              a                        co      e
n˜o leve o sistema a situa¸oes de bloqueio, ou seja, garanta o cumprimento de tarefas de
 a                        c˜
modo perene.

   Finalmente, espera-se que a lei de controle ´tima n˜o-bloqueante seja gerada automa-
                                               o      a
ticamente, ou seja, atrav´s de algoritmos bem definidos e que garantam as caracter´
                         e                                                       ısticas
consideradas acima.
Um Problema Motivador                                                               24


   O objetivo da teoria a ser desenvolvida nos cap´
                                                  ıtulos que seguem ´ resolver problemas
                                                                    e
como o descrito acima. A coloca¸ao do problema justifica a metodologia a ser apresentada,
                               c˜
como sendo composta das seguintes fases:


  1. Obten¸ao de um modelo para a planta a ser controlada;
          c˜

  2. Obten¸ao de um modelo de representa¸˜o das especifica¸˜es a serem respeitadas;
          c˜                            ca               co

  3. S´ntese de uma l´gica de controle n˜o bloqueante e ´tima.
      ı              o                  a               o


   Por ultimo, cabe observar que a natureza dos eventos envolvidos no problema des-
       ´
crito no exemplo ´ diversa. Enquanto uma parte destes eventos correspondem a sinais
                 e
de comando que podem ou n˜o serem ativados, uma outra parte dos eventos, por sua
                         a
natureza, n˜o podem ser evitados de ocorrer por qualquer a¸ao de controle quando o
           a                                              c˜
estado da planta for tal que os habilite. Esta caracter´
                                                       ıstica dos SEDs ´ fundamental no
                                                                       e
desenvolvimento da metodologia a ser apresentada.



3.3     Conclus˜o
               a

   Este cap´
           ıtulo apresentou de maneira informal, atrav´s de um exemplo de aplica¸˜o, o
                                                      e                         ca
tipo de problema a ser tratado neste documento. Os cap´
                                                      ıtulos que seguem apresentar˜o
                                                                                  a
as bases conceituais da Teoria de Controle de Sistemas a Eventos Discretos.
Cap´
   ıtulo 4

Linguagens como modelos para SEDs

   Neste cap´
            ıtulo ser˜o introduzidos os elementos b´sicos da teoria de linguagens e ser´
                     a                             a                                   a
mostrado como o comportamento l´gico de um SED pode ser modelado a partir de lin-
                               o
guagens.



4.1        Nota¸˜o e defini¸˜es b´sicas
               ca         co    a

   Uma linguagem L definida sobre um alfabeto Σ, ´ um conjunto de cadeias formadas
                                                e
por s´
     ımbolos pertencentes a Σ.


Exemplo 4.1 Considere o alfabeto Σ = {α, β, γ}. Alguns exemplos de linguagens sobre
Σ s˜o:
   a


   • L1 = {β, α, αββ}

   • L2 = {Todas as poss´veis cadeias formadas com 3 eventos iniciados pelo evento α}
                        ı


   O conjunto de todas as poss´
                              ıveis cadeias finitas compostas com elementos de Σ ´
                                                                                e
denotado Σ∗ , incluindo a cadeia vazia, denotada por ε. Assim, uma linguagem sobre Σ
´ sempre um subconjunto (n˜o necessariamente pr´prio) de Σ∗ . Em particular ∅, Σ e Σ∗
e                         a                    o
s˜o linguagens.
 a

   Se tuv = s, com t, u, v ∈ Σ∗ , ent˜o:
                                     a
Linguagens como modelos para SEDs                                                  26


   • t ´ chamado prefixo de s
       e

   • u ´ chamada uma subcadeia de s
       e

   • v ´ chamado sufixo de s
       e



4.2     Opera¸oes sobre linguagens
             c˜

   Algumas opera¸˜es podem ser executadas sobre linguagens. Algumas s˜o usuais, como
                co                                                   a
as opera¸oes sobre conjuntos; trˆs outras opera¸oes ser˜o aqu´ adicionadas.
        c˜                      e              c˜      a     ı


  1. Concatena¸˜o: Sejam duas linguagens L1 , L2 ⊆ Σ∗ , ent˜o a concatena¸˜o de L1 e
              ca                                           a             ca
      L2 , denotado L1 L2 , ´ definida por
                            e

                    L1 L2 := {s ∈ Σ∗ : (s = s1 s2 ) e (s1 ∈ L1 ) e (s2 ∈ L2 )}

      Em palavras, uma cadeia est´ em L1 L2 se ela pode ser escrita como a concatena¸˜o
                                 a                                                  ca
      de uma cadeia de L1 com uma cadeia de L2 .

  2. Prefixo-Fechamento: Seja uma linguagem L ∈ Σ∗ , ent˜o, o prefixo-fechamento de
                                                       a
      L, denotado por L, ´ definido por
                         e

                                L := {s ∈ Σ∗ : ∃t ∈ Σ∗ (st ∈ L)}

      Em palavras, L consiste de todas as cadeias de Σ∗ que s˜o prefixos de L. Em
                                                             a
      geral, L ⊆ L. L ´ dita prefixo-fechada se L = L. Uma linguagem L ´ prefixo-
                      e                                               e
      fechada se qualquer prefixo de qualquer cadeia de L ´ tamb´m uma cadeia de L.
                                                         e     e
      Como veremos mais tarde linguagens geradas por sistemas f´
                                                               ısicos s˜o exemplos de
                                                                       a
      linguagens prefixo-fechadas.

  3. Fechamento-Kleene: Seja uma linguagem L ⊆ Σ∗ , ent˜o o fechamento Kleene de L,
                                                       a
      denotado por L∗ ´ definido por
                      e

                                L∗ := {ε} ∪ L ∪ LL ∪ LLL ∪ · · ·

      Uma cadeia de L∗ ´ formada pela concatena¸˜o de um n´mero finito de cadeias de
                       e                       ca         u
      L, incluindo a cadeia vazia ε.
Linguagens como modelos para SEDs                                                   27


Exemplo 4.2 Considere o alfabeto Σ = {α, β, γ}, e as linguagens L1 = {ε, α, αββ} e
L2 = {γ} definidas sobre Σ. Observe que tanto L1 como L2 n˜o s˜o prefixo-fechadas, pois
                                                         a a
αβ ∈ L1 e ε ∈ L2 . Ent˜o:
                      a


   • L1 L2 = {γ, αγ, αββγ}

   • L1 = {ε, α, αβ, αββ}

   • L2 = {ε, γ}

   • L1 L2 = {ε, α, αββ, γ, αγ, αββγ}

   • L∗ = {ε, γ, γγ, γγγ, · · ·}
      2



   As seguintes observa¸oes s˜o verdadeiras:
                       c˜    a


  1. ε ∈ ∅;

  2. {ε} ´ uma linguagem n˜o vazia contendo somente a cadeia vazia. Veremos mais
         e                a
      tarde que esta linguagem pode representar a situa¸˜o de um sistema bloqueado em
                                                       ca
      seu estado inicial;

  3. Se L = ∅ ent˜o L = ∅, e se L = ∅ ent˜o necessariamente ε ∈ L;
                 a                       a

  4. ∅∗ = {ε} e {ε}∗ = {ε}.



4.3      Representa¸˜o de SEDs por linguagens
                   ca

   O comportamento de um sistema a eventos discretos (SED) pode ser descrito atrav´s
                                                                                  e
de um par de linguagens. Para isto considera-se um alfabeto Σ como correspondendo
ao conjunto de eventos que afetam o sistema. A evolu¸ao seq¨encial do SED, ou seu
                                                    c˜     u
comportamento l´gico, pode ent˜o ser modelado atrav´s de uma dupla D = (L, Lm ).
               o              a                    e

   No modelo D, L ⊆ Σ∗ ´ a linguagem que descreve o comportamento gerado pelo siste-
                       e
ma, ou seja, o conjunto de todas as cadeias de eventos fisicamente poss´
                                                                      ıveis de ocorrerem
no sistema. Por sua vez Lm ⊆ L ´ a linguagem que descreve o comportamento marcado
                               e
do sistema, ou seja, o conjunto de cadeias em L que correspondem a tarefas completas
que o sistema pode realizar.
Linguagens como modelos para SEDs                                                     28


     Considerando a evolu¸ao seq¨encial de um Sistema a Eventos Discretos e um alfabeto
                         c˜     u
Σ correspondendo ao conjunto de eventos que afetam o sistema, pode-se afirmar que para
que um sistema produza uma cadeia qualquer w, ent˜o o mesmo deve ter produzido ante-
                                                 a
riormente todos os seus prefixos. Portanto, o comportamento gerado de qualquer sistema
a eventos discretos em que n˜o ocorram eventos simultˆneos, pode ser representado por
                            a                        a
uma linguagem prefixo fechada.

     As observa¸oes acima podem ser sintetizadas formalmente nas seguintes propriedades
               c˜
de linguagens L e Lm que representam um SED:

     1. L ⊃ Lm , ou seja, o comportamento gerado cont´m o comportamento marcado de
                                                     e
        um SED;

     2. L = L, ou seja, o comportamento gerado de um SED ´ prefixo-fechado.
                                                         e

Exemplo 4.3 Como exemplo, considere o problema motivador 3.1 da Linha de Produ¸˜o
                                                                              ca
de Cervejas. Se se considera isoladamente a Esteira, pode-se identificar Σ = {α0 , β0 }
como o conjunto de eventos associados ao equipamento. Neste caso a linguagem L que
corresponde ao comportamento gerado pela Esteira consiste de todas as sequˆncias de
                                                                          e
eventos que alternam os dois eventos considerados, iniciando com α0 e finalizando com
α0 ou β0 . Observe que ε ∈ L correspondendo ` situa¸˜o da esteira em seu estado inicial.
                                            a      ca
Por outro lado, se se considera como tarefa completa da esteira as cadeias que a levam ao
estado de repouso, pode-se afirmar que Lm consiste de todas as cadeias de L que terminam
com β0 , acrescida da cadeia ε. Assim,

                    L = {ε, α0 , α0 β0 , α0 β0 α0 , α0 β0 α0 β0 , α0 β0 α0 β0 α0 , ...}

e
                         Lm = {ε, α0 β0 , α0 β0 α0 β0 , α0 β0 α0 β0 α0 β0 , ...}

Exerc´
     ıcio 4.1 Considere o robˆ da figura 4.1. Este robˆ est´ inserido em um sistema
                             o                       o    a
de manufatura onde deve realizar as tarefas de retirar pe¸as de uma esteira de entrada
                                                         c
(evento b) e coloc´-las em um de dois poss´
                  a                       ıveis armaz´ns de sa´ (eventos c1 e c2 ).
                                                     e        ıda
Considerando o robˆ como um SED, descreva as linguagens L e Lm do robˆ.
                  o                                                  o

     Quest˜o para reflex˜o: Dado um SED = (L, Lm ) ´ sempre verdade que Lm = L? Se
          a            a                          e
sim justifique, caso contr´rio dˆ um contra-exemplo. Observe que a igualdade se verifica
                         a     e
no caso do exemplo da esteira.
Linguagens como modelos para SEDs                                                        29


                                                 c1

                        a           b
                                                 c2




                            Figura 4.1: Sistema robˆ-esteira
                                                   o

4.4     Express˜es Regulares
               o

   Como vimos acima, uma linguagem pode ser vista como uma maneira formal de des-
crever o comportamento de um SED. Ela pode especificar todas as poss´
                                                                   ıveis seq¨ˆncias
                                                                            ue
de eventos que um SED pode gerar (L) ou o conjunto de tarefas que o sistema pode
completar (Lm ). No entanto, a descri¸ao de uma linguagem como vista at´ agora, feita
                                     c˜                                e
pela sua descri¸ao em “linguagem natural”ou pela enumera¸˜o das cadeias que a definem,
               c˜                                       ca
pode ser uma tarefa pouco pr´tica. Seria conveniente que se pudesse dispor de uma forma
                            a
de representa¸ao de linguagens que seja simples, concisa, clara e sem ambig¨idade. Em
             c˜                                                            u
outras palavras, ´ necess´rio utilizar estruturas compactas que possam representar estas
                 e       a
linguagens. Neste documento ser˜o apresentadas duas estruturas: as express˜es regulares
                               a                                          o
e os autˆmatos. Consideremos inicialmente as express˜es regulares.
        o                                           o

   Para um alfabeto Σ dado, define-se recursivamente uma express˜o regular da seguinte
                                                               a
maneira:

  1. (a) ∅ ´ uma express˜o regular que representa a linguagem vazia,
           e            a
      (b) ε ´ uma express˜o regular denotando a linguagem {ε},
            e            a
       (c) σ ´ uma express˜o regular denotando {σ} ∀e ∈ Σ;
             e            a

  2. Se r e s s˜o express˜es regulares ent˜o rs, r∗ , s∗ , (r + s) s˜o express˜es regulares;
               a         o                a                         a         o

  3. Toda express˜o regular ´ obtida pela aplica¸ao das regras 1 e 2 um n´mero finito
                 a          e                   c˜                       u
      de vezes.

   Express˜es regulares fornecem um meio de descri¸˜o de linguagens.
          o                                       ca

Exemplo 4.4 Como ilustra¸˜o, considerando o alfabeto Σ1 = {a, b, g}, s˜o exemplos de
                        ca                                            a
express˜es regulares:
       o
Linguagens como modelos para SEDs                                                     30


   • (a + b)g ∗ , que representa a linguagem L = {todas as cadeias que come¸am com a
                                                                           c
     ou b e s˜o seguidas por um n´mero qualquer de g s};
             a                   u

   • (ab)∗ +g, que representa a linguagem L = {todas as cadeias formadas por um n´mero
                                                                                 u
     qualquer de ab s ou uma ocorrˆncia do elemento g}
                                  e


Exemplo 4.5 Se se retoma o exemplo da esteira da linha de produ¸˜o de cervejas, L e
                                                               ca
Lm podem ser reescritos atrav´s de suas representa¸˜es em express˜es regulares respecti-
                             e                    co             o
vamente como
                                   L = (α0 β0 )∗ (ε + α0 )

                                      Lm = (α0 β0 )∗


Exemplo 4.6 Considere ainda como exemplo, um alfabeto Σ = {a, b}, composto por
s´mbolos que representam eventos que correspondam ao acesso de duas tarefas diferentes
 ı
a um mesmo recurso, por exemplo um processador. Pode-se encontrar express˜es que re-
                                                                         o
presentam uma restri¸˜o sobre o uso deste processador pelas tarefas. Deseja-se encontrar
                    ca
restri¸˜es que expressem justi¸a no uso do processador pelas tarefas. Poss´
      co                      c                                           ıveis express˜es
                                                                                       o
regulares para a especifica¸˜o de justi¸a no uso do recurso s˜o:
                          ca          c                     a


   • A1 = (ab)∗ , expressa alternˆncia no uso do recurso, por´m privilegia o acesso a, no
                                 a                           e
     sentido de garantir a como primeiro acesso ao recurso;

   • A2 = (a + b)∗ , n˜o expressa justi¸a pois permite acesso irrestrito ao recurso;
                      a                c

   • A3 = (ab)∗ + (ba)∗ , expressa alternˆncia, sem prioriza¸˜o no primeiro acesso.
                                         a                  ca


     ıcio 4.2 Para o exemplo de acesso a um recurso comum, existe uma restri¸˜o que
Exerc´                                                                      ca
expressa justi¸a de modo mais inteligente, ou seja, garante que em nenhum momento
              c
alguma tarefa fa¸a mais do que 1 acesso a mais do que a outra. Encontre uma express˜o
                c                                                                  a
regular para exprimir esta restri¸˜o de justi¸a.
                                 ca          c


Exerc´
     ıcio 4.3 Encontre express˜es regulares que representem as linguagens encontradas
                              o
no problema do robˆ da figura 4.1.
                  o


   Quest˜o para reflex˜o: Toda linguagem ´ represent´vel por uma express˜o regular ?
        a            a                  e          a                   a
Linguagens como modelos para SEDs                                                    31


4.5     Conclus˜o
               a

   Neste cap´
            ıtulo foram introduzidos conceitos relativos ` teoria de linguagens e como se
                                                         a
pode utilizar linguagens como meio de representar um SED. Neste sentido o modelo de
representa¸˜o de SEDs por Linguagens pode ser visto como um modelo comportamental
          ca
externo do sistema uma vez que se baseia na descri¸ao de suas trajet´rias (sequˆncias
                                                  c˜                o          e
de eventos). Entretanto, a representa¸ao atrav´s de linguagens e express˜es regulares ´
                                     c˜       e                         o             e
limitada computacionalmente. Para resolver este problema utiliza-se a representa¸ao de
                                                                                c˜
SEDs atrav´s de autˆmatos. Este far´ objeto do pr´ximo cap´
          e        o               a             o        ıtulo.
Cap´
   ıtulo 5

Autˆmatos como modelos para SEDs
   o

   Neste cap´
            ıtulo ser˜o introduzidos os principais conceitos relacionados aos autˆmatos
                     a                                                           o
de estados finitos. Ser˜o estabelecidas rela¸˜es entre os autˆmatos e as linguagens e ser´
                      a                    co               o                           a
considerada a quest˜o de representa¸˜o de um SED atrav´s de modelos de autˆmatos.
                   a               ca                 e                   o



5.1      Autˆmatos Determin´
            o              ısticos de Estados Finitos

   Um autˆmato determin´
         o             ıstico de estados finitos (ADEF) ´ uma qu´
                                                       e       ıntupla
G = (X, Σ, f, x0 , Xm ), onde:


   • X ´ o conjunto finito de estados do autˆmato;
       e                                   o

   • Σ ´ o conjunto de s´
       e                ımbolos (eventos) que definem o alfabeto;

   • f : X × Σ → X ´ a fun¸ao de transi¸˜o, possivelmente parcial, ou seja, n˜o h´
                   e      c˜           ca                                    a a
      necessidade da fun¸ao ser definida para todo elemento de Σ em cada estado de X;
                        c˜

   • x0 ´ o estado inicial do autˆmato;
        e                        o

   • Xm ´ o conjunto de estados marcados ou finais, Xm ⊆ X.
        e


   Um autˆmato pode ser representado graficamente como um grafo dirigido, onde os n´s
         o                                                                        o
representam os estados e os arcos etiquetados representam as transi¸˜es entre os estados.
                                                                   co
O estado inicial ´ identificado atrav´s de uma seta apontando para ele e os estados finais
                 e                  e
s˜o representados com c´
 a                     ırculos duplos.
Autˆmatos como modelos para SEDs
    o                                                                                     33


Exemplo 5.1 A figura 5.1 ´ um exemplo de um autˆmato determin´
                        e                     o             ıstico, cuja descri¸˜o
                                                                               ca
formal correspondente ´ a seguinte:
                      e


   • X = {x, y, z}

   • Σ = {a, b, g}

   • A fun¸˜o de transi¸˜o do exemplo ´: f (x, a) = x, f (x, g) = z, f (y, a) = x, f (y, b) =
          ca           ca             e
     y, f (z, b) = z e f (z, a) = f (z, g) = y

   • x0 = {x}

   • Xm = {x, z}


                                           a
                                               a             y    b
                                       x

                                           g               a, g
                                                   z
                                                       b


                           Figura 5.1: Autˆmato determin´
                                          o             ıstico


   Nota¸ao: ΣG (x) denota o conjunto ativo de eventos num estado x ∈ X, ou seja
       c˜

                           ΣG (x) = {σ ∈ Σ : f (x, σ) ´ definida }.
                                                      e


   No exemplo da figura 5.1, ΣG (x) = {a, g}, Σ(y) = {a, b} e ΣG (z) = {a, b, g}.

   O autˆmato G pode ser visto como um dispositivo que opera como segue. Inicia a
        o
partir do estado inicial x0 e l´ permanece at´ a ocorrˆncia de um evento σ ∈ ΣG (x0 ) ⊆ Σ
                               a             e        e
que disparar´ a transi¸˜o f (x0 , σ) ∈ X. Este processo continua baseado nas transi¸oes
            a         ca                                                           c˜
definidas em f .

   A fun¸ao f pode ser estendida do dom´
        c˜                                                  ınio X × Σ∗ , operando
                                       ınio X × Σ para o dom´
sobre cadeias, da seguinte maneira:

                     ˆ
                     f (x, ε)   := x
                     ˆ
                     f (x, σ)  := f (x, σ), σ ∈ Σ
                     ˆ               ˆ
                     f (x, sσ) := f (f (x, s), σ) para s ∈ Σ∗ e σ ∈ Σ.
Autˆmatos como modelos para SEDs
    o                                                                                           34


                                       ca           ca             ˆ
Exemplo 5.2 Aplicando a defini¸˜o da fun¸˜o de transi¸˜o estendida, f , ao autˆmato
                             ca                                              o
da figura 5.1, tem-se o seguinte resultado:

      ˆ
      f (y, ε)   =y
      ˆ               ˆ                     ˆ
      f (x, gba) = f (f (x, gb), a) = f (f (f (x, g), b), a) = f (f (z, b), a) = f (z, a) = y


5.2     Linguagens representadas por autˆmatos
                                        o

   Um autˆmato G est´ associado a duas linguagens, a linguagem gerada L(G) e a
         o          a
linguagem marcada Lm (G).

   A linguagem gerada por G = (X, Σ, f, x0 , Xm ) ´:
                                                  e

                                             ˆ
                           L(G) := {s ∈ Σ∗ : f (x0 , s) ´ definida}.
                                                        e


   A linguagem marcada de G ´:
                            e

                                                 ˆ
                           Lm (G) := {s ∈ L(G) : f (x0 , s) ∈ Xm }.


   Em palavras, a linguagem L(G) representa todas cadeias que podem ser seguidas no
autˆmato, partindo do estado inicial. A linguagem Lm (G) considera todas as cadeias que
   o
partindo do estado inicial chegam a um estado marcado.

   Um SED pode ser modelado por um autˆmato G, onde L(G) ´ o comportamento ge-
                                      o                  e
rado pelo sistema e Lm (G) ´ o comportamento marcado ou conjunto de tarefas completas
                           e
do sistema.


Exerc´
     ıcio 5.1 Construa um autˆmato G tal que L(G) e Lm (G) correspondam aos com-
                             o
portamentos gerado e marcado do robˆ da figura 4.1.
                                   o


Exemplo 5.3 A linguagem gerada do autˆmato da figura 5.2 ´
                                     o                  e

                                 L(G) = [b∗ aa∗ b]∗ (ε + b∗ aa∗ )

e sua linguagem marcada ´
                        e
                                   Lm (G) = [b∗ aa∗ b]∗ b∗ aa∗ .
Autˆmatos como modelos para SEDs
    o                                                                                  35

                                            b            a
                                                b
                                        0            1
                                                a

                               Figura 5.2: Exemplo de autˆmato
                                                         o

5.3     Linguagens Regulares e Autˆmatos de Estados
                                  o
        Finitos

   Iniciaremos esta se¸˜o retomando a quest˜o deixada como reflex˜o, apresentada ao
                      ca                   a                    a
final da se¸ao 4.4, ou seja, “Toda linguagem ´ represent´vel por uma express˜o regular?”.
          c˜                                e          a                   a
Para responder a esta quest˜o consideremos o seguinte exemplo:
                           a


Exemplo 5.4 O exemplo a ser analisado ´ o de uma fila de capacidade infinita. Clientes
                                      e
chegam e ficam na fila aguardando para usar o servidor. A figura 5.3 ilustra o proble-
ma. Como no exemplo I introduzido na se¸˜o 2.2, considera-se o conjunto de eventos
                                       ca
Σ = {c, p} onde c corresponde ` chegada de cliente e p ` partida de cliente do sistema.
                              a                        a

                           c                                     p
                                                             S


                               Figura 5.3: Problema fila infinita

   A linguagem que corresponde ao comportamento gerado pelo sistema fila infinita ´
                                                                                e

L = {cadeias tais que quaisquer de seus prefixos n˜o contenham mais p’s do que c’s}
                                                 a

   Considerando como tarefas completas neste sistema de filas, as cadeias de eventos que
deixam a fila vazia, pode-se observar que

Lm = {cadeias tais que o n´mero de c’s ´ igual ao n´mero de p’s e tais que quaisquer de
                          u            e           u
seus prefixos n˜o contenham mais p’s do que c’s}
              a


   O desafio de encontrar uma express˜o regular para a linguagem descrita no exemplo
                                    a
da fila infinita ´ intranspon´
               e           ıvel, ou seja, n˜o existe tal express˜o. De fato, o conjunto de
                                           a                    a
linguagens para as quais existem express˜es regulares que as representem constitui um
                                        o
conjunto particular de linguagens denominadas Linguagens Regulares.

   Por outro lado, se se procura encontrar um autˆmato que tenha as linguagens L e
                                                 o
Lm , respectivamente como linguagens gerada e marcada, n˜o existe solu¸˜o no dom´
                                                        a             ca        ınio
Autˆmatos como modelos para SEDs
    o                                                                                 36


dos autˆmatos de estados finitos. A figura 5.4 mostra um autˆmato que representa o
       o                                                  o
comportamento da fila infinita.

                             c           c          c           c
                                                                     ......

                            p            p           p           p


                           Figura 5.4: Autˆmato fila infinita
                                          o

   ´
   E poss´ perceber que o n´mero de estados do autˆmato ´ infinito. De fato, o teorema
         ıvel              u                      o     e
a seguir estabelece uma rela¸ao entre o conjunto das Linguagens Regulares e o conjunto
                            c˜
de Autˆmatos de Estados Finitos.
      o


Teorema 5.1 (Teorema de Kleene) Se L ´ regular, existe um autˆmato G com
                                     e                       o
n´mero finito de estados tal que Lm (G) = L. Se G tem um n´mero finito de estados,
 u                                                       u
ent˜o Lm (G) ´ regular.
   a         e


   Uma quest˜o que se pode colocar ´ a seguinte: Seja G um autˆmato com n´mero
            a                      e                          o          u
infinito de estados, ´ sempre verdade que Lm (G) ´ n˜o regular? A resposta a esta pergunta
                    e                           e a
´ n˜o, pois pode existir um autˆmato finito que possua a mesma linguagem marcada que
e a                            o
o autˆmato infinito dado.
     o

   A observa¸˜o acima mostra que, em geral, para uma dada linguagem regular L, n˜o
            ca                                                                  a
existe um unico autˆmato G tal que Lm (G) = L.
          ´        o

   Autˆmatos G1 e G2 para os quais L(G1 ) = L(G2 ) e Lm (G1 ) = Lm (G2 ) s˜o ditos serem
      o                                                                   a
autˆmatos equivalentes.
   o

   Por outro lado, dois autˆmatos s˜o ditos serem isomorfos quando G1 = G2 , a menos
                           o       a
de uma renomea¸˜o de estados.
              ca



5.4     Acessibilidade e co-acessibilidade de um ADEF

   De forma geral, um ADEF G = (X, Σ, f, x0 , Xm ) pode ter estados inacess´
                                                                           ıveis, isto ´,
                                                                                       e
estados que jamais podem ser alcan¸ados a partir do estado inicial.
                                  c

   Formalmente, um estado x ∈ X ´ dito ser acess´ se x = f (x0 , u) para algum u ∈ Σ∗ .
                                e               ıvel

   G ´ dito ser acess´vel se x ´ acess´ para todo x ∈ X.
     e               ı         e      ıvel
Autˆmatos como modelos para SEDs
    o                                                                                   37


   A componente acess´
                     ıvel, Gac , de um autˆmato G ´ obtida pela elimina¸ao de seus
                                          o       e                    c˜
estados n˜o acess´
         a       ıveis e das transi¸oes associadas a eles.
                                   c˜


   • Gac = (Xac , Σ, fac , x0 , Xmac )

   • Xac ´ o conjunto de estados acess´
         e                            ıveis de G

   • fac : f | Σ × Xac

   • Xmac : Xac ∩ Xm


   Se o autˆmato ´ acess´ ent˜o G = Gac .
           o     e      ıvel a

   Por outro lado G ´ dito ser co-acess´vel, ou n˜o bloqueante, se cada cadeia u ∈ L(G)
                    e                  ı         a
pode ser completada por algum w ∈ Σ∗ tal que uw ∈ Lm (G), ou seja se cada cadeia
u ∈ L(G) for um prefixo de uma cadeia em Lm (G).

   Em outras palavras, um ADEF ´ co-acess´
                               e         ıvel se, a partir de qualquer um de seus
estados, existir ao menos um caminho que leve a um estado marcado.

   A condi¸ao de co-acessibilidade de um ADEF pode ainda ser descrita pela equa¸˜o.
          c˜                                                                   ca


                                         L(G) = Lm (G)                                (5.1)


   Assim como existe a componente acess´
                                       ıvel ´ poss´
                                            e     ıvel identificar a componente co-
acess´
     ıvel, Gco , de G, pela elimina¸ao de estados n˜o co-acess´
                                   c˜              a          ıveis (estados alcan¸ados por
                                                                                  c
cadeias que n˜o podem ser completadas em tarefas) e transi¸oes associadas.
             a                                            c˜

   Quando um autˆmato ´ acess´ e co-acess´ ele ´ dito ser trim.
                o     e      ıvel        ıvel  e



5.5      Bloqueio num SED

   A equa¸˜o (5.1) permite definir a id´ia de ausˆncia de bloqueio num sistema a eventos
         ca                           e         e
discretos.

   Um sistema a eventos discretos com comportamento L(G) e Lm (G) ´ dito ser n˜o
                                                                  e           a
bloqueante, sse satisfaz as condi¸oes da equa¸ao (5.1), isto ´, L(G) = Lm (G).
                                 c˜          c˜              e
Autˆmatos como modelos para SEDs
    o                                                                                        38


   Por outro lado um SED descrito por um autˆmato G que n˜o satisfaz as condi¸oes
                                            o            a                   c˜
da equa¸ao (5.1) ser´ bloqueante. A condi¸˜o de bloqueio (L(G) = Lm (G)) corresponde
       c˜           a                    ca
` existˆncia de cadeia(s) geradas pelo sistema (u ∈ L(G)), a partir da(s) qual(is) n˜o se
a      e                                                                            a
pode completar alguma tarefa no sistema (u ∈ Lm (G)).
                                           /


Exemplo 5.5 O gerador da Figura 5.5 modela um SED n˜o bloqueante. De fato
                                                   a

   L(G) = ε + α + β + αα(βα)∗ (ε + β)

   Lm (G) = α + β + αα(βα)∗ β

   Lm (G) = ε + α + β + αα(βα)∗ (ε + β) = L(G)

                                                                                     β
                  G:
                                                                 α
                                                     1                       2           3
                                     α
                                                                                     α
                                 0

                                         β
                                                     4


                             Figura 5.5: SED n˜o bloqueante.
                                              a

   Observe que este exemplo satisfaz a condi¸˜o de SED n˜o bloqueante (L(G) = Lm (G))
                                            ca          a
ainda que ap´s o estado 4 nenhum evento esteja habilitado. De fato, o estado 4 corres-
            o
ponde a uma tarefa completa do sistema, o que caracteriza o n˜o bloqueio. Este exemplo
                                                             a
coloca em evidˆncia a diferen¸a entre a condi¸˜o de bloqueio aqui definida e a condi¸˜o
              e              c               ca                                    ca
conhecida como “deadlock”.


                               o                   ´
Exemplo 5.6 Observe agora o autˆmato da figura 5.6. E poss´
                                                         ıvel perceber que neste
autˆmato existem estados n˜o-coacess´veis. De fato, a partir dos estados 3, 4 ou 5, o
   o                      a         ı
sistema n˜o pode completar nenhuma tarefa, caracterizando a situa¸˜o de bloqueio. Tal
         a                                                       ca
situa¸ao indica que o sistema est´ em “deadlock”(estado 5) ou “livelock”(estados 3 e 4).
     c˜                          a

                                                         g
                                             1                       5
                                 a                                                   g
                             0                   b           a           b           4
                                     g
                                             2                       3           a


                              Figura 5.6: SED com bloqueio
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs
Teoria de Controle Supervisório de SEDs

Más contenido relacionado

La actualidad más candente

Tcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão FinalTcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão Finalimpalador69
 
Programacao cpp
Programacao cppProgramacao cpp
Programacao cppTiago
 
Apostila de bioestatistica
Apostila de bioestatisticaApostila de bioestatistica
Apostila de bioestatisticaetavaresodonto
 
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Jean Pablo
 
Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisSoftD Abreu
 
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdf
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdfProtecao-por-sprinklers-em-depositos-de-grande-altura.pdf
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdfLuizSilva791823
 
Apostila res mat_outubro_2012
Apostila res mat_outubro_2012Apostila res mat_outubro_2012
Apostila res mat_outubro_2012Silvio Figueiró
 
Exercicios resolvidos red matematica
Exercicios resolvidos red matematicaExercicios resolvidos red matematica
Exercicios resolvidos red matematicatrigono_metria
 
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes BragaEstudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Bragamurilobraga
 
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdiK19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdiCaique Moretto
 

La actualidad más candente (16)

Tcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão FinalTcc Mauricio Bento Ghem 2009 - Versão Final
Tcc Mauricio Bento Ghem 2009 - Versão Final
 
Programacao cpp
Programacao cppProgramacao cpp
Programacao cpp
 
Apostila de bioestatistica
Apostila de bioestatisticaApostila de bioestatistica
Apostila de bioestatistica
 
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
Avaliação de um Mecanismo Autonômico para Segurança em Rede Baseado em Metodo...
 
Curso estatistica descritiva no r
Curso   estatistica descritiva no rCurso   estatistica descritiva no r
Curso estatistica descritiva no r
 
Analise real cassio neri
Analise real   cassio neriAnalise real   cassio neri
Analise real cassio neri
 
Seguranca e Equipamentos Compatíveis com IRMN
Seguranca e Equipamentos Compatíveis com IRMNSeguranca e Equipamentos Compatíveis com IRMN
Seguranca e Equipamentos Compatíveis com IRMN
 
Detecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionaisDetecção de intrusão em grades computacionais
Detecção de intrusão em grades computacionais
 
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdf
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdfProtecao-por-sprinklers-em-depositos-de-grande-altura.pdf
Protecao-por-sprinklers-em-depositos-de-grande-altura.pdf
 
Apostila res mat_outubro_2012
Apostila res mat_outubro_2012Apostila res mat_outubro_2012
Apostila res mat_outubro_2012
 
Resmat2007a
Resmat2007aResmat2007a
Resmat2007a
 
Exercicios resolvidos red matematica
Exercicios resolvidos red matematicaExercicios resolvidos red matematica
Exercicios resolvidos red matematica
 
Estrutura de dados 2
Estrutura de dados 2Estrutura de dados 2
Estrutura de dados 2
 
Otimização Estática
Otimização EstáticaOtimização Estática
Otimização Estática
 
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes BragaEstudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
Estudo de Séries Temporais do Mercado Financeiro - Murilo Antunes Braga
 
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdiK19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
K19 k22-desenvolvimento-web-avancado-com-jsf2-ejb3.1-e-cdi
 

Similar a Teoria de Controle Supervisório de SEDs

Apostila sobre Controle Digital
Apostila sobre Controle DigitalApostila sobre Controle Digital
Apostila sobre Controle DigitalFernando Passold
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petriuern
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software RThais Amaral
 
Guia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem PascalGuia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem PascalMikeNandes
 
257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdfRicardoZorekDaniel1
 
Handbook de ti para concursos
Handbook de ti para concursosHandbook de ti para concursos
Handbook de ti para concursosalalves31
 
Controle linear de sistemas dinamicos
Controle linear de sistemas dinamicosControle linear de sistemas dinamicos
Controle linear de sistemas dinamicosSergio Grunbaum
 
Apostila com limites e derivada
Apostila com limites e derivadaApostila com limites e derivada
Apostila com limites e derivadaWalmar de Paula
 
Shell script
Shell scriptShell script
Shell scriptTiago
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmospaula maria
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmososmarpx
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosRicardo Borges
 
Algoritmos jabour
Algoritmos jabourAlgoritmos jabour
Algoritmos jabourfjabour
 

Similar a Teoria de Controle Supervisório de SEDs (20)

Apostila sobre Controle Digital
Apostila sobre Controle DigitalApostila sobre Controle Digital
Apostila sobre Controle Digital
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petri
 
Conceitos básicos de Software R
Conceitos básicos de Software RConceitos básicos de Software R
Conceitos básicos de Software R
 
Pascal
PascalPascal
Pascal
 
Guia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem PascalGuia Rápido Da Linguagem Pascal
Guia Rápido Da Linguagem Pascal
 
257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf257553303-Resumo-TI-Para-Concursos.pdf
257553303-Resumo-TI-Para-Concursos.pdf
 
Handbook de ti para concursos
Handbook de ti para concursosHandbook de ti para concursos
Handbook de ti para concursos
 
Controle linear de sistemas dinamicos
Controle linear de sistemas dinamicosControle linear de sistemas dinamicos
Controle linear de sistemas dinamicos
 
Precalculo pt
Precalculo ptPrecalculo pt
Precalculo pt
 
Apostila com limites e derivada
Apostila com limites e derivadaApostila com limites e derivada
Apostila com limites e derivada
 
Shell script
Shell scriptShell script
Shell script
 
Php
PhpPhp
Php
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
Controle
ControleControle
Controle
 
Ebook controle classico
Ebook controle classicoEbook controle classico
Ebook controle classico
 
Algoritmos jabour
Algoritmos jabourAlgoritmos jabour
Algoritmos jabour
 
Principio de Ánalise
Principio de Ánalise Principio de Ánalise
Principio de Ánalise
 

Más de Everton_michel

Protocolos e redes industriais
Protocolos e redes industriaisProtocolos e redes industriais
Protocolos e redes industriaisEverton_michel
 
Fundam. controle processo
Fundam. controle processoFundam. controle processo
Fundam. controle processoEverton_michel
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...Everton_michel
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...Everton_michel
 

Más de Everton_michel (7)

Protocolos e redes industriais
Protocolos e redes industriaisProtocolos e redes industriais
Protocolos e redes industriais
 
Apostila eagle 4x[1]
Apostila eagle 4x[1]Apostila eagle 4x[1]
Apostila eagle 4x[1]
 
Aterramento
AterramentoAterramento
Aterramento
 
Fundam. controle processo
Fundam. controle processoFundam. controle processo
Fundam. controle processo
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
 
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...Automação industrial   prof. msc. marcelo eurípedes da silva, eep – escola de...
Automação industrial prof. msc. marcelo eurípedes da silva, eep – escola de...
 
Apostila labview
Apostila labviewApostila labview
Apostila labview
 

Teoria de Controle Supervisório de SEDs

  • 1. ´ ¸˜ V Simposio Brasileiro de Automacao Inteligente Teoria de Controle Supervis´rio o de Sistemas a Eventos Discretos Prof. Jos´ Eduardo Ribeiro Cury e Universidade Federal de Santa Catarina Departamento de Automa¸˜o e Sistemas ca cury@das.ufsc.br Canela-RS, Novembro de 2001
  • 2. Agradecimentos Esta apostila foi elaborada a partir da minha experiˆncia como professor, e orientador e pesquisador na ´rea de Sistemas a Eventos Discretos e Sistemas a H´ ıbridos, nos ultimos dez anos, inicialmente no Departamento de Engenha- ´ ria El´trica e mais recentemente no Departamento de Automa¸˜o e Sistemas e ca da Universidade Federal de Santa Catarina. Ela n˜o poderia ter sido reali- a zada sem o apoio direto ou indireto de todos os meus alunos de Gradua¸˜o e ca P´s Gradua¸˜o e orientados de Mestrado e Doutorado. Partes do documento o ca devem inclusive ser creditadas a documentos que foram elaborados por estes. Neste sentido, agrade¸o a todos estes alunos, alguns hoje colegas de profiss˜o, c a em particular ao Antonio, C´sar, Jos´ Miguel, Max, Tati e Ziller, de quem e e “roubei”id´ias, par´grafos e/ou figuras. e a
  • 3. Sum´rio a 1 Introdu¸˜o ca 7 2 Sistemas a Eventos Discretos 9 2.1 Defini¸ao e Caracter´ c˜ ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Exemplos de Sistemas a Eventos Discretos . . . . . . . . . . . . . . . . . . 12 3 Um Problema Motivador 20 3.1 Linha de Produ¸ao de Cervejas . . . . . . . . . . . . . . . . . . . . . . . . 20 c˜ 3.2 Considera¸oes acerca da Resolu¸ao do Problema . . . . . . . . . . . . . . . 23 c˜ c˜ 3.3 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 a 4 Linguagens como modelos para SEDs 25 4.1 Nota¸ao e defini¸oes b´sicas . . . . . . . . . . . . . . . . . . . . . . . . . . 25 c˜ c˜ a 4.2 Opera¸oes sobre linguagens c˜ . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 Representa¸˜o de SEDs por linguagens . . . . . . . . . . . . . . . . . . . . 27 ca 4.4 Express˜es Regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 o 4.5 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 a 5 Autˆmatos como modelos para SEDs o 32 5.1 Autˆmatos Determin´ o ısticos de Estados Finitos . . . . . . . . . . . . . . . . 32 5.2 Linguagens representadas por autˆmatos . . . . . . . . . . . . . . . . . . . 34 o 5.3 Linguagens Regulares e Autˆmatos de Estados Finitos . . . . . . . . . . . 35 o 5.4 Acessibilidade e co-acessibilidade de um ADEF . . . . . . . . . . . . . . . 36 5.5 Bloqueio num SED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.6 Autˆmatos n˜o determin´ o a ısticos . . . . . . . . . . . . . . . . . . . . . . . . 40 5.7 Determiniza¸ao de um ANDEF . . . . . . . . . . . . . . . . . . . . . . . . 41 c˜ 5.8 Minimiza¸ao de autˆmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 c˜ o 5.9 Composi¸ao de Autˆmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 c˜ o 5.10 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 a
  • 4. Sum´rio a 4 6 Controle Supervis´rio de SEDs o 48 6.1 Introdu¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 c˜ 6.2 O problema de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.3 Controlabilidade e Solu¸˜o do PCS . . . . . . . . . . . . . . . . . . . . . . 51 ca 6.4 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 a 7 Metodologia para a s´ ıntese de supervisores ´timos o 53 7.1 Obten¸ao de um modelo para a planta . . . . . . . . . . . . . . . . . . . . 53 c˜ 7.2 Obten¸ao de um modelo para a especifica¸ao . . . . . . . . . . . . . . . . . 55 c˜ c˜ 7.3 S´ ıntese do supervisor n˜o bloqueante ´timo . . . . . . . . . . . . . . . . . . 58 a o 7.3.1 Defini¸ao de maus estados . . . . . . . . . . . . . . . . . . . . . . . 58 c˜ 7.4 Implementa¸˜o / Realiza¸˜o do supervisor . . . . . . . . . . . . . . . . . . 59 ca ca 7.5 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 7.6 Considera¸oes sobre a resolu¸ao do PCS . . . . . . . . . . . . . . . . . . . 66 c˜ c˜ 7.6.1 Complexidade Computacional . . . . . . . . . . . . . . . . . . . . . 67 7.6.2 Legibilidade/estrutura¸ao . . . . . . . . . . . . . . . . . . . . . . . 67 c˜ 7.6.3 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.7 Conclus˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 a 8 Conclus˜o a 69 8.1 Referˆncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 e A Resumo Ferramenta Grail 71 A.1 Introdu¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ca A.2 FM — M´quinas de estado finitas . . . . . . . . . . . . . . . . . . . . . . . 71 a A.3 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.4 Utiliza¸˜o do Grail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ca 9 Referˆncias Bibliogr´ficas e a 71
  • 5. Lista de Figuras 2.1 Trajet´ria t´ o ıpica de um sistema a eventos discretos . . . . . . . . . . . . . 10 2.2 Trajet´ria t´ o ıpica de um sistema dinˆmico com vari´veis cont´ a a ınuas . . . . . 11 2.3 Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Redes de Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5 Sistema de Computa¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ca 2.6 Linha de Transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 e 2.7 Sistema de Tr´fego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 a 3.1 Esta¸ao de envasilhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 c˜ 4.1 Sistema robˆ-esteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 o 5.1 Autˆmato determin´ o ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2 Exemplo de autˆmato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 o 5.3 Problema fila infinita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.4 Autˆmato fila infinita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 o 5.5 SED n˜o bloqueante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 a 5.6 SED com bloqueio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.7 Sistema usu´rio-recurso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 a 5.8 Autˆmato para Lm (G) = (a + b)∗ ab . . . . . . . . . . . . . . . . . . . . . . 40 o 5.9 Autˆmato determin´ o ıstico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.10 Autˆmato que detecta seq¨ˆncia 123 . . . . . . . . . . . . . . . . . . . . . 43 o ue 5.11 Autˆmato m´ o ınimo que detecta seq¨ˆncia 123 . . . . . . . . . . . . . . . . . 44 ue 5.12 Autˆmato sistema usu´rio-recurso . . . . . . . . . . . . . . . . . . . . . . . 44 o a 5.13 Modelo usu´rio US1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 a 5.14 Modelo usu´rio US2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 a 5.15 Restri¸ao recurso R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 c˜ 5.16 Restri¸ao recurso R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 c˜ 5.17 Restri¸ao recurso R1 modificada . . . . . . . . . . . . . . . . . . . . . . . . 46 c˜
  • 6. Lista de Figuras 6 6.1 SED em malha fechada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.1 Autˆmatos para Gi , i = 0, . . . , 4. . . . . . . . . . . . . . . . . . . . . . . . . 54 o 7.2 Linha de transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 e 7.3 Modelo das m´quinas M1 e M2 . . . . . . . . . . . . . . . . . . . . . . . . 55 a 7.4 Modelo da planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.5 Especifica¸ao de n˜o overflow e n˜o underflow do buffer. . . . . . . . . . . 57 c˜ a a 7.6 Autˆmato para E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 o 7.7 Autˆmatos G e C = Ei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 o 7.8 Autˆmato R = G C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 o 7.9 Autˆmato G (exerc´ 7.1) . . . . . . . . . . . . . . . . . . . . . . . . . . 60 o ıcio 7.10 M´xima linguagem control´vel. . . . . . . . . . . . . . . . . . . . . . . . . 60 a a 7.11 Modelo das m´quinas com quebra M1 e M2 a . . . . . . . . . . . . . . . . . 61 7.12 N˜o overflow e underflow do armaz´m, e prioridade de reparo de M2 . . . . 62 a e 7.13 M´xima linguagem control´vel. . . . . . . . . . . . . . . . . . . . . . . . . 62 a a 7.14 Linha de transferˆncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 e 7.15 Modelo dos componentes do sistema. . . . . . . . . . . . . . . . . . . . . . 63 7.16 Especifica¸˜o de n˜o overflow e n˜o underflow dos armaz´ns: (a) B1 e (b) ca a a e B2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.17 Lei de controle ´tima para a linha com retrabalho. . . . . . . . . . . . . . . 63 o 7.18 Sistema AGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.19 Modelo das m´quinas M1 e M2 . . . . . . . . . . . . . . . . . . . . . . . . 64 a 7.20 Modelo do AGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.21 Modelo de M1 ||M2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.22 Modelo de M1 ||M2 ||AGV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.23 Restri¸ao E1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 c˜ 7.24 Autˆmato para E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 o 7.25 Autˆmato para sup C(E). . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 o A.1 M´quina de estados finitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 a A.2 Pequena f´brica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 a A.3 Modelo m´quina 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 a A.4 Modelo m´quina 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 a A.5 Modelo restri¸ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 c˜
  • 7. Cap´ ıtulo 1 Introdu¸˜o ca A tecnologia moderna tem produzido, em escala crescente, sistemas com a finalidade de executar tarefas que, seja pela importˆncia que adquirem em seu contexto, seja por a sua complexidade e seu custo, justificam o esfor¸o despendido na sua otimiza¸˜o e auto- c ca ma¸˜o. Tais sistemas est˜o presentes em uma s´rie de aplica¸oes, incluindo por exemplo a ca a e c˜ automa¸˜o da manufatura, a rob´tica, a supervis˜o de tr´fego, a log´ ca o a a ıstica (canaliza¸ao e c˜ armazenamento de produtos, organiza¸ao e presta¸ao de servi¸os), sistemas operacionais, c˜ c˜ c redes de comunica¸˜o de computadores, concep¸ao de software, gerenciamento de bases ca c˜ de dados e otimiza¸ao de processos distribu´ c˜ ıdos. Tais sistemas tˆm em comum a maneira e pela qual percebem as ocorrˆncias no ambiente ` sua volta, o que se d´ pela recep¸˜o de e a a ca est´ ımulos, denominados eventos. S˜o exemplos de eventos o in´ e o t´rmino de uma a ıcio e tarefa e a percep¸˜o de uma mudan¸a de estado em um sensor. Estes eventos s˜o, por sua ca c a natureza, instantˆneos, o que lhes confere um car´ter discreto no tempo. Sistemas com a a estas caracter´ ısticas s˜o denominados sistemas a eventos discretos (SED), em oposi¸˜o aos a ca sistema de vari´veis cont´ a ınuas, tratados pela Teoria de Controle cl´ssica. A natureza dis- a creta dos SEDs faz com que os modelos matem´ticos convencionais, baseados em equa¸˜es a co diferenciais, n˜o sejam adequados para trat´-los. Por outro lado, a sua importˆncia faz a a a com que seja altamente desej´vel encontrar solu¸˜es para problemas relacionados ao seu a co controle. Em raz˜o disso, existe uma intensa atividade de pesquisa voltada ` busca de a a modelos matem´ticos adequados ` sua representa¸˜o, sem que se tenha conseguido at´ a a ca e agora encontrar um modelo que seja matematicamente t˜o conciso e computacionalmente a t˜o adequado como o s˜o as equa¸oes diferenciais para os sistemas dinˆmicos de vari´veis a a c˜ a a cont´ ınuas. N˜o existe, por isso, consenso sobre qual seja o melhor modelo. Dentre os a modelos existentes, destaca-se o proposto por Ramadge e Wonham, baseado em Teoria de
  • 8. Introdu¸˜o ca 8 Linguagens e de Autˆmatos e denominado “modelo RW”. Este faz uma distin¸ao clara o c˜ entre o sistema a ser controlado, denominado planta, e a entidade que o controla, que rece- be o nome de supervisor. A planta ´ um modelo que reflete o comportamento fisicamente e poss´ do sistema, isto ´, todas as a¸oes que este ´ capaz de executar na ausˆncia de ıvel e c˜ e e qualquer a¸ao de controle. Em geral, este comportamento inclui a capacidade de realizar c˜ determinadas atividades que produzam um resultado util, sem contudo se limitar a esse ´ comportamento desejado. Por exemplo, dois robˆs trabalhando em uma c´lula de manu- o e fatura podem ter acesso a um dep´sito de uso comum, o que pode ser util para passar o ´ pe¸as de um ao outro. No entanto, cria-se com isso a possibilidade f´ c ısica de ocorrer um choque entre ambos, o que ´, em geral, indesej´vel. O papel do supervisor no modelo RW e a ´, ent˜o, o de exercer uma a¸˜o de controle restritiva sobre a planta, de modo a confinar e a ca seu comportamento `quele que corresponde a uma dada especifica¸ao. Uma vantagem a c˜ desse modelo ´ a de permitir a s´ e ıntese de supervisores, sendo estes obtidos de forma a res- tringir o comportamento da planta apenas o necess´rio para evitar que esta realize a¸oes a c˜ proibidas. Desta forma, pode-se verificar se uma dada especifica¸˜o de comportamento ca pode ou n˜o ser cumprida e, caso n˜o possa, identificar a parte dessa especifica¸ao que a a c˜ pode ser implementada de forma minimamente restritiva. Um crit´rio de aceita¸ao pode e c˜ ent˜o ser utilizado para determinar se, com a parte implement´vel da especifica¸ao, o sis- a a c˜ tema trabalha de maneira satisfat´ria. Neste documento ser˜o apresentados os principais o a conceitos b´sicos da Teoria de Controle Supervis´rio, como introduzida por Ramadge e a o Wonham. Os conceitos de base da teoria de Linguagens e Autˆmatos ser˜o apresentados, o a bem como os principais resultados b´sicos de s´ a ıntese de supervisores para SEDs. A forma de apresenta¸ao procurar´ se adaptar a um curso que possa ser facilmente assimilado por c˜ a alunos em n´ de Gradua¸˜o em cursos de Engenharia ou Ciˆncias de Computa¸ao. ıvel ca e c˜
  • 9. Cap´ ıtulo 2 Sistemas a Eventos Discretos 2.1 Defini¸˜o e Caracter´ ca ısticas De um modo geral, um sistema ´ uma parte limitada do Universo que interage com o e mundo externo atrav´s das fronteiras que o delimitam. Este conceito se aplica tamb´m e e aos sistemas tratados no presente documento, que apresentam ainda as caracter´ ısticas descritas a seguir. Os sistemas de interesse percebem as ocorrˆncias no mundo externo e atrav´s da recep¸ao de est´ e c˜ ımulos, denominados eventos. S˜o exemplos de eventos o in´ a ıcio e o t´rmino de uma tarefa (mas n˜o sua execu¸ao), a chegada de um cliente a uma fila ou e a c˜ a recep¸ao de uma mensagem em um sistema de comunica¸ao. A ocorrˆncia de um evento c˜ c˜ e causa, em geral, uma mudan¸a interna no sistema, a qual pode ou n˜o se manifestar a um c a observador externo. Al´m disso, uma mudan¸a pode ser causada pela ocorrˆncia de um e c e evento interno ao pr´prio sistema, tal como o t´rmino de uma atividade ou o fim de uma o e temporiza¸ao. Em qualquer caso, essas mudan¸as se caracterizam por serem abruptas e c˜ c instantˆneas: ao perceber um evento, o sistema reage imediatamente, acomodando-se em a tempo nulo numa nova situa¸˜o, onde permanece at´ que ocorra um novo evento. Desta ca e forma, a simples passagem do tempo n˜o ´ suficiente para garantir que o sistema evolua; a e para tanto, ´ necess´rio que ocorram eventos, sejam estes internos ou externos. Note ainda e a que a ocorrˆncia desses eventos pode depender de fatores alheios ao sistema, de modo que e este n˜o tem, em geral, como prevˆ-los. O que se disse acima permite apresentar agora a a e seguinte defini¸ao: c˜ Defini¸˜o 2.1 Sistema a eventos discretos (SED) ´ um sistema dinˆmico que evolui de ca e a acordo com a ocorrˆncia abrupta de eventos f´sicos, em intervalos de tempo em geral e ı
  • 10. Sistemas a Eventos Discretos 10 irregulares e desconhecidos. Diz-se ainda que, entre a ocorrˆncia de dois eventos consecutivos, o sistema permanece e num determinado estado. A ocorrˆncia de um evento causa ent˜o uma transi¸ao ou e a c˜ mudan¸a de estado no sistema, de forma que sua evolu¸ao no tempo pode ser representada c c˜ pela trajet´ria percorrida no seu espa¸o de estados, conforme ilustrado na figura 2.1. o c x(t) x4 x3 α β λ α x2 x1 t1 t2 t3 t4 t Figura 2.1: Trajet´ria t´ o ıpica de um sistema a eventos discretos Nesta trajet´ria ocorrem eventos representados pelas letras α, β e λ. Vˆ-se que um o e mesmo evento pode ter efeitos diferentes, dependendo do estado em que ocorre. Por exemplo, se o sistema est´ no estado x1 e ocorre o evento α, o pr´ximo estado ser´ a o a x4 ; se α ocorre em x3 , volta-se para x1 . A trajet´ria pode continuar indefinidamente, o inclusive com a ocorrˆncia de outros eventos, n˜o representados na figura. Para todos e a os sistemas tratados, por´m, assume-se que o n´mero total de eventos diferentes que e u podem ocorrer ´ finito. O n´mero de estados pode ser ilimitado no caso geral, embora a e u classe de sistemas com um n´mero finito de estados seja um caso particular importante. u Costuma-se distinguir um dos estados do sistema dos demais, o qual recebe o nome de estado inicial. Este ´ o estado em que o sistema se encontra antes de ocorrer o primeiro e evento. Na pr´tica, em geral ´ poss´ for¸ar um sistema a voltar a esse estado, antes de a e ıvel c iniciar sua utiliza¸˜o para um determinado fim, processo denominado de reinicializa¸ao. ca c˜ Os sistemas a eventos discretos, entendidos segundo a defini¸ao 2.1, contrastam com os c˜ sistemas dinˆmicos a vari´veis cont´ a a ´ ınuas, descritos por equa¸oes diferenciais . E instrutivo c˜ comparar a trajet´ria t´ o ıpica de um SED, apresentada na figura 2.1, com a de um sistema dinˆmico de vari´veis cont´ a a ınuas, apresentada na figura 2.2. O espa¸o de estados de um SED ´ limitado a um conjunto enumer´vel, ao passo que c e a ´ cont´ e ınuo e portanto infinito nos sistemas cont´ ınuos. Estes, em geral, mudam de estado a cada instante, tendo o seu comportamento descrito por uma fun¸ao que relaciona o c˜
  • 11. Sistemas a Eventos Discretos 11 x(t) dx dt = f (x, t) t Figura 2.2: Trajet´ria t´ o ıpica de um sistema dinˆmico com vari´veis cont´ a a ınuas estado (vari´vel dependente) ao tempo (vari´vel independente). J´ os sistemas a eventos a a a discretos podem permanecer um tempo arbitrariamente longo em um mesmo estado, sendo que sua trajet´ria pode ser dada por uma lista de eventos na forma {σ1 , σ2 , ...}, o incluindo-se eventualmente os instantes de tempo em que tais eventos ocorrem, na forma {(σ1 , t1 ), (σ2 , t2 ), ...} . A quantidade de informa¸ao necess´ria depende dos objetivos da c˜ a aplica¸˜o. ca O acima exposto permite ver a tarefa de especificar o comportamento de um sistema a eventos discretos como sendo a de estabelecer seq¨ˆncias ordenadas de eventos que ue levem ` realiza¸ao de determinados objetivos. Com uma formula¸ao t˜o abrangente, n˜o a c˜ c˜ a a ´ surpreendente que tenha havido esfor¸os em mais de uma ´rea para abordar o problema. e c a De fato a Teoria de Sistemas a Eventos Discretos ´ apresentada como pertencendo ` ´rea e aa da Pesquisa Operacional, valendo-se ainda de resultados da Ciˆncia da Computa¸˜o (em e ca particular da Inteligˆncia Artificial e do Processamento de Linguagens), bem como da e Teoria de Controle. Foram desenvolvidos at´ o momento v´rios modelos para SEDs, sem que nenhum e a tivesse se afirmado como universal. Esses modelos refletem diferentes tipos de SEDs bem como diferentes objetivos na an´lise dos sistemas em estudo. a Os principais modelos utilizados para sistemas a eventos discretos s˜o os seguintes: a • Redes de Petri com e sem temporiza¸˜o; ca • Redes de Petri Controladas com e sem temporiza¸ao; c˜ • Cadeias de Markov; • Teoria das Filas;
  • 12. Sistemas a Eventos Discretos 12 • Processos Semi-Markovianos Generalizados (GSMP) e Simula¸ao; c˜ ´ • Algebra de Processos; ´ • Algebra Max-Plus; • L´gica Temporal e L´gica Temporal de Tempo Real; o o • Teoria de Linguagens e Autˆmatos (Ramadge-Wonham) o Dentre os modelos citados acima, dois apresentam uma caracter´ ıstica particular: s˜o a dotados de procedimentos de s´ ıntese de controladores; s˜o eles os modelos de Ramadge- a Wonham (temporizados ou n˜o), baseado na Teoria de Autˆmatos e/ou Linguagens, e o a o de Redes de Petri Controladas (temporizadas ou n˜o). Pela caracter´ a ısticas citada, estes modelos tˆm dado forte contribui¸ao ao desenvolvimento da teoria de Controle de SEDs. e c˜ Os demais modelos citados servem sobretudo ` an´lise de SEDs. a a De todo modo, nenhum dos modelos serve atualmente como paradigma. Os SEDs formam uma ´rea de pesquisa de intensa atividade e desafios. a 2.2 Exemplos de Sistemas a Eventos Discretos Nesta se¸ao descreveremos alguns exemplos de SEDs. Iniciaremos por um sistema c˜ simples que serve como “m´dulo base”na representa¸ao de muitos SEDs de interesse. o c˜ I. Sistemas de Filas: Os Sistemas de Filas tem origem no seguinte fato comum intr´ ınseco ` maioria dos sistemas que projetamos e desenvolvemos: o uso de certos recursos exige a espera. Os trˆs elementos b´sicos de um sistema de filas s˜o: e a a 1. As entidades que devem esperar pelo uso de recursos. Costuma-se denominar estas entidades de clientes. 2. Os recursos pelos quais se espera. Como em geral estes recursos fornecem alguma forma de servi¸o aos clientes, s˜o denominados servidores. c a 3. O espa¸o onde a espera se faz, denominado fila, ou em alguns casos, “buffers”. c S˜o exemplos de clientes: a
  • 13. Sistemas a Eventos Discretos 13 ˆ • pessoas (esperando num Banco ou Parada de Onibus); • mensagens transmitidas atrav´s de um canal de comunica¸ao; e c˜ • tarefas ou processos executados num sistema de computa¸ao; c˜ • pe¸as produzidas num sistema de manufatura; c • ve´ ıculos numa rede rodovi´ria. a Do mesmo modo, s˜o exemplos de servidores: a • pessoas (caixas de Banco ou Supermercado); • canais de comunica¸ao respons´veis pela transmiss˜o de mensagens; c˜ a a • processadores ou dispositivos perif´ricos em sistemas de computa¸ao; e c˜ • m´quinas usadas na manufatura; a • vias em um sistema de tr´fico. a Finalmente, s˜o exemplos de filas: a • filas de bancos, supermercados, paradas de ˆnibus, etc.; o • buffers de chamadas telefˆnicas ativas, ou processos execut´veis. o a A motiva¸˜o para o estudo de sistemas de filas est´ no fato de que em geral os re- ca a cursos n˜o s˜o ilimitados. Isto gera problemas na aloca¸˜o dos recursos e seus crit´rios a a ca e conflitantes associados como: satisfa¸ao das necessidades dos clientes; utiliza¸˜o eficiente c˜ ca dos recursos, redu¸˜o de custos. A figura 2.3 mostra um diagrama representativo de uma ca fila. Fila Servidor partidas chegadas de de clientes clientes Figura 2.3: Filas De modo a se especificar completamente as caracter´ ısticas de um sistema de filas deve-se ainda definir:
  • 14. Sistemas a Eventos Discretos 14 1. processo de servi¸o; c 2. capacidade da fila; 3. disciplina de atendimento. Visto como um SED, um sistema de filas tem Σ = {c, p} onde c ´ o evento chegada e de cliente e p o evento partida de cliente. Al´m disso, uma vari´vel de estado natural ´ e a e o n´mero de clientes na fila, ou, comprimento da fila (por conven¸ao, inclui o cliente em u c˜ servi¸o). Portanto c X = {0, 1, 2, ..., C + 1} onde C ´ a capacidade da fila. e Finalmente, os componentes de um sistema de filas como o descrito podem se conectar de diferentes formas, de modo a formar sistemas de redes de filas, onde os clientes fluem pelas filas e servidores da rede, de acordo com regras espec´ ıficas, como pode ser visto na figura 2.4. 2 1 3 4 5 Figura 2.4: Redes de Filas No exemplo, clientes deixando o servidor 1 devem seguir regras na escolha de uma das duas filas conectadas aos servidores 2 e 3; o servidor 1 deve adotar regras na sele¸ao de c˜ uma das duas filas de entrada para receber o pr´ximo cliente. o II. Sistemas de Computa¸˜o: Num Sistema de Computa¸˜o t´ ca ca ıpico, tarefas ou pro- cessos s˜o clientes competindo pela aten¸ao de servidores como os v´rios processadores a c˜ a ´ (CP U , impressoras, discos, ...). E muitas vezes conveniente representar tal sistema atrav´s e de um modelo de rede de fila como o da figura 2.5.
  • 15. Sistemas a Eventos Discretos 15 r1 d1 D1 a CP U chegada r2 d2 de D2 tarefas d partida de tarefas Figura 2.5: Sistema de Computa¸˜o ca No exemplo, tarefas chegam numa fila da CP U ; uma vez servidas, estas partem ou requerem acesso a um de dois discos, para ap´s retornar para mais um processamento o pela CP U . Tem-se: Σ = {a, d, r1 , r2 , d1 , d2 } onde a corresponde ` chegada de uma tarefa ao sistema; a d corresponde ` partida de uma tarefa do sistema; a r1 , r2 correspondem ` partida de tarefas da CP U , roteadas aos discos D1 e D2 respec- a tivamente; d1 , d2 correspondem ` partida de tarefas dos discos D1 e D2 , respectivamente, retor- a nando ` fila da CP U . a Uma poss´ representa¸ao para o estado deste sistema ´ ıvel c˜ e x = (xCP U , x1 , x2 ) correspondendo ao comprimento das trˆs filas na CP U , disco 1 e disco 2. e O espa¸o de estados do sistema ´ c e X = {(xCP U , x1 , x2 ) : xCP U , x1 , x2 ≥ 0} III. Sistemas de Comunica¸˜o: S˜o sistemas muitas vezes descritos por modelos de ca a filas com
  • 16. Sistemas a Eventos Discretos 16 • clientes: mensagens, chamadas; • servidores: meios (canais) de comunica¸˜o, equipamentos de chaveamento (redes ca telefˆnicas); o Caracter´ ıstica importante desses sistemas ´ a necessidade de mecanismos de controle e que garantam o acesso aos servidores de modo eficiente e coerente. Esses mecanismos s˜o a muitas vezes chamados de protocolos, e podem ser bastante complexos. A valida¸ao e/ou c˜ projeto de protocolos s˜o problemas interessantes de an´lise e s´ a a ıntese de controladores para SEDs. Por exemplo, considere o caso de dois usu´rios A e B e um canal comum M , de capacidade a 1 mensagem. O envio de duas mensagens (por A e B, p.e.) implica em sinal inintelig´ ıvel (colis˜o). a Os estados poss´ ıveis do sistema s˜o: a Para o canal M : I - vazio; T - transmitindo 1 mensagem; C - colis˜o; a Para cada usu´rio A ou B: I - repouso; T - transmitindo; W - aguardando com mensagem. a O espa¸o de estados pode ent˜o ser definido por c a X = {(xM , xA , xB ) : xM ∈ {I, T, C} e xA , xB ∈ {I, T, W }} e o conjunto de eventos que afetam o sistema ´ e Σ = {αA , αB , τA , τB , τM } onde αA , αB correspondem ` chegada de mensagem a ser transmitida por A e B, respecti- a vamente; τA , τB correspondem ao envio de mensagem ao canal M por A e B, respectivamente; τM corresponde ao t´rmino de uma transmiss˜o pelo canal (com 1 ou mais mensagens e a presentes). Dois problemas podem se configurar neste exemplo: 1. possibilidade de colis˜o; a
  • 17. Sistemas a Eventos Discretos 17 2. desconhecimento por cada usu´rio, do estado do outro usu´rio e/ou do estado do a a meio. Esses problemas podem ser modelados como um problema de Controle Descentraliza- do, ou controle com restri¸ao na estrutura de informa¸˜o. c˜ ca IV. Sistemas de Manufatura: S˜o tamb´m sistemas muitas vezes convenientemente a e descritos por modelos de filas. Em geral, tem-se: • clientes: pe¸as ou ´ c ıtens; “pallets”; • servidores: m´quinas; dispositivos de manuseio e transporte (robˆs, esteiras, ...); a o • filas: armaz´ns; “buffers”. e Considere por exemplo uma Linha de Transferˆncia com duas M´quinas e um Armaz´m e a e Intermedi´rio de capacidade 2, conforme ilustrado na figura 2.6. a partida chegada 1 2 de de pe¸as c pe¸as c Figura 2.6: Linha de Transferˆncia e Neste caso o conjunto de eventos que afetam o sistema pode ser descrito por Σ = {a, b, d2 } onde a corresponde ` chegada da pe¸a; a c b corresponde ao t´rmino de servi¸o pela m´quina 1 ; e c a d2 corresponde ` partida de pe¸a da m´quina 2. a c a Considera-se que se a m´quina termina um servi¸o e o armaz´m intermedi´rio est´ a c e a a cheio, esta entra em estado de bloqueio. O espa¸o de estados do sistema pode ser representado por c X = {(x1 , x2 ) : x1 ≥ 0, x2 ∈ {0, 1, 2, 3, B}}
  • 18. Sistemas a Eventos Discretos 18 onde x1 indica o estado do armaz´m de entrada da linha, e x2 o estado do armaz´m inter- e e medi´rio; o estado onde x2 = B indica a situa¸ao de bloqueio, ou seja aquele estado onde a c˜ o armaz´m intermedi´rio est´ cheio e a m´quina 1 tem uma pe¸a terminada esperando e a a a c para ser descarregada. O espa¸o de estados X pode ainda ser representado por c X = {(x1 , x2 ) : x1 ∈ {I, W, B}, x2 ∈ {I, W }} onde xi representa o estado da m´quina i, com x1 = B indicando a situa¸ao de bloqueio a c˜ do sistema. V. Sistemas de Tr´fego: Considere o exemplo da figura 2.7 que representa uma inter- a se¸˜o semaf´rica. Tem-se 4 tipos de ve´ ca o ıculos segundo a dire¸ao que os mesmos podem c˜ tomar. Assim, • (1, 2) : ve´ ıculos de 1 para 2; • (1, 3) : ve´ ıculos de 1 para 3; • (2, 3) : ve´ ıculos de 2 para 3; • (3, 2) : ve´ ıculos de 3 para 2. 3 1 2 Figura 2.7: Sistema de Tr´fego a Considera-se que o sinal verde libera os ve´ ıculos (2, 3) e (3, 2); e que o sinal vermelho libera os ve´ ıculos (1, 2) e (1, 3).
  • 19. Sistemas a Eventos Discretos 19 O conjunto de eventos que afetam o sistema ´ e Σ = {a12 , a13 , a23 , a32 , d12 , d13 , d23 , d32 , g, r} onde aij corresponde ` chegada de ve´ a ıculo tipo (i, j); dij corresponde ` partida de ve´ a ıculo tipo (i, j); g indica que o sinal torna-se verde; r indica que o sinal torna-se vermelho. O espa¸o de estados ´ c e X = {(x12 , x13 , x23 , x32 , y) : xij ≥ 0, y ∈ {G, R}} onde xij indica o n´mero de ve´ u ıculos do tipo (i, j) em fila; y indica o estado do sinal, verde (G) ou vermelho (R).
  • 20. Cap´ ıtulo 3 Um Problema Motivador Neste cap´ ıtulo ser´ apresentado informalmente o problema de s´ a ıntese de controladores para um SED, atrav´s de um exemplo de um sistema de manufatura. Pretende-se que este e problema seja um agente motivador para os conceitos e metodologias relativos ` Teoria a de Controle Supervis´rio que ser˜o abordados nos cap´ o a ıtulos subseq¨entes. u 3.1 Linha de Produ¸˜o de Cervejas ca Na linha de produ¸ao de uma f´brica de cervejas, existe uma esta¸˜o de envasilhamento c˜ a ca baseada numa esteira com pallets fixados a cada metro e quatro m´quinas dispostas a em s´rie de acordo com a figura 3.1. O funcionamento da esta¸ao de envasilhamento ´ e c˜ e comandado por um controlador l´gico program´vel (CLP) que garante o envasilhamento o a de cada garrafa conforme a seguinte seq¨ˆncia de passos: ue 1. o atuador avan¸a, depositando uma garrafa vazia em P1 ; c 2. a esteira avan¸a 1 metro; c 3. a bomba enche a garrafa de cerveja; 4. a esteira avan¸a 1 metro; c 5. a garrafa ´ tampada; e 6. a esteira avan¸a 1 metro; c
  • 21. Um Problema Motivador 21 7. o robˆ retira a garrafa da esteira. o Atuador Bomba Robˆ o Buffer de sa´ ıda Tampador Buffer de entrada Esteira Sinais de entrada Sinais de sa´ ıda CLP P1 P2 P3 P4 1m Figura 3.1: Esta¸ao de envasilhamento c˜ A esteira foi inicialmente projetada para operar em seq¨ˆncia apenas uma garrafa por ue vez, ou seja, o atuador s´ pode ser acionado novamente depois que o robˆ retirar a garrafa o o da esteira. Esta restri¸ao na l´gica de controle evita os problemas que podem ocorrer na c˜ o opera¸ao de m´ltiplas garrafas em paralelo. Entretanto, esse modo de funcionamento ´ c˜ u e muito pouco eficiente, visto que o atuador, a bomba, o tampador e o robˆ passam a maior o parte do tempo parados enquanto poderiam estar operando em paralelo. Um engenheiro de controle e automa¸ao industrial ´ contratado, ent˜o, para desenvolver uma l´gica c˜ e a o de controle que garanta uma maior eficiˆncia da esta¸˜o de envasilhamento. O t´cnico e ca e respons´vel pela manuten¸˜o da linha de produ¸˜o tem bastante pr´tica na programa¸˜o a ca ca a ca de CLPs. Ele se disp˜e a implementar o programa de controle caso lhe seja fornecida o a l´gica de funcionamento da esta¸ao, baseada nos sinais de entrada e sa´ do CLP o c˜ ıda apresentados a seguir. • α0 : comando que inicia um avan¸o de 1 metro da esteira; c • β0 : sinal de final de opera¸ao da esteira. (Uma vez iniciada a opera¸˜o, n˜o pode c˜ ca a ser evitado); • α1 : sinal de comando do atuador pneum´tico, de in´ de dep´sito de uma garrafa a ıcio o no pallet da esteira situado na posi¸ao P1 ; c˜ • β1 : sinal de final de opera¸ao do atuador pneum´tico. (Uma vez iniciada a opera¸˜o, c˜ a ca n˜o pode ser evitado); a • α2 : comando que inicia o enchimento da garrafa que estiver na posi¸˜o P2 ; ca
  • 22. Um Problema Motivador 22 • β2 : sinal de final de opera¸˜o da bomba autom´tica. (Uma vez iniciada a opera¸ao, ca a c˜ n˜o pode ser evitado); a • α3 : comando que come¸a a tampar uma garrafa situada na posi¸˜o P3 ; c ca • β3 : sinal de final de opera¸ao do tampador autom´tico. (Uma vez iniciada a ope- c˜ a ra¸ao, n˜o pode ser evitado); c˜ a • α4 : comando que inicia a retirada de uma garrafa do pallet da esteira situado na posi¸˜o P4 ; ca • β4 : Sinal de final de opera¸˜o do robˆ. (Uma vez iniciada a opera¸ao, n˜o pode ser ca o c˜ a evitado). O programa deve ser tal que o sistema em malha fechada obede¸a `s seguintes restri¸˜es c a co de coordena¸ao: c˜ 1. n˜o operar o atuador, a bomba, o tampador ou o robˆ enquanto a esteira estiver a o avan¸ando; c 2. n˜o sobrepor garrafas em P1 ; a 3. n˜o avan¸ar a esteira sem que as garrafas em P2 , P3 e P4 tenham sido enchidas, a c tampadas ou retiradas, respectivamente; 4. n˜o encher, tampar ou acionar o robˆ sem garrafas nas posi¸˜es P2 , P3 e P4 , respec- a o co tivamente; 5. n˜o encher ou tampar duas vezes a mesma garrafa; a 6. n˜o avan¸ar a esteira ` toa, ou seja, sem garrafa em alguma das posi¸˜es. a c a co O problema de controle que se coloca ao engenheiro pode ent˜o ser especificado como a segue: Problema 3.1 Seja a planta de engarrafamento de cervejas, composta de um atu- ador pneum´tico, uma esteira, uma bomba de cerveja, um tampador, e um robˆ; a o projetar uma l´gica de controle a ser implementada no CLP, de modo a permi- o tir ` esteira operar uma, duas, trˆs ou quatro garrafas em paralelo; garantindo que o a e
  • 23. Um Problema Motivador 23 comportamento do sistema controlado obede¸a a especifica¸˜o de funcionamento do c ca sistema, de forma a evitar os problemas que podem ocorrer na opera¸˜o de m´ltiplas ca u garrafas em paralelo, restringindo o sistema somente o necess´rio, e garantindo a uma produ¸˜o continuada de cervejas. ca 3.2 Considera¸˜es acerca da Resolu¸˜o do Problema co ca O problema 3.1 tal como colocado, suscita algumas observa¸oes. c˜ Primeiramente, se se deseja sintetizar uma l´gica de controle ´ necess´rio que se co- o e a nhe¸a as caracter´ c ısticas do sistema a controlar. Isto passa pela obten¸˜o de um modelo ca para a planta, que possa ser obtido de forma sistem´tica e que seja adequado ao problema a em quest˜o. Neste sentido conv´m observar que a planta ´ em geral, como no caso do a e e exemplo, composta de um conjunto de equipamentos ou sub-sistemas que devem trocar sinais com um elemento de controle de forma a que o comportamento coordenado des- tes equipamentos seja aquele desejado. A obten¸˜o de um modelo para o sistema global ca a ser controlado pode ent˜o ser pensado como uma composi¸˜o de modelos para seus a ca sub-sistemas. Do mesmo modo, a s´ ıntese de controle pressup˜e um modelo adequado para as es- o pecifica¸oes de comportamento. Estas especifica¸oes s˜o definidas por um conjunto de c˜ c˜ a restri¸˜es que determinam como deve ser a opera¸ao coordenada dos equipamentos. As- co c˜ sim como para a planta a controlar, pode-se pensar que o modelo da especifica¸˜o que ca define o comportamento global desejado para o sistema ´ o resultado da composi¸ao de e c˜ um conjunto de modelos para cada especifica¸˜o elementar definida sobre uma parte do ca sistema a controlar. Ainda, o problema 3.1 estabelece que a l´gica de controle deve ser ´tima, no senti- o o do de restringir o comportamento dos equipamentos que comp˜em a planta, somente o o necess´rio para que n˜o se violem as especifica¸˜es. Al´m disso se deseja que o controle a a co e n˜o leve o sistema a situa¸oes de bloqueio, ou seja, garanta o cumprimento de tarefas de a c˜ modo perene. Finalmente, espera-se que a lei de controle ´tima n˜o-bloqueante seja gerada automa- o a ticamente, ou seja, atrav´s de algoritmos bem definidos e que garantam as caracter´ e ısticas consideradas acima.
  • 24. Um Problema Motivador 24 O objetivo da teoria a ser desenvolvida nos cap´ ıtulos que seguem ´ resolver problemas e como o descrito acima. A coloca¸ao do problema justifica a metodologia a ser apresentada, c˜ como sendo composta das seguintes fases: 1. Obten¸ao de um modelo para a planta a ser controlada; c˜ 2. Obten¸ao de um modelo de representa¸˜o das especifica¸˜es a serem respeitadas; c˜ ca co 3. S´ntese de uma l´gica de controle n˜o bloqueante e ´tima. ı o a o Por ultimo, cabe observar que a natureza dos eventos envolvidos no problema des- ´ crito no exemplo ´ diversa. Enquanto uma parte destes eventos correspondem a sinais e de comando que podem ou n˜o serem ativados, uma outra parte dos eventos, por sua a natureza, n˜o podem ser evitados de ocorrer por qualquer a¸ao de controle quando o a c˜ estado da planta for tal que os habilite. Esta caracter´ ıstica dos SEDs ´ fundamental no e desenvolvimento da metodologia a ser apresentada. 3.3 Conclus˜o a Este cap´ ıtulo apresentou de maneira informal, atrav´s de um exemplo de aplica¸˜o, o e ca tipo de problema a ser tratado neste documento. Os cap´ ıtulos que seguem apresentar˜o a as bases conceituais da Teoria de Controle de Sistemas a Eventos Discretos.
  • 25. Cap´ ıtulo 4 Linguagens como modelos para SEDs Neste cap´ ıtulo ser˜o introduzidos os elementos b´sicos da teoria de linguagens e ser´ a a a mostrado como o comportamento l´gico de um SED pode ser modelado a partir de lin- o guagens. 4.1 Nota¸˜o e defini¸˜es b´sicas ca co a Uma linguagem L definida sobre um alfabeto Σ, ´ um conjunto de cadeias formadas e por s´ ımbolos pertencentes a Σ. Exemplo 4.1 Considere o alfabeto Σ = {α, β, γ}. Alguns exemplos de linguagens sobre Σ s˜o: a • L1 = {β, α, αββ} • L2 = {Todas as poss´veis cadeias formadas com 3 eventos iniciados pelo evento α} ı O conjunto de todas as poss´ ıveis cadeias finitas compostas com elementos de Σ ´ e denotado Σ∗ , incluindo a cadeia vazia, denotada por ε. Assim, uma linguagem sobre Σ ´ sempre um subconjunto (n˜o necessariamente pr´prio) de Σ∗ . Em particular ∅, Σ e Σ∗ e a o s˜o linguagens. a Se tuv = s, com t, u, v ∈ Σ∗ , ent˜o: a
  • 26. Linguagens como modelos para SEDs 26 • t ´ chamado prefixo de s e • u ´ chamada uma subcadeia de s e • v ´ chamado sufixo de s e 4.2 Opera¸oes sobre linguagens c˜ Algumas opera¸˜es podem ser executadas sobre linguagens. Algumas s˜o usuais, como co a as opera¸oes sobre conjuntos; trˆs outras opera¸oes ser˜o aqu´ adicionadas. c˜ e c˜ a ı 1. Concatena¸˜o: Sejam duas linguagens L1 , L2 ⊆ Σ∗ , ent˜o a concatena¸˜o de L1 e ca a ca L2 , denotado L1 L2 , ´ definida por e L1 L2 := {s ∈ Σ∗ : (s = s1 s2 ) e (s1 ∈ L1 ) e (s2 ∈ L2 )} Em palavras, uma cadeia est´ em L1 L2 se ela pode ser escrita como a concatena¸˜o a ca de uma cadeia de L1 com uma cadeia de L2 . 2. Prefixo-Fechamento: Seja uma linguagem L ∈ Σ∗ , ent˜o, o prefixo-fechamento de a L, denotado por L, ´ definido por e L := {s ∈ Σ∗ : ∃t ∈ Σ∗ (st ∈ L)} Em palavras, L consiste de todas as cadeias de Σ∗ que s˜o prefixos de L. Em a geral, L ⊆ L. L ´ dita prefixo-fechada se L = L. Uma linguagem L ´ prefixo- e e fechada se qualquer prefixo de qualquer cadeia de L ´ tamb´m uma cadeia de L. e e Como veremos mais tarde linguagens geradas por sistemas f´ ısicos s˜o exemplos de a linguagens prefixo-fechadas. 3. Fechamento-Kleene: Seja uma linguagem L ⊆ Σ∗ , ent˜o o fechamento Kleene de L, a denotado por L∗ ´ definido por e L∗ := {ε} ∪ L ∪ LL ∪ LLL ∪ · · · Uma cadeia de L∗ ´ formada pela concatena¸˜o de um n´mero finito de cadeias de e ca u L, incluindo a cadeia vazia ε.
  • 27. Linguagens como modelos para SEDs 27 Exemplo 4.2 Considere o alfabeto Σ = {α, β, γ}, e as linguagens L1 = {ε, α, αββ} e L2 = {γ} definidas sobre Σ. Observe que tanto L1 como L2 n˜o s˜o prefixo-fechadas, pois a a αβ ∈ L1 e ε ∈ L2 . Ent˜o: a • L1 L2 = {γ, αγ, αββγ} • L1 = {ε, α, αβ, αββ} • L2 = {ε, γ} • L1 L2 = {ε, α, αββ, γ, αγ, αββγ} • L∗ = {ε, γ, γγ, γγγ, · · ·} 2 As seguintes observa¸oes s˜o verdadeiras: c˜ a 1. ε ∈ ∅; 2. {ε} ´ uma linguagem n˜o vazia contendo somente a cadeia vazia. Veremos mais e a tarde que esta linguagem pode representar a situa¸˜o de um sistema bloqueado em ca seu estado inicial; 3. Se L = ∅ ent˜o L = ∅, e se L = ∅ ent˜o necessariamente ε ∈ L; a a 4. ∅∗ = {ε} e {ε}∗ = {ε}. 4.3 Representa¸˜o de SEDs por linguagens ca O comportamento de um sistema a eventos discretos (SED) pode ser descrito atrav´s e de um par de linguagens. Para isto considera-se um alfabeto Σ como correspondendo ao conjunto de eventos que afetam o sistema. A evolu¸ao seq¨encial do SED, ou seu c˜ u comportamento l´gico, pode ent˜o ser modelado atrav´s de uma dupla D = (L, Lm ). o a e No modelo D, L ⊆ Σ∗ ´ a linguagem que descreve o comportamento gerado pelo siste- e ma, ou seja, o conjunto de todas as cadeias de eventos fisicamente poss´ ıveis de ocorrerem no sistema. Por sua vez Lm ⊆ L ´ a linguagem que descreve o comportamento marcado e do sistema, ou seja, o conjunto de cadeias em L que correspondem a tarefas completas que o sistema pode realizar.
  • 28. Linguagens como modelos para SEDs 28 Considerando a evolu¸ao seq¨encial de um Sistema a Eventos Discretos e um alfabeto c˜ u Σ correspondendo ao conjunto de eventos que afetam o sistema, pode-se afirmar que para que um sistema produza uma cadeia qualquer w, ent˜o o mesmo deve ter produzido ante- a riormente todos os seus prefixos. Portanto, o comportamento gerado de qualquer sistema a eventos discretos em que n˜o ocorram eventos simultˆneos, pode ser representado por a a uma linguagem prefixo fechada. As observa¸oes acima podem ser sintetizadas formalmente nas seguintes propriedades c˜ de linguagens L e Lm que representam um SED: 1. L ⊃ Lm , ou seja, o comportamento gerado cont´m o comportamento marcado de e um SED; 2. L = L, ou seja, o comportamento gerado de um SED ´ prefixo-fechado. e Exemplo 4.3 Como exemplo, considere o problema motivador 3.1 da Linha de Produ¸˜o ca de Cervejas. Se se considera isoladamente a Esteira, pode-se identificar Σ = {α0 , β0 } como o conjunto de eventos associados ao equipamento. Neste caso a linguagem L que corresponde ao comportamento gerado pela Esteira consiste de todas as sequˆncias de e eventos que alternam os dois eventos considerados, iniciando com α0 e finalizando com α0 ou β0 . Observe que ε ∈ L correspondendo ` situa¸˜o da esteira em seu estado inicial. a ca Por outro lado, se se considera como tarefa completa da esteira as cadeias que a levam ao estado de repouso, pode-se afirmar que Lm consiste de todas as cadeias de L que terminam com β0 , acrescida da cadeia ε. Assim, L = {ε, α0 , α0 β0 , α0 β0 α0 , α0 β0 α0 β0 , α0 β0 α0 β0 α0 , ...} e Lm = {ε, α0 β0 , α0 β0 α0 β0 , α0 β0 α0 β0 α0 β0 , ...} Exerc´ ıcio 4.1 Considere o robˆ da figura 4.1. Este robˆ est´ inserido em um sistema o o a de manufatura onde deve realizar as tarefas de retirar pe¸as de uma esteira de entrada c (evento b) e coloc´-las em um de dois poss´ a ıveis armaz´ns de sa´ (eventos c1 e c2 ). e ıda Considerando o robˆ como um SED, descreva as linguagens L e Lm do robˆ. o o Quest˜o para reflex˜o: Dado um SED = (L, Lm ) ´ sempre verdade que Lm = L? Se a a e sim justifique, caso contr´rio dˆ um contra-exemplo. Observe que a igualdade se verifica a e no caso do exemplo da esteira.
  • 29. Linguagens como modelos para SEDs 29 c1 a b c2 Figura 4.1: Sistema robˆ-esteira o 4.4 Express˜es Regulares o Como vimos acima, uma linguagem pode ser vista como uma maneira formal de des- crever o comportamento de um SED. Ela pode especificar todas as poss´ ıveis seq¨ˆncias ue de eventos que um SED pode gerar (L) ou o conjunto de tarefas que o sistema pode completar (Lm ). No entanto, a descri¸ao de uma linguagem como vista at´ agora, feita c˜ e pela sua descri¸ao em “linguagem natural”ou pela enumera¸˜o das cadeias que a definem, c˜ ca pode ser uma tarefa pouco pr´tica. Seria conveniente que se pudesse dispor de uma forma a de representa¸ao de linguagens que seja simples, concisa, clara e sem ambig¨idade. Em c˜ u outras palavras, ´ necess´rio utilizar estruturas compactas que possam representar estas e a linguagens. Neste documento ser˜o apresentadas duas estruturas: as express˜es regulares a o e os autˆmatos. Consideremos inicialmente as express˜es regulares. o o Para um alfabeto Σ dado, define-se recursivamente uma express˜o regular da seguinte a maneira: 1. (a) ∅ ´ uma express˜o regular que representa a linguagem vazia, e a (b) ε ´ uma express˜o regular denotando a linguagem {ε}, e a (c) σ ´ uma express˜o regular denotando {σ} ∀e ∈ Σ; e a 2. Se r e s s˜o express˜es regulares ent˜o rs, r∗ , s∗ , (r + s) s˜o express˜es regulares; a o a a o 3. Toda express˜o regular ´ obtida pela aplica¸ao das regras 1 e 2 um n´mero finito a e c˜ u de vezes. Express˜es regulares fornecem um meio de descri¸˜o de linguagens. o ca Exemplo 4.4 Como ilustra¸˜o, considerando o alfabeto Σ1 = {a, b, g}, s˜o exemplos de ca a express˜es regulares: o
  • 30. Linguagens como modelos para SEDs 30 • (a + b)g ∗ , que representa a linguagem L = {todas as cadeias que come¸am com a c ou b e s˜o seguidas por um n´mero qualquer de g s}; a u • (ab)∗ +g, que representa a linguagem L = {todas as cadeias formadas por um n´mero u qualquer de ab s ou uma ocorrˆncia do elemento g} e Exemplo 4.5 Se se retoma o exemplo da esteira da linha de produ¸˜o de cervejas, L e ca Lm podem ser reescritos atrav´s de suas representa¸˜es em express˜es regulares respecti- e co o vamente como L = (α0 β0 )∗ (ε + α0 ) Lm = (α0 β0 )∗ Exemplo 4.6 Considere ainda como exemplo, um alfabeto Σ = {a, b}, composto por s´mbolos que representam eventos que correspondam ao acesso de duas tarefas diferentes ı a um mesmo recurso, por exemplo um processador. Pode-se encontrar express˜es que re- o presentam uma restri¸˜o sobre o uso deste processador pelas tarefas. Deseja-se encontrar ca restri¸˜es que expressem justi¸a no uso do processador pelas tarefas. Poss´ co c ıveis express˜es o regulares para a especifica¸˜o de justi¸a no uso do recurso s˜o: ca c a • A1 = (ab)∗ , expressa alternˆncia no uso do recurso, por´m privilegia o acesso a, no a e sentido de garantir a como primeiro acesso ao recurso; • A2 = (a + b)∗ , n˜o expressa justi¸a pois permite acesso irrestrito ao recurso; a c • A3 = (ab)∗ + (ba)∗ , expressa alternˆncia, sem prioriza¸˜o no primeiro acesso. a ca ıcio 4.2 Para o exemplo de acesso a um recurso comum, existe uma restri¸˜o que Exerc´ ca expressa justi¸a de modo mais inteligente, ou seja, garante que em nenhum momento c alguma tarefa fa¸a mais do que 1 acesso a mais do que a outra. Encontre uma express˜o c a regular para exprimir esta restri¸˜o de justi¸a. ca c Exerc´ ıcio 4.3 Encontre express˜es regulares que representem as linguagens encontradas o no problema do robˆ da figura 4.1. o Quest˜o para reflex˜o: Toda linguagem ´ represent´vel por uma express˜o regular ? a a e a a
  • 31. Linguagens como modelos para SEDs 31 4.5 Conclus˜o a Neste cap´ ıtulo foram introduzidos conceitos relativos ` teoria de linguagens e como se a pode utilizar linguagens como meio de representar um SED. Neste sentido o modelo de representa¸˜o de SEDs por Linguagens pode ser visto como um modelo comportamental ca externo do sistema uma vez que se baseia na descri¸ao de suas trajet´rias (sequˆncias c˜ o e de eventos). Entretanto, a representa¸ao atrav´s de linguagens e express˜es regulares ´ c˜ e o e limitada computacionalmente. Para resolver este problema utiliza-se a representa¸ao de c˜ SEDs atrav´s de autˆmatos. Este far´ objeto do pr´ximo cap´ e o a o ıtulo.
  • 32. Cap´ ıtulo 5 Autˆmatos como modelos para SEDs o Neste cap´ ıtulo ser˜o introduzidos os principais conceitos relacionados aos autˆmatos a o de estados finitos. Ser˜o estabelecidas rela¸˜es entre os autˆmatos e as linguagens e ser´ a co o a considerada a quest˜o de representa¸˜o de um SED atrav´s de modelos de autˆmatos. a ca e o 5.1 Autˆmatos Determin´ o ısticos de Estados Finitos Um autˆmato determin´ o ıstico de estados finitos (ADEF) ´ uma qu´ e ıntupla G = (X, Σ, f, x0 , Xm ), onde: • X ´ o conjunto finito de estados do autˆmato; e o • Σ ´ o conjunto de s´ e ımbolos (eventos) que definem o alfabeto; • f : X × Σ → X ´ a fun¸ao de transi¸˜o, possivelmente parcial, ou seja, n˜o h´ e c˜ ca a a necessidade da fun¸ao ser definida para todo elemento de Σ em cada estado de X; c˜ • x0 ´ o estado inicial do autˆmato; e o • Xm ´ o conjunto de estados marcados ou finais, Xm ⊆ X. e Um autˆmato pode ser representado graficamente como um grafo dirigido, onde os n´s o o representam os estados e os arcos etiquetados representam as transi¸˜es entre os estados. co O estado inicial ´ identificado atrav´s de uma seta apontando para ele e os estados finais e e s˜o representados com c´ a ırculos duplos.
  • 33. Autˆmatos como modelos para SEDs o 33 Exemplo 5.1 A figura 5.1 ´ um exemplo de um autˆmato determin´ e o ıstico, cuja descri¸˜o ca formal correspondente ´ a seguinte: e • X = {x, y, z} • Σ = {a, b, g} • A fun¸˜o de transi¸˜o do exemplo ´: f (x, a) = x, f (x, g) = z, f (y, a) = x, f (y, b) = ca ca e y, f (z, b) = z e f (z, a) = f (z, g) = y • x0 = {x} • Xm = {x, z} a a y b x g a, g z b Figura 5.1: Autˆmato determin´ o ıstico Nota¸ao: ΣG (x) denota o conjunto ativo de eventos num estado x ∈ X, ou seja c˜ ΣG (x) = {σ ∈ Σ : f (x, σ) ´ definida }. e No exemplo da figura 5.1, ΣG (x) = {a, g}, Σ(y) = {a, b} e ΣG (z) = {a, b, g}. O autˆmato G pode ser visto como um dispositivo que opera como segue. Inicia a o partir do estado inicial x0 e l´ permanece at´ a ocorrˆncia de um evento σ ∈ ΣG (x0 ) ⊆ Σ a e e que disparar´ a transi¸˜o f (x0 , σ) ∈ X. Este processo continua baseado nas transi¸oes a ca c˜ definidas em f . A fun¸ao f pode ser estendida do dom´ c˜ ınio X × Σ∗ , operando ınio X × Σ para o dom´ sobre cadeias, da seguinte maneira: ˆ f (x, ε) := x ˆ f (x, σ) := f (x, σ), σ ∈ Σ ˆ ˆ f (x, sσ) := f (f (x, s), σ) para s ∈ Σ∗ e σ ∈ Σ.
  • 34. Autˆmatos como modelos para SEDs o 34 ca ca ˆ Exemplo 5.2 Aplicando a defini¸˜o da fun¸˜o de transi¸˜o estendida, f , ao autˆmato ca o da figura 5.1, tem-se o seguinte resultado: ˆ f (y, ε) =y ˆ ˆ ˆ f (x, gba) = f (f (x, gb), a) = f (f (f (x, g), b), a) = f (f (z, b), a) = f (z, a) = y 5.2 Linguagens representadas por autˆmatos o Um autˆmato G est´ associado a duas linguagens, a linguagem gerada L(G) e a o a linguagem marcada Lm (G). A linguagem gerada por G = (X, Σ, f, x0 , Xm ) ´: e ˆ L(G) := {s ∈ Σ∗ : f (x0 , s) ´ definida}. e A linguagem marcada de G ´: e ˆ Lm (G) := {s ∈ L(G) : f (x0 , s) ∈ Xm }. Em palavras, a linguagem L(G) representa todas cadeias que podem ser seguidas no autˆmato, partindo do estado inicial. A linguagem Lm (G) considera todas as cadeias que o partindo do estado inicial chegam a um estado marcado. Um SED pode ser modelado por um autˆmato G, onde L(G) ´ o comportamento ge- o e rado pelo sistema e Lm (G) ´ o comportamento marcado ou conjunto de tarefas completas e do sistema. Exerc´ ıcio 5.1 Construa um autˆmato G tal que L(G) e Lm (G) correspondam aos com- o portamentos gerado e marcado do robˆ da figura 4.1. o Exemplo 5.3 A linguagem gerada do autˆmato da figura 5.2 ´ o e L(G) = [b∗ aa∗ b]∗ (ε + b∗ aa∗ ) e sua linguagem marcada ´ e Lm (G) = [b∗ aa∗ b]∗ b∗ aa∗ .
  • 35. Autˆmatos como modelos para SEDs o 35 b a b 0 1 a Figura 5.2: Exemplo de autˆmato o 5.3 Linguagens Regulares e Autˆmatos de Estados o Finitos Iniciaremos esta se¸˜o retomando a quest˜o deixada como reflex˜o, apresentada ao ca a a final da se¸ao 4.4, ou seja, “Toda linguagem ´ represent´vel por uma express˜o regular?”. c˜ e a a Para responder a esta quest˜o consideremos o seguinte exemplo: a Exemplo 5.4 O exemplo a ser analisado ´ o de uma fila de capacidade infinita. Clientes e chegam e ficam na fila aguardando para usar o servidor. A figura 5.3 ilustra o proble- ma. Como no exemplo I introduzido na se¸˜o 2.2, considera-se o conjunto de eventos ca Σ = {c, p} onde c corresponde ` chegada de cliente e p ` partida de cliente do sistema. a a c p S Figura 5.3: Problema fila infinita A linguagem que corresponde ao comportamento gerado pelo sistema fila infinita ´ e L = {cadeias tais que quaisquer de seus prefixos n˜o contenham mais p’s do que c’s} a Considerando como tarefas completas neste sistema de filas, as cadeias de eventos que deixam a fila vazia, pode-se observar que Lm = {cadeias tais que o n´mero de c’s ´ igual ao n´mero de p’s e tais que quaisquer de u e u seus prefixos n˜o contenham mais p’s do que c’s} a O desafio de encontrar uma express˜o regular para a linguagem descrita no exemplo a da fila infinita ´ intranspon´ e ıvel, ou seja, n˜o existe tal express˜o. De fato, o conjunto de a a linguagens para as quais existem express˜es regulares que as representem constitui um o conjunto particular de linguagens denominadas Linguagens Regulares. Por outro lado, se se procura encontrar um autˆmato que tenha as linguagens L e o Lm , respectivamente como linguagens gerada e marcada, n˜o existe solu¸˜o no dom´ a ca ınio
  • 36. Autˆmatos como modelos para SEDs o 36 dos autˆmatos de estados finitos. A figura 5.4 mostra um autˆmato que representa o o o comportamento da fila infinita. c c c c ...... p p p p Figura 5.4: Autˆmato fila infinita o ´ E poss´ perceber que o n´mero de estados do autˆmato ´ infinito. De fato, o teorema ıvel u o e a seguir estabelece uma rela¸ao entre o conjunto das Linguagens Regulares e o conjunto c˜ de Autˆmatos de Estados Finitos. o Teorema 5.1 (Teorema de Kleene) Se L ´ regular, existe um autˆmato G com e o n´mero finito de estados tal que Lm (G) = L. Se G tem um n´mero finito de estados, u u ent˜o Lm (G) ´ regular. a e Uma quest˜o que se pode colocar ´ a seguinte: Seja G um autˆmato com n´mero a e o u infinito de estados, ´ sempre verdade que Lm (G) ´ n˜o regular? A resposta a esta pergunta e e a ´ n˜o, pois pode existir um autˆmato finito que possua a mesma linguagem marcada que e a o o autˆmato infinito dado. o A observa¸˜o acima mostra que, em geral, para uma dada linguagem regular L, n˜o ca a existe um unico autˆmato G tal que Lm (G) = L. ´ o Autˆmatos G1 e G2 para os quais L(G1 ) = L(G2 ) e Lm (G1 ) = Lm (G2 ) s˜o ditos serem o a autˆmatos equivalentes. o Por outro lado, dois autˆmatos s˜o ditos serem isomorfos quando G1 = G2 , a menos o a de uma renomea¸˜o de estados. ca 5.4 Acessibilidade e co-acessibilidade de um ADEF De forma geral, um ADEF G = (X, Σ, f, x0 , Xm ) pode ter estados inacess´ ıveis, isto ´, e estados que jamais podem ser alcan¸ados a partir do estado inicial. c Formalmente, um estado x ∈ X ´ dito ser acess´ se x = f (x0 , u) para algum u ∈ Σ∗ . e ıvel G ´ dito ser acess´vel se x ´ acess´ para todo x ∈ X. e ı e ıvel
  • 37. Autˆmatos como modelos para SEDs o 37 A componente acess´ ıvel, Gac , de um autˆmato G ´ obtida pela elimina¸ao de seus o e c˜ estados n˜o acess´ a ıveis e das transi¸oes associadas a eles. c˜ • Gac = (Xac , Σ, fac , x0 , Xmac ) • Xac ´ o conjunto de estados acess´ e ıveis de G • fac : f | Σ × Xac • Xmac : Xac ∩ Xm Se o autˆmato ´ acess´ ent˜o G = Gac . o e ıvel a Por outro lado G ´ dito ser co-acess´vel, ou n˜o bloqueante, se cada cadeia u ∈ L(G) e ı a pode ser completada por algum w ∈ Σ∗ tal que uw ∈ Lm (G), ou seja se cada cadeia u ∈ L(G) for um prefixo de uma cadeia em Lm (G). Em outras palavras, um ADEF ´ co-acess´ e ıvel se, a partir de qualquer um de seus estados, existir ao menos um caminho que leve a um estado marcado. A condi¸ao de co-acessibilidade de um ADEF pode ainda ser descrita pela equa¸˜o. c˜ ca L(G) = Lm (G) (5.1) Assim como existe a componente acess´ ıvel ´ poss´ e ıvel identificar a componente co- acess´ ıvel, Gco , de G, pela elimina¸ao de estados n˜o co-acess´ c˜ a ıveis (estados alcan¸ados por c cadeias que n˜o podem ser completadas em tarefas) e transi¸oes associadas. a c˜ Quando um autˆmato ´ acess´ e co-acess´ ele ´ dito ser trim. o e ıvel ıvel e 5.5 Bloqueio num SED A equa¸˜o (5.1) permite definir a id´ia de ausˆncia de bloqueio num sistema a eventos ca e e discretos. Um sistema a eventos discretos com comportamento L(G) e Lm (G) ´ dito ser n˜o e a bloqueante, sse satisfaz as condi¸oes da equa¸ao (5.1), isto ´, L(G) = Lm (G). c˜ c˜ e
  • 38. Autˆmatos como modelos para SEDs o 38 Por outro lado um SED descrito por um autˆmato G que n˜o satisfaz as condi¸oes o a c˜ da equa¸ao (5.1) ser´ bloqueante. A condi¸˜o de bloqueio (L(G) = Lm (G)) corresponde c˜ a ca ` existˆncia de cadeia(s) geradas pelo sistema (u ∈ L(G)), a partir da(s) qual(is) n˜o se a e a pode completar alguma tarefa no sistema (u ∈ Lm (G)). / Exemplo 5.5 O gerador da Figura 5.5 modela um SED n˜o bloqueante. De fato a L(G) = ε + α + β + αα(βα)∗ (ε + β) Lm (G) = α + β + αα(βα)∗ β Lm (G) = ε + α + β + αα(βα)∗ (ε + β) = L(G) β G: α 1 2 3 α α 0 β 4 Figura 5.5: SED n˜o bloqueante. a Observe que este exemplo satisfaz a condi¸˜o de SED n˜o bloqueante (L(G) = Lm (G)) ca a ainda que ap´s o estado 4 nenhum evento esteja habilitado. De fato, o estado 4 corres- o ponde a uma tarefa completa do sistema, o que caracteriza o n˜o bloqueio. Este exemplo a coloca em evidˆncia a diferen¸a entre a condi¸˜o de bloqueio aqui definida e a condi¸˜o e c ca ca conhecida como “deadlock”. o ´ Exemplo 5.6 Observe agora o autˆmato da figura 5.6. E poss´ ıvel perceber que neste autˆmato existem estados n˜o-coacess´veis. De fato, a partir dos estados 3, 4 ou 5, o o a ı sistema n˜o pode completar nenhuma tarefa, caracterizando a situa¸˜o de bloqueio. Tal a ca situa¸ao indica que o sistema est´ em “deadlock”(estado 5) ou “livelock”(estados 3 e 4). c˜ a g 1 5 a g 0 b a b 4 g 2 3 a Figura 5.6: SED com bloqueio