´                        ¸˜   V Simposio Brasileiro de Automacao InteligenteTeoria de Controle Supervis´rio               ...
Agradecimentos    Esta apostila foi elaborada a partir da minha experiˆncia como professor,                               ...
Sum´rio   a1 Introdu¸˜o         ca                                                                                 72 Sist...
Sum´rio   a                                                                                         46 Controle Supervis´r...
Lista de Figuras 2.1   Trajet´ria t´             o     ıpica de um sistema a eventos discretos . . . . . . . . . . . . . 1...
Lista de Figuras                                                                               6   6.1   SED em malha fech...
Cap´   ıtulo 1Introdu¸˜o       ca   A tecnologia moderna tem produzido, em escala crescente, sistemas com a finalidadede ex...
Introdu¸˜o        ca                                                                               8Linguagens e de Autˆma...
Cap´   ıtulo 2Sistemas a Eventos Discretos2.1     Defini¸˜o e Caracter´             ca            ısticas   De um modo gera...
Sistemas a Eventos Discretos                                                             10irregulares e desconhecidos.   ...
Sistemas a Eventos Discretos                                                              11                         x(t) ...
Sistemas a Eventos Discretos                                                       12   • Processos Semi-Markovianos Gener...
Sistemas a Eventos Discretos                                                          13                                  ...
Sistemas a Eventos Discretos                                                             14  1. processo de servi¸o;      ...
Sistemas a Eventos Discretos                                                           15                                 ...
Sistemas a Eventos Discretos                                                       16   • clientes: mensagens, chamadas;  ...
Sistemas a Eventos Discretos                                                              17  2. desconhecimento por cada ...
Sistemas a Eventos Discretos                                                            18onde x1 indica o estado do armaz...
Sistemas a Eventos Discretos                                                        19   O conjunto de eventos que afetam ...
Cap´   ıtulo 3Um Problema Motivador   Neste cap´            ıtulo ser´ apresentado informalmente o problema de s´         ...
Um Problema Motivador                                                                   21   7. o robˆ retira a garrafa da...
Um Problema Motivador                                                                 22   • β2 : sinal de final de opera¸˜...
Um Problema Motivador                                                               23comportamento do sistema controlado ...
Um Problema Motivador                                                               24   O objetivo da teoria a ser desenv...
Cap´   ıtulo 4Linguagens como modelos para SEDs   Neste cap´            ıtulo ser˜o introduzidos os elementos b´sicos da t...
Linguagens como modelos para SEDs                                                  26   • t ´ chamado prefixo de s       e ...
Linguagens como modelos para SEDs                                                   27Exemplo 4.2 Considere o alfabeto Σ =...
Linguagens como modelos para SEDs                                                     28     Considerando a evolu¸ao seq¨e...
Linguagens como modelos para SEDs                                                        29                               ...
Linguagens como modelos para SEDs                                                     30   • (a + b)g ∗ , que representa a...
Linguagens como modelos para SEDs                                                    314.5     Conclus˜o               a  ...
Cap´   ıtulo 5Autˆmatos como modelos para SEDs   o   Neste cap´            ıtulo ser˜o introduzidos os principais conceito...
Autˆmatos como modelos para SEDs    o                                                                                     ...
Autˆmatos como modelos para SEDs    o                                                                                     ...
Autˆmatos como modelos para SEDs    o                                                                                  35 ...
Autˆmatos como modelos para SEDs    o                                                                                 36do...
Autˆmatos como modelos para SEDs    o                                                                                   37...
Autˆmatos como modelos para SEDs    o                                                                                     ...
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Teoria de controle supervis rio
Próximos SlideShares
Carregando em…5
×

Teoria de controle supervis rio

959 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Teoria de controle supervis rio

  1. 1. ´ ¸˜ V Simposio Brasileiro de Automacao InteligenteTeoria de Controle Supervis´rio ode 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. 2. Agradecimentos Esta apostila foi elaborada a partir da minha experiˆncia como professor, eorientador e pesquisador na ´rea de Sistemas a Eventos Discretos e Sistemas aH´ ıbridos, nos ultimos dez anos, inicialmente no Departamento de Engenha- ´ria El´trica e mais recentemente no Departamento de Automa¸˜o e Sistemas e cada Universidade Federal de Santa Catarina. Ela n˜o poderia ter sido reali- azada sem o apoio direto ou indireto de todos os meus alunos de Gradua¸˜o e caP´s Gradua¸˜o e orientados de Mestrado e Doutorado. Partes do documento o cadevem 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 aem 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. 3. Sum´rio a1 Introdu¸˜o ca 72 Sistemas a Eventos Discretos 9 2.1 Defini¸ao e Caracter´ c˜ ısticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Exemplos de Sistemas a Eventos Discretos . . . . . . . . . . . . . . . . . . 123 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 a4 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 a5 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. 4. Sum´rio a 46 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 a7 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 a8 Conclus˜o a 69 8.1 Referˆncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 eA 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 ca9 Referˆncias Bibliogr´ficas e a 71
  5. 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. 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. 7. Cap´ ıtulo 1Introdu¸˜o ca A tecnologia moderna tem produzido, em escala crescente, sistemas com a finalidadede executar tarefas que, seja pela importˆncia que adquirem em seu contexto, seja por asua complexidade e seu custo, justificam o esfor¸o despendido na sua otimiza¸˜o e auto- c cama¸˜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˜ credes 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 epela qual percebem as ocorrˆncias no ambiente ` sua volta, o que se d´ pela recep¸˜o de e a a caest´ ımulos, denominados eventos. S˜o exemplos de eventos o in´ e o t´rmino de uma a ıcio etarefa e a percep¸˜o de uma mudan¸a de estado em um sensor. Estes eventos s˜o, por sua ca c anatureza, instantˆneos, o que lhes confere um car´ter discreto no tempo. Sistemas com a aestas caracter´ ısticas s˜o denominados sistemas a eventos discretos (SED), em oposi¸˜o aos a casistema de vari´veis cont´ a ınuas, tratados pela Teoria de Controle cl´ssica. A natureza dis- acreta dos SEDs faz com que os modelos matem´ticos convencionais, baseados em equa¸˜es a codiferenciais, n˜o sejam adequados para trat´-los. Por outro lado, a sua importˆncia faz a a acom que seja altamente desej´vel encontrar solu¸˜es para problemas relacionados ao seu a cocontrole. Em raz˜o disso, existe uma intensa atividade de pesquisa voltada ` busca de a amodelos matem´ticos adequados ` sua representa¸˜o, sem que se tenha conseguido at´ a a ca eagora encontrar um modelo que seja matematicamente t˜o conciso e computacionalmente at˜o adequado como o s˜o as equa¸oes diferenciais para os sistemas dinˆmicos de vari´veis a a c˜ a acont´ ınuas. N˜o existe, por isso, consenso sobre qual seja o melhor modelo. Dentre os amodelos existentes, destaca-se o proposto por Ramadge e Wonham, baseado em Teoria de
  8. 8. Introdu¸˜o ca 8Linguagens 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 eposs´ do sistema, isto ´, todas as a¸oes que este ´ capaz de executar na ausˆncia de ıvel e c˜ e equalquer 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 efatura 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 umchoque 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 confinare a caseu 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 capode 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 aconceitos b´sicos da Teoria de Controle Supervis´rio, como introduzida por Ramadge e a oWonham. Os conceitos de base da teoria de Linguagens e Autˆmatos ser˜o apresentados, o abem como os principais resultados b´sicos de s´ a ıntese de supervisores para SEDs. A formade apresenta¸ao procurar´ se adaptar a um curso que possa ser facilmente assimilado por c˜ aalunos em n´ de Gradua¸˜o em cursos de Engenharia ou Ciˆncias de Computa¸ao. ıvel ca e c˜
  9. 9. Cap´ ıtulo 2Sistemas a Eventos Discretos2.1 Defini¸˜o e Caracter´ ca ısticas De um modo geral, um sistema ´ uma parte limitada do Universo que interage com o emundo externo atrav´s das fronteiras que o delimitam. Este conceito se aplica tamb´m e eaos sistemas tratados no presente documento, que apresentam ainda as caracter´ ısticasdescritas a seguir. Os sistemas de interesse percebem as ocorrˆncias no mundo externo eatrav´s da recep¸ao de est´ e c˜ ımulos, denominados eventos. S˜o exemplos de eventos o in´ a ıcioe 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˜ ecausa, em geral, uma mudan¸a interna no sistema, a qual pode ou n˜o se manifestar a um c aobservador externo. Al´m disso, uma mudan¸a pode ser causada pela ocorrˆncia de um e c eevento interno ao pr´prio sistema, tal como o t´rmino de uma atividade ou o fim de uma o etemporiza¸ao. Em qualquer caso, essas mudan¸as se caracterizam por serem abruptas e c˜ cinstantˆneas: ao perceber um evento, o sistema reage imediatamente, acomodando-se em atempo nulo numa nova situa¸˜o, onde permanece at´ que ocorra um novo evento. Desta ca eforma, a simples passagem do tempo n˜o ´ suficiente para garantir que o sistema evolua; a epara tanto, ´ necess´rio que ocorram eventos, sejam estes internos ou externos. Note ainda e aque a ocorrˆncia desses eventos pode depender de fatores alheios ao sistema, de modo que eeste n˜o tem, em geral, como prevˆ-los. O que se disse acima permite apresentar agora a a eseguinte defini¸ao: c˜Defini¸˜o 2.1 Sistema a eventos discretos (SED) ´ um sistema dinˆmico que evolui de ca e aacordo com a ocorrˆncia abrupta de eventos f´sicos, em intervalos de tempo em geral e ı
  10. 10. Sistemas a Eventos Discretos 10irregulares e desconhecidos. Diz-se ainda que, entre a ocorrˆncia de dois eventos consecutivos, o sistema permanece enum 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 emesmo evento pode ter efeitos diferentes, dependendo do estado em que ocorre. Porexemplo, se o sistema est´ no estado x1 e ocorre o evento α, o pr´ximo estado ser´ a o ax4 ; se α ocorre em x3 , volta-se para x1 . A trajet´ria pode continuar indefinidamente, oinclusive com a ocorrˆncia de outros eventos, n˜o representados na figura. Para todos e aos sistemas tratados, por´m, assume-se que o n´mero total de eventos diferentes que e upodem ocorrer ´ finito. O n´mero de estados pode ser ilimitado no caso geral, embora a e uclasse de sistemas com um n´mero finito de estados seja um caso particular importante. uCostuma-se distinguir um dos estados do sistema dos demais, o qual recebe o nome deestado inicial. Este ´ o estado em que o sistema se encontra antes de ocorrer o primeiro eevento. Na pr´tica, em geral ´ poss´ for¸ar um sistema a voltar a esse estado, antes de a e ıvel ciniciar 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 sistemadinˆ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 estadoa cada instante, tendo o seu comportamento descrito por uma fun¸ao que relaciona o c˜
  11. 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 ınuasestado (vari´vel dependente) ao tempo (vari´vel independente). J´ os sistemas a eventos a a adiscretos 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 , ...}, oincluindo-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˜ aaplica¸˜o. ca O acima exposto permite ver a tarefa de especificar o comportamento de um sistemaa eventos discretos como sendo a de estabelecer seq¨ˆncias ordenadas de eventos que uelevem ` 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 aDe fato a Teoria de Sistemas a Eventos Discretos ´ apresentada como pertencendo ` ´rea e aada Pesquisa Operacional, valendo-se ainda de resultados da Ciˆncia da Computa¸˜o (em e caparticular da Inteligˆncia Artificial e do Processamento de Linguagens), bem como da eTeoria de Controle. Foram desenvolvidos at´ o momento v´rios modelos para SEDs, sem que nenhum e ativesse se afirmado como universal. Esses modelos refletem diferentes tipos de SEDs bemcomo 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. 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 adotados de procedimentos de s´ ıntese de controladores; s˜o eles os modelos de Ramadge- aWonham (temporizados ou n˜o), baseado na Teoria de Autˆmatos e/ou Linguagens, e o a ode Redes de Petri Controladas (temporizadas ou n˜o). Pela caracter´ a ısticas citada, estesmodelos 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 SEDsformam uma ´rea de pesquisa de intensa atividade e desafios. a2.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 exigeaespera. 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”. cS˜o exemplos de clientes: a
  13. 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. aDo 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. aFinalmente, 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 acursos n˜o s˜o ilimitados. Isto gera problemas na aloca¸˜o dos recursos e seus crit´rios a a ca econflitantes associados como: satisfa¸ao das necessidades dos clientes; utiliza¸˜o eficiente c˜ cados recursos, redu¸˜o de custos. A figura 2.3 mostra um diagrama representativo de uma cafila. 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 filasdeve-se ainda definir:
  14. 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 ede cliente e p o evento partida de cliente. Al´m disso, uma vari´vel de estado natural ´ e a eo 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 conectarde diferentes formas, de modo a formar sistemas de redes de filas, onde os clientes fluempelas filas e servidores da rede, de acordo com regras espec´ ıficas, como pode ser visto nafigura 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 dasduas 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. oII. 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 ede um modelo de rede de fila como o da figura 2.5.
  15. 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 ourequerem acesso a um de dois discos, para ap´s retornar para mais um processamento opela 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- ativamente; d1 , d2 correspondem ` partida de tarefas dos discos D1 e D2 , respectivamente, retor- anando ` 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 afilas com
  16. 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 eque garantam o acesso aos servidores de modo eficiente e coerente. Esses mecanismos s˜o amuitas 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 controladorespara SEDs.Por exemplo, considere o caso de dois usu´rios A e B e um canal comum M , de capacidade a1 mensagem. O envio de duas mensagens (por A e B, p.e.) implica em sinal inintelig´ ıvel(colis˜o). aOs estados poss´ ıveis do sistema s˜o: aPara o canal M : I - vazio; T - transmitindo 1 mensagem; C - colis˜o; aPara 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- avamente; τ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 apresentes). Dois problemas podem se configurar neste exemplo: 1. possibilidade de colis˜o; a
  17. 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˜ caIV. Sistemas de Manufatura: S˜o tamb´m sistemas muitas vezes convenientemente a edescritos 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”. eConsidere por exemplo uma Linha de Transferˆncia com duas M´quinas e um Armaz´m e a eIntermedi´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 acheio, 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. 18. Sistemas a Eventos Discretos 18onde x1 indica o estado do armaz´m de entrada da linha, e x2 o estado do armaz´m inter- e emedi´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 cpara 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- ase¸˜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 vermelholibera os ve´ ıculos (1, 2) e (1, 3).
  19. 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}ondeaij 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. 20. Cap´ ıtulo 3Um Problema Motivador Neste cap´ ıtulo ser´ apresentado informalmente o problema de s´ a ıntese de controladorespara um SED, atrav´s de um exemplo de um sistema de manufatura. Pretende-se que este eproblema seja um agente motivador para os conceitos e metodologias relativos ` Teoria ade Controle Supervis´rio que ser˜o abordados nos cap´ o a ıtulos subseq¨entes. u3.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 cabaseada numa esteira com pallets fixados a cada metro e quatro m´quinas dispostas aem s´rie de acordo com a figura 3.1. O funcionamento da esta¸ao de envasilhamento ´ e c˜ ecomandado por um controlador l´gico program´vel (CLP) que garante o envasilhamento o ade 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. 21. Um Problema Motivador 21 7. o robˆ retira a garrafa da esteira. o Atuador Bomba Robˆ o Buffer de sa´ ıda TampadorBuffer 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 uevez, ou seja, o atuador s´ pode ser acionado novamente depois que o robˆ retirar a garrafa o oda esteira. Esta restri¸ao na l´gica de controle evita os problemas que podem ocorrer na c˜ oopera¸ao de m´ltiplas garrafas em paralelo. Entretanto, esse modo de funcionamento ´ c˜ u emuito pouco eficiente, visto que o atuador, a bomba, o tampador e o robˆ passam a maior oparte do tempo parados enquanto poderiam estar operando em paralelo. Um engenheirode controle e automa¸ao industrial ´ contratado, ent˜o, para desenvolver uma l´gica c˜ e a ode controle que garanta uma maior eficiˆncia da esta¸˜o de envasilhamento. O t´cnico e ca erespons´vel pela manuten¸˜o da linha de produ¸˜o tem bastante pr´tica na programa¸˜o a ca ca a cade CLPs. Ele se disp˜e a implementar o programa de controle caso lhe seja fornecida oa l´gica de funcionamento da esta¸ao, baseada nos sinais de entrada e sa´ do CLP o c˜ ıdaapresentados 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. 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 code 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 asegue: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 oprojetar uma l´gica de controle a ser implementada no CLP, de modo a permi- otir ` esteira operar uma, duas, trˆs ou quatro garrafas em paralelo; garantindo que o a e
  23. 23. Um Problema Motivador 23comportamento do sistema controlado obede¸a a especifica¸˜o de funcionamento do c casistema, de forma a evitar os problemas que podem ocorrer na opera¸˜o de m´ltiplas ca ugarrafas em paralelo, restringindo o sistema somente o necess´rio, e garantindo auma produ¸˜o continuada de cervejas. ca3.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 anhe¸a as caracter´ c ısticas do sistema a controlar. Isto passa pela obten¸˜o de um modelo capara a planta, que possa ser obtido de forma sistem´tica e que seja adequado ao problema aem quest˜o. Neste sentido conv´m observar que a planta ´ em geral, como no caso do a e eexemplo, composta de um conjunto de equipamentos ou sub-sistemas que devem trocarsinais 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 caa ser controlado pode ent˜o ser pensado como uma composi¸˜o de modelos para seus a casub-sistemas. Do mesmo modo, a s´ ıntese de controle pressup˜e um modelo adequado para as es- opecifica¸oes de comportamento. Estas especifica¸oes s˜o definidas por um conjunto de c˜ c˜ arestri¸˜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 cadefine 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 casistema a controlar. Ainda, o problema 3.1 estabelece que a l´gica de controle deve ser ´tima, no senti- o odo de restringir o comportamento dos equipamentos que comp˜em a planta, somente o onecess´rio para que n˜o se violem as especifica¸˜es. Al´m disso se deseja que o controle a a co en˜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 aticamente, ou seja, atrav´s de algoritmos bem definidos e que garantam as caracter´ e ısticasconsideradas acima.
  24. 24. Um Problema Motivador 24 O objetivo da teoria a ser desenvolvida nos cap´ ıtulos que seguem ´ resolver problemas ecomo 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 ede comando que podem ou n˜o serem ativados, uma outra parte dos eventos, por sua anatureza, 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 edesenvolvimento 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 catipo de problema a ser tratado neste documento. Os cap´ ıtulos que seguem apresentar˜o aas bases conceituais da Teoria de Controle de Sistemas a Eventos Discretos.
  25. 25. Cap´ ıtulo 4Linguagens como modelos para SEDs Neste cap´ ıtulo ser˜o introduzidos os elementos b´sicos da teoria de linguagens e ser´ a a amostrado como o comportamento l´gico de um SED pode ser modelado a partir de lin- oguagens.4.1 Nota¸˜o e defini¸˜es b´sicas ca co a Uma linguagem L definida sobre um alfabeto Σ, ´ um conjunto de cadeias formadas epor 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 Σ ´ edenotado Σ∗ , incluindo a cadeia vazia, denotada por ε. Assim, uma linguagem sobre Σ´ sempre um subconjunto (n˜o necessariamente pr´prio) de Σ∗ . Em particular ∅, Σ e Σ∗e a os˜o linguagens. a Se tuv = s, com t, u, v ∈ Σ∗ , ent˜o: a
  26. 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 e4.2 Opera¸oes sobre linguagens c˜ Algumas opera¸˜es podem ser executadas sobre linguagens. Algumas s˜o usuais, como co aas 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. 27. Linguagens como modelos para SEDs 27Exemplo 4.2 Considere o alfabeto Σ = {α, β, γ}, e as linguagens L1 = {ε, α, αββ} eL2 = {γ} 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 ede um par de linguagens. Para isto considera-se um alfabeto Σ como correspondendoao conjunto de eventos que afetam o sistema. A evolu¸ao seq¨encial do SED, ou seu c˜ ucomportamento 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- ema, ou seja, o conjunto de todas as cadeias de eventos fisicamente poss´ ıveis de ocorreremno sistema. Por sua vez Lm ⊆ L ´ a linguagem que descreve o comportamento marcado edo sistema, ou seja, o conjunto de cadeias em L que correspondem a tarefas completasque o sistema pode realizar.
  28. 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 paraque um sistema produza uma cadeia qualquer w, ent˜o o mesmo deve ter produzido ante- ariormente todos os seus prefixos. Portanto, o comportamento gerado de qualquer sistemaa eventos discretos em que n˜o ocorram eventos simultˆneos, pode ser representado por a auma 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. eExemplo 4.3 Como exemplo, considere o problema motivador 3.1 da Linha de Produ¸˜o cade 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 quecorresponde ao comportamento gerado pela Esteira consiste de todas as sequˆncias de eeventos 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 caPor outro lado, se se considera como tarefa completa da esteira as cadeias que a levam aoestado de repouso, pode-se afirmar que Lm consiste de todas as cadeias de L que terminamcom β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 ade 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 ıdaConsiderando 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 esim justifique, caso contr´rio dˆ um contra-exemplo. Observe que a igualdade se verifica a eno caso do exemplo da esteira.
  29. 29. Linguagens como modelos para SEDs 29 c1 a b c2 Figura 4.1: Sistema robˆ-esteira o4.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 uede eventos que um SED pode gerar (L) ou o conjunto de tarefas que o sistema podecompletar (Lm ). No entanto, a descri¸ao de uma linguagem como vista at´ agora, feita c˜ epela sua descri¸ao em “linguagem natural”ou pela enumera¸˜o das cadeias que a definem, c˜ capode ser uma tarefa pouco pr´tica. Seria conveniente que se pudesse dispor de uma forma ade representa¸ao de linguagens que seja simples, concisa, clara e sem ambig¨idade. Em c˜ uoutras palavras, ´ necess´rio utilizar estruturas compactas que possam representar estas e alinguagens. Neste documento ser˜o apresentadas duas estruturas: as express˜es regulares a oe os autˆmatos. Consideremos inicialmente as express˜es regulares. o o Para um alfabeto Σ dado, define-se recursivamente uma express˜o regular da seguinte amaneira: 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 caExemplo 4.4 Como ilustra¸˜o, considerando o alfabeto Σ1 = {a, b, g}, s˜o exemplos de ca aexpress˜es regulares: o
  30. 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} eExemplo 4.5 Se se retoma o exemplo da esteira da linha de produ¸˜o de cervejas, L e caLm podem ser reescritos atrav´s de suas representa¸˜es em express˜es regulares respecti- e co ovamente como L = (α0 β0 )∗ (ε + α0 ) Lm = (α0 β0 )∗Exemplo 4.6 Considere ainda como exemplo, um alfabeto Σ = {a, b}, composto pors´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- opresentam uma restri¸˜o sobre o uso deste processador pelas tarefas. Deseja-se encontrar carestri¸˜es que expressem justi¸a no uso do processador pelas tarefas. Poss´ co c ıveis express˜es oregulares 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 queExerc´ caexpressa justi¸a de modo mais inteligente, ou seja, garante que em nenhum momento calguma tarefa fa¸a mais do que 1 acesso a mais do que a outra. Encontre uma express˜o c aregular para exprimir esta restri¸˜o de justi¸a. ca cExerc´ ıcio 4.3 Encontre express˜es regulares que representem as linguagens encontradas ono 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. 31. Linguagens como modelos para SEDs 314.5 Conclus˜o a Neste cap´ ıtulo foram introduzidos conceitos relativos ` teoria de linguagens e como se apode utilizar linguagens como meio de representar um SED. Neste sentido o modelo derepresenta¸˜o de SEDs por Linguagens pode ser visto como um modelo comportamental caexterno do sistema uma vez que se baseia na descri¸ao de suas trajet´rias (sequˆncias c˜ o ede eventos). Entretanto, a representa¸ao atrav´s de linguagens e express˜es regulares ´ c˜ e o elimitada 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. 32. Cap´ ıtulo 5Autˆmatos como modelos para SEDs o Neste cap´ ıtulo ser˜o introduzidos os principais conceitos relacionados aos autˆmatos a ode estados finitos. Ser˜o estabelecidas rela¸˜es entre os autˆmatos e as linguagens e ser´ a co o aconsiderada a quest˜o de representa¸˜o de um SED atrav´s de modelos de autˆmatos. a ca e o5.1 Autˆmatos Determin´ o ısticos de Estados Finitos Um autˆmato determin´ o ıstico de estados finitos (ADEF) ´ uma qu´ e ıntuplaG = (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 orepresentam os estados e os arcos etiquetados representam as transi¸˜es entre os estados. coO estado inicial ´ identificado atrav´s de uma seta apontando para ele e os estados finais e es˜o representados com c´ a ırculos duplos.
  33. 33. Autˆmatos como modelos para SEDs o 33Exemplo 5.1 A figura 5.1 ´ um exemplo de um autˆmato determin´ e o ıstico, cuja descri¸˜o caformal 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 opartir do estado inicial x0 e l´ permanece at´ a ocorrˆncia de um evento σ ∈ ΣG (x0 ) ⊆ Σ a e eque 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. 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 oda 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) = y5.2 Linguagens representadas por autˆmatos o Um autˆmato G est´ associado a duas linguagens, a linguagem gerada L(G) e a o alinguagem 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 noautˆmato, partindo do estado inicial. A linguagem Lm (G) considera todas as cadeias que opartindo 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 erado pelo sistema e Lm (G) ´ o comportamento marcado ou conjunto de tarefas completas edo sistema.Exerc´ ıcio 5.1 Construa um autˆmato G tal que L(G) e Lm (G) correspondam aos com- oportamentos gerado e marcado do robˆ da figura 4.1. oExemplo 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. 35. Autˆmatos como modelos para SEDs o 35 b a b 0 1 a Figura 5.2: Exemplo de autˆmato o5.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 afinal da se¸ao 4.4, ou seja, “Toda linguagem ´ represent´vel por uma express˜o regular?”. c˜ e a aPara responder a esta quest˜o consideremos o seguinte exemplo: aExemplo 5.4 O exemplo a ser analisado ´ o de uma fila de capacidade infinita. Clientes echegam 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 ´ eL = {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 quedeixam a fila vazia, pode-se observar queLm = {cadeias tais que o n´mero de c’s ´ igual ao n´mero de p’s e tais que quaisquer de u e useus 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 ada fila infinita ´ intranspon´ e ıvel, ou seja, n˜o existe tal express˜o. De fato, o conjunto de a alinguagens para as quais existem express˜es regulares que as representem constitui um oconjunto particular de linguagens denominadas Linguagens Regulares. Por outro lado, se se procura encontrar um autˆmato que tenha as linguagens L e oLm , respectivamente como linguagens gerada e marcada, n˜o existe solu¸˜o no dom´ a ca ınio
  36. 36. Autˆmatos como modelos para SEDs o 36dos autˆmatos de estados finitos. A figura 5.4 mostra um autˆmato que representa o o ocomportamento 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 ea seguir estabelece uma rela¸ao entre o conjunto das Linguagens Regulares e o conjunto c˜de Autˆmatos de Estados Finitos. oTeorema 5.1 (Teorema de Kleene) Se L ´ regular, existe um autˆmato G com e on´mero finito de estados tal que Lm (G) = L. Se G tem um n´mero finito de estados, u uent˜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 uinfinito 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 quee a oo autˆmato infinito dado. o A observa¸˜o acima mostra que, em geral, para uma dada linguagem regular L, n˜o ca aexiste 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 aautˆmatos equivalentes. o Por outro lado, dois autˆmatos s˜o ditos serem isomorfos quando G1 = G2 , a menos o ade uma renomea¸˜o de estados. ca5.4 Acessibilidade e co-acessibilidade de um ADEF De forma geral, um ADEF G = (X, Σ, f, x0 , Xm ) pode ter estados inacess´ ıveis, isto ´, eestados 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. 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 ı apode ser completada por algum w ∈ Σ∗ tal que uw ∈ Lm (G), ou seja se cada cadeiau ∈ 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 seusestados, 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 ccadeias 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 e5.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 ediscretos. Um sistema a eventos discretos com comportamento L(G) e Lm (G) ´ dito ser n˜o e abloqueante, sse satisfaz as condi¸oes da equa¸ao (5.1), isto ´, L(G) = Lm (G). c˜ c˜ e
  38. 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 sea e apode 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 aainda que ap´s o estado 4 nenhum evento esteja habilitado. De fato, o estado 4 corres- oponde a uma tarefa completa do sistema, o que caracteriza o n˜o bloqueio. Este exemplo acoloca em evidˆncia a diferen¸a entre a condi¸˜o de bloqueio aqui definida e a condi¸˜o e c ca caconhecida como “deadlock”. o ´Exemplo 5.6 Observe agora o autˆmato da figura 5.6. E poss´ ıvel perceber que nesteautˆ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 casitua¸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

×