Você está na página 1de 82

V Simposio Brasileiro de Automacao Inteligente

Teoria de Controle Supervisrio o de Sistemas a Eventos Discretos

Prof. Jos Eduardo Ribeiro Cury e Universidade Federal de Santa Catarina Departamento de Automao e Sistemas ca cury@das.ufsc.br

Canela-RS, Novembro de 2001

Agradecimentos
Esta apostila foi elaborada a partir da minha experincia 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 Eltrica e mais recentemente no Departamento de Automao e Sistemas e ca da Universidade Federal de Santa Catarina. Ela no poderia ter sido realia zada sem o apoio direto ou indireto de todos os meus alunos de Graduao e ca Ps Graduao e orientados de Mestrado e Doutorado. Partes do documento o ca devem inclusive ser creditadas a documentos que foram elaborados por estes. Neste sentido, agradeo a todos estes alunos, alguns hoje colegas de prosso, c a em particular ao Antonio, Csar, Jos Miguel, Max, Tati e Ziller, de quem e e roubeiidias, pargrafos e/ou guras. e a

Sumrio a
1 Introduo ca 2 Sistemas a Eventos Discretos 2.1 2.2 Deniao e Caracter c sticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 9 9

Exemplos de Sistemas a Eventos Discretos . . . . . . . . . . . . . . . . . . 12 20

3 Um Problema Motivador 3.1 3.2 3.3

Linha de Produao de Cervejas . . . . . . . . . . . . . . . . . . . . . . . . 20 c Consideraoes acerca da Resoluao do Problema . . . . . . . . . . . . . . . 23 c c Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 a 25

4 Linguagens como modelos para SEDs 4.1 4.2 4.3 4.4 4.5 Operaoes sobre linguagens c

Notaao e denioes bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . 25 c c a . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Representao de SEDs por linguagens . . . . . . . . . . . . . . . . . . . . 27 ca Expresses Regulares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 o Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 a 32

5 Autmatos como modelos para SEDs o 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9

Autmatos Determin o sticos de Estados Finitos . . . . . . . . . . . . . . . . 32 Linguagens representadas por autmatos . . . . . . . . . . . . . . . . . . . 34 o Linguagens Regulares e Autmatos de Estados Finitos . . . . . . . . . . . 35 o Acessibilidade e co-acessibilidade de um ADEF . . . . . . . . . . . . . . . 36 Bloqueio num SED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Autmatos no determin o a sticos . . . . . . . . . . . . . . . . . . . . . . . . 40 Determinizaao de um ANDEF . . . . . . . . . . . . . . . . . . . . . . . . 41 c Minimizaao de autmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 c o Composiao de Autmatos . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 c o

5.10 Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 a

Sumrio a 6 Controle Supervisrio de SEDs o 6.1 6.2 6.3 6.4

4 48

Introduao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 c O problema de controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Controlabilidade e Soluo do PCS . . . . . . . . . . . . . . . . . . . . . . 51 ca Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 a 53

7 Metodologia para a s ntese de supervisores timos o 7.1 7.2 7.3 7.4 7.5 7.6

Obtenao de um modelo para a planta . . . . . . . . . . . . . . . . . . . . 53 c Obtenao de um modelo para a especicaao . . . . . . . . . . . . . . . . . 55 c c S ntese do supervisor no bloqueante timo . . . . . . . . . . . . . . . . . . 58 a o 7.3.1 Deniao de maus estados . . . . . . . . . . . . . . . . . . . . . . . 58 c Implementao / Realizao do supervisor . . . . . . . . . . . . . . . . . . 59 ca ca Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Consideraoes sobre a resoluao do PCS . . . . . . . . . . . . . . . . . . . 66 c c 7.6.1 7.6.2 7.6.3 Complexidade Computacional . . . . . . . . . . . . . . . . . . . . . 67 Legibilidade/estruturaao . . . . . . . . . . . . . . . . . . . . . . . 67 c Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

7.7

Concluso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 a 69

8 Concluso a 8.1

Referncias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 e 71

A Resumo Ferramenta Grail

A.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ca A.2 FM Mquinas de estado nitas . . . . . . . . . . . . . . . . . . . . . . . 71 a A.3 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.4 Utilizao do Grail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 ca 9 Referncias Bibliogrcas e a 71

Lista de Figuras
2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 4.1 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 Trajetria t o pica de um sistema a eventos discretos . . . . . . . . . . . . . 10 Trajetria t o pica de um sistema dinmico com variveis cont a a nuas . . . . . 11 Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Redes de Filas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Sistema de Computao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 ca Linha de Transferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 e Sistema de Trfego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 a Estaao de envasilhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 c Sistema rob-esteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 o Autmato determin o stico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Exemplo de autmato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 o Problema la innita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Autmato la innita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 o SED no bloqueante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 a SED com bloqueio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Sistema usurio-recurso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 a Autmato para Lm (G) = (a + b) ab . . . . . . . . . . . . . . . . . . . . . . 40 o Autmato determin o stico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.10 Autmato que detecta seqncia 123 . . . . . . . . . . . . . . . . . . . . . 43 o ue 5.11 Autmato m o nimo que detecta seqncia 123 . . . . . . . . . . . . . . . . . 44 ue 5.12 Autmato sistema usurio-recurso . . . . . . . . . . . . . . . . . . . . . . . 44 o a 5.13 Modelo usurio US1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 a 5.14 Modelo usurio US2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 a 5.15 Restriao recurso R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 c 5.16 Restriao recurso R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 c 5.17 Restriao recurso R1 modicada . . . . . . . . . . . . . . . . . . . . . . . . 46 c

Lista de Figuras 6.1 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9

SED em malha fechada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Autmatos para Gi , i = 0, . . . , 4. . . . . . . . . . . . . . . . . . . . . . . . . 54 o Linha de transferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 e Modelo das mquinas M1 e M2 . . . . . . . . . . . . . . . . . . . . . . . . 55 a Modelo da planta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Especicaao de no overow e no underow do buer. . . . . . . . . . . 57 c a a Autmato para E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 o Autmatos G e C = Ei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 o Autmato R = G C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 o Autmato G (exerc 7.1) . . . . . . . . . . . . . . . . . . . . . . . . . . 60 o cio . . . . . . . . . . . . . . . . . 61

7.10 Mxima linguagem controlvel. . . . . . . . . . . . . . . . . . . . . . . . . 60 a a 7.11 Modelo das mquinas com quebra M1 e M2 a 7.12 No overow e underow do armazm, e prioridade de reparo de M2 . . . . 62 a e 7.13 Mxima linguagem controlvel. . . . . . . . . . . . . . . . . . . . . . . . . 62 a a 7.14 Linha de transferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 e 7.15 Modelo dos componentes do sistema. . . . . . . . . . . . . . . . . . . . . . 63 7.16 Especicao de no overow e no underow dos armazns: (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 mquinas 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 Restriao E1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 c 7.24 Autmato para E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 o 7.25 Autmato para sup C(E). . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 o A.1 Mquina de estados nitos . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 a A.2 Pequena fbrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 a A.3 Modelo mquina 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 a A.4 Modelo mquina 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 a A.5 Modelo restriao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 c

Cap tulo 1 Introduo ca


A tecnologia moderna tem produzido, em escala crescente, sistemas com a nalidade de executar tarefas que, seja pela importncia que adquirem em seu contexto, seja por a sua complexidade e seu custo, justicam o esforo despendido na sua otimizao e autoc ca mao. Tais sistemas esto presentes em uma srie de aplicaoes, incluindo por exemplo a ca a e c automao da manufatura, a robtica, a superviso de trfego, a log ca o a a stica (canalizaao e c armazenamento de produtos, organizaao e prestaao de servios), sistemas operacionais, c c c redes de comunicao de computadores, concepao de software, gerenciamento de bases ca c de dados e otimizaao de processos distribu c dos. Tais sistemas tm em comum a maneira e pela qual percebem as ocorrncias no ambiente ` sua volta, o que se d pela recepo de e a a ca est mulos, denominados eventos. So exemplos de eventos o in e o trmino de uma a cio e tarefa e a percepo de uma mudana de estado em um sensor. Estes eventos so, por sua ca c a natureza, instantneos, o que lhes confere um carter discreto no tempo. Sistemas com a a estas caracter sticas so denominados sistemas a eventos discretos (SED), em oposio aos a ca sistema de variveis cont a nuas, tratados pela Teoria de Controle clssica. A natureza disa creta dos SEDs faz com que os modelos matemticos convencionais, baseados em equaes a co diferenciais, no sejam adequados para trat-los. Por outro lado, a sua importncia faz a a a com que seja altamente desejvel encontrar solues para problemas relacionados ao seu a co controle. Em razo disso, existe uma intensa atividade de pesquisa voltada ` busca de a a modelos matemticos adequados ` sua representao, sem que se tenha conseguido at a a ca e agora encontrar um modelo que seja matematicamente to conciso e computacionalmente a to adequado como o so as equaoes diferenciais para os sistemas dinmicos de variveis a a c a a cont nuas. No 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

Introduo ca

Linguagens e de Autmatos e denominado modelo RW. Este faz uma distinao clara o c entre o sistema a ser controlado, denominado planta, e a entidade que o controla, que recebe o nome de supervisor. A planta um modelo que reete o comportamento sicamente e poss do sistema, isto , todas as aoes que este capaz de executar na ausncia de vel e c e e qualquer aao 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 robs trabalhando em uma clula de manuo e fatura podem ter acesso a um depsito de uso comum, o que pode ser util para passar o peas 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, indesejvel. O papel do supervisor no modelo RW e a , ento, o de exercer uma ao de controle restritiva sobre a planta, de modo a connar e a ca seu comportamento `quele que corresponde a uma dada especicaao. Uma vantagem a c desse modelo a de permitir a s e ntese de supervisores, sendo estes obtidos de forma a restringir o comportamento da planta apenas o necessrio para evitar que esta realize aoes a c proibidas. Desta forma, pode-se vericar se uma dada especicao de comportamento ca pode ou no ser cumprida e, caso no possa, identicar a parte dessa especicaao que a a c pode ser implementada de forma minimamente restritiva. Um critrio de aceitaao pode e c ento ser utilizado para determinar se, com a parte implementvel da especicaao, o sisa a c tema trabalha de maneira satisfatria. Neste documento sero apresentados os principais o a conceitos bsicos da Teoria de Controle Supervisrio, como introduzida por Ramadge e a o Wonham. Os conceitos de base da teoria de Linguagens e Autmatos sero apresentados, o a bem como os principais resultados bsicos de s a ntese de supervisores para SEDs. A forma de apresentaao procurar se adaptar a um curso que possa ser facilmente assimilado por c a alunos em n de Graduao em cursos de Engenharia ou Cincias de Computaao. vel ca e c

Cap tulo 2 Sistemas a Eventos Discretos


2.1 Denio e Caracter ca sticas

De um modo geral, um sistema uma parte limitada do Universo que interage com o e mundo externo atravs das fronteiras que o delimitam. Este conceito se aplica tambm e e aos sistemas tratados no presente documento, que apresentam ainda as caracter sticas descritas a seguir. Os sistemas de interesse percebem as ocorrncias no mundo externo e atravs da recepao de est e c mulos, denominados eventos. So exemplos de eventos o in a cio e o trmino de uma tarefa (mas no sua execuao), a chegada de um cliente a uma la ou e a c a recepao de uma mensagem em um sistema de comunicaao. A ocorrncia de um evento c c e causa, em geral, uma mudana interna no sistema, a qual pode ou no se manifestar a um c a observador externo. Alm disso, uma mudana pode ser causada pela ocorrncia de um e c e evento interno ao prprio sistema, tal como o trmino de uma atividade ou o m de uma o e temporizaao. Em qualquer caso, essas mudanas se caracterizam por serem abruptas e c c instantneas: ao perceber um evento, o sistema reage imediatamente, acomodando-se em a tempo nulo numa nova situao, onde permanece at que ocorra um novo evento. Desta ca e forma, a simples passagem do tempo no suciente para garantir que o sistema evolua; a e para tanto, necessrio que ocorram eventos, sejam estes internos ou externos. Note ainda e a que a ocorrncia desses eventos pode depender de fatores alheios ao sistema, de modo que e este no tem, em geral, como prev-los. O que se disse acima permite apresentar agora a a e seguinte deniao: c Denio 2.1 Sistema a eventos discretos (SED) um sistema dinmico que evolui de ca e a acordo com a ocorrncia abrupta de eventos f e sicos, em intervalos de tempo em geral

Sistemas a Eventos Discretos irregulares e desconhecidos.

10

Diz-se ainda que, entre a ocorrncia de dois eventos consecutivos, o sistema permanece e num determinado estado. A ocorrncia de um evento causa ento uma transiao ou e a c mudana de estado no sistema, de forma que sua evoluao no tempo pode ser representada c c pela trajetria percorrida no seu espao de estados, conforme ilustrado na gura 2.1. o c x(t) x4 x3 x2 x1 t1 t2 t3 t4 t

Figura 2.1: Trajetria t o pica de um sistema a eventos discretos Nesta trajetria 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 prximo estado ser a o a x4 ; se ocorre em x3 , volta-se para x1 . A trajetria pode continuar indenidamente, o inclusive com a ocorrncia de outros eventos, no representados na gura. Para todos e a os sistemas tratados, porm, assume-se que o nmero total de eventos diferentes que e u podem ocorrer nito. O nmero de estados pode ser ilimitado no caso geral, embora a e u classe de sistemas com um nmero nito 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 prtica, em geral poss forar um sistema a voltar a esse estado, antes de a e vel c iniciar sua utilizao para um determinado m, processo denominado de reinicializaao. ca c Os sistemas a eventos discretos, entendidos segundo a deniao 2.1, contrastam com os c sistemas dinmicos a variveis cont a a nuas, descritos por equaoes diferenciais . E instrutivo c comparar a trajetria t o pica de um SED, apresentada na gura 2.1, com a de um sistema dinmico de variveis cont a a nuas, apresentada na gura 2.2. O espao de estados de um SED limitado a um conjunto enumervel, ao passo que c e a cont e nuo e portanto innito nos sistemas cont nuos. Estes, em geral, mudam de estado a cada instante, tendo o seu comportamento descrito por uma funao que relaciona o c

Sistemas a Eventos Discretos x(t)

11

dx dt

= f (x, t) t

Figura 2.2: Trajetria t o pica de um sistema dinmico com variveis cont a a nuas estado (varivel dependente) ao tempo (varivel independente). J os sistemas a eventos a a a discretos podem permanecer um tempo arbitrariamente longo em um mesmo estado, sendo que sua trajetria 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 informaao necessria depende dos objetivos da c a aplicao. ca O acima exposto permite ver a tarefa de especicar o comportamento de um sistema a eventos discretos como sendo a de estabelecer seqncias ordenadas de eventos que ue levem ` realizaao de determinados objetivos. Com uma formulaao to abrangente, no a c c a a surpreendente que tenha havido esforos 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 Cincia da Computao (em e ca particular da Inteligncia Articial e do Processamento de Linguagens), bem como da e Teoria de Controle. Foram desenvolvidos at o momento vrios modelos para SEDs, sem que nenhum e a tivesse se armado como universal. Esses modelos reetem diferentes tipos de SEDs bem como diferentes objetivos na anlise dos sistemas em estudo. a Os principais modelos utilizados para sistemas a eventos discretos so os seguintes: a Redes de Petri com e sem temporizao; ca Redes de Petri Controladas com e sem temporizaao; c Cadeias de Markov; Teoria das Filas;

Sistemas a Eventos Discretos Processos Semi-Markovianos Generalizados (GSMP) e Simulaao; c Algebra de Processos; Algebra Max-Plus; Lgica Temporal e Lgica Temporal de Tempo Real; o o Teoria de Linguagens e Autmatos (Ramadge-Wonham) o

12

Dentre os modelos citados acima, dois apresentam uma caracter stica particular: so a dotados de procedimentos de s ntese de controladores; so eles os modelos de Ramadgea Wonham (temporizados ou no), baseado na Teoria de Autmatos e/ou Linguagens, e o a o de Redes de Petri Controladas (temporizadas ou no). Pela caracter a sticas citada, estes modelos tm dado forte contribuiao ao desenvolvimento da teoria de Controle de SEDs. e c Os demais modelos citados servem sobretudo ` anlise 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 desaos. a

2.2

Exemplos de Sistemas a Eventos Discretos

Nesta seao descreveremos alguns exemplos de SEDs. Iniciaremos por um sistema c simples que serve como mdulo basena representaao 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 trs elementos bsicos de um sistema de las so: 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 servio aos clientes, so denominados servidores. c a 3. O espao onde a espera se faz, denominado la, ou em alguns casos, buers. c So exemplos de clientes: a

Sistemas a Eventos Discretos pessoas (esperando num Banco ou Parada de Onibus); mensagens transmitidas atravs de um canal de comunicaao; e c tarefas ou processos executados num sistema de computaao; c peas produzidas num sistema de manufatura; c ve culos numa rede rodoviria. a Do mesmo modo, so exemplos de servidores: a pessoas (caixas de Banco ou Supermercado); canais de comunicaao responsveis pela transmisso de mensagens; c a a processadores ou dispositivos perifricos em sistemas de computaao; e c mquinas usadas na manufatura; a vias em um sistema de trco. a Finalmente, so exemplos de las: a las de bancos, supermercados, paradas de nibus, etc.; o buers de chamadas telefnicas ativas, ou processos executveis. o a

13

A motivao para o estudo de sistemas de las est no fato de que em geral os reca a cursos no so ilimitados. Isto gera problemas na alocao dos recursos e seus critrios a a ca e conitantes associados como: satisfaao das necessidades dos clientes; utilizao eciente c ca dos recursos, reduo de custos. A gura 2.3 mostra um diagrama representativo de uma ca la.
Fila chegadas de clientes Servidor partidas de clientes

Figura 2.3: Filas De modo a se especicar completamente as caracter sticas de um sistema de las deve-se ainda denir:

Sistemas a Eventos Discretos 1. processo de servio; c 2. capacidade da la; 3. disciplina de atendimento.

14

Visto como um SED, um sistema de las tem = {c, p} onde c o evento chegada e de cliente e p o evento partida de cliente. Alm disso, uma varivel de estado natural e a e o nmero de clientes na la, ou, comprimento da la (por convenao, inclui o cliente em u c servio). Portanto c X = {0, 1, 2, ..., C + 1} onde C a capacidade da la. e Finalmente, os componentes de um sistema de las como o descrito podem se conectar de diferentes formas, de modo a formar sistemas de redes de las, onde os clientes uem pelas las e servidores da rede, de acordo com regras espec cas, como pode ser visto na gura 2.4.
2 1 3

Figura 2.4: Redes de Filas No exemplo, clientes deixando o servidor 1 devem seguir regras na escolha de uma das duas las conectadas aos servidores 2 e 3; o servidor 1 deve adotar regras na seleao de c uma das duas las de entrada para receber o prximo cliente. o II. Sistemas de Computao: Num Sistema de Computao t ca ca pico, tarefas ou processos so clientes competindo pela atenao de servidores como os vrios processadores a c a (CP U , impressoras, discos, ...). E muitas vezes conveniente representar tal sistema atravs e de um modelo de rede de la como o da gura 2.5.

Sistemas a Eventos Discretos

15

r1 a
CP U

D1

d1

chegada de tarefas

r2 d

D2

d2

partida de tarefas

Figura 2.5: Sistema de Computao ca No exemplo, tarefas chegam numa la da CP U ; uma vez servidas, estas partem ou requerem acesso a um de dois discos, para aps 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 respeca tivamente; d1 , d2 correspondem ` partida de tarefas dos discos D1 e D2 , respectivamente, retora nando ` la da CP U . a Uma poss representaao para o estado deste sistema vel c e x = (xCP U , x1 , x2 ) correspondendo ao comprimento das trs las na CP U , disco 1 e disco 2. e O espao de estados do sistema c e X = {(xCP U , x1 , x2 ) : xCP U , x1 , x2 0} III. Sistemas de Comunicao: So sistemas muitas vezes descritos por modelos de ca a las com

Sistemas a Eventos Discretos clientes: mensagens, chamadas;

16

servidores: meios (canais) de comunicao, equipamentos de chaveamento (redes ca telefnicas); o Caracter stica importante desses sistemas a necessidade de mecanismos de controle e que garantam o acesso aos servidores de modo eciente e coerente. Esses mecanismos so a muitas vezes chamados de protocolos, e podem ser bastante complexos. A validaao e/ou c projeto de protocolos so problemas interessantes de anlise e s a a ntese de controladores para SEDs. Por exemplo, considere o caso de dois usurios 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 (coliso). a Os estados poss veis do sistema so: a Para o canal M : I - vazio; T - transmitindo 1 mensagem; C - coliso; a Para cada usurio A ou B: I - repouso; T - transmitindo; W - aguardando com mensagem. a O espao de estados pode ento ser denido 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, respectia vamente; A , B correspondem ao envio de mensagem ao canal M por A e B, respectivamente; M corresponde ao trmino de uma transmisso pelo canal (com 1 ou mais mensagens e a presentes). Dois problemas podem se congurar neste exemplo: 1. possibilidade de coliso; a

Sistemas a Eventos Discretos

17

2. desconhecimento por cada usurio, do estado do outro usurio e/ou do estado do a a meio. Esses problemas podem ser modelados como um problema de Controle Descentralizado, ou controle com restriao na estrutura de informao. c ca IV. Sistemas de Manufatura: So tambm sistemas muitas vezes convenientemente a e descritos por modelos de las. Em geral, tem-se: clientes: peas ou c tens; pallets; servidores: mquinas; dispositivos de manuseio e transporte (robs, esteiras, ...); a o e las: armazns; buers. Considere por exemplo uma Linha de Transferncia com duas Mquinas e um Armazm e a e Intermedirio de capacidade 2, conforme ilustrado na gura 2.6. a
chegada de peas c

partida de peas c

Figura 2.6: Linha de Transferncia e Neste caso o conjunto de eventos que afetam o sistema pode ser descrito por = {a, b, d2 } onde a corresponde ` chegada da pea; a c b corresponde ao trmino de servio pela mquina 1 ; e c a d2 corresponde ` partida de pea da mquina 2. a c a Considera-se que se a mquina termina um servio e o armazm intermedirio est a c e a a cheio, esta entra em estado de bloqueio. O espao 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 armazm de entrada da linha, e x2 o estado do armazm intere e medirio; o estado onde x2 = B indica a situaao de bloqueio, ou seja aquele estado onde a c o armazm intermedirio est cheio e a mquina 1 tem uma pea terminada esperando e a a a c para ser descarregada. O espao 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 mquina i, com x1 = B indicando a situaao de bloqueio a c do sistema. V. Sistemas de Trfego: Considere o exemplo da gura 2.7 que representa uma intera seo semafrica. Tem-se 4 tipos de ve ca o culos segundo a direao 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.

2 Figura 2.7: Sistema de Trfego 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 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 espao de estados c e X = {(x12 , x13 , x23 , x32 , y) : xij 0, y {G, R}} onde xij indica o nmero de ve u culos do tipo (i, j) em la; y indica o estado do sinal, verde (G) ou vermelho (R).

19

Cap tulo 3 Um Problema Motivador


Neste cap tulo ser apresentado informalmente o problema de s a ntese de controladores para um SED, atravs 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 Supervisrio que sero abordados nos cap o a tulos subseqentes. u

3.1

Linha de Produo de Cervejas ca

Na linha de produao de uma fbrica de cervejas, existe uma estao de envasilhamento c a ca baseada numa esteira com pallets xados a cada metro e quatro mquinas dispostas a em srie de acordo com a gura 3.1. O funcionamento da estaao de envasilhamento e c e comandado por um controlador lgico programvel (CLP) que garante o envasilhamento o a de cada garrafa conforme a seguinte seqncia de passos: ue 1. o atuador avana, depositando uma garrafa vazia em P1 ; c 2. a esteira avana 1 metro; c 3. a bomba enche a garrafa de cerveja; 4. a esteira avana 1 metro; c 5. a garrafa tampada; e 6. a esteira avana 1 metro; c

Um Problema Motivador 7. o rob retira a garrafa da esteira. o

21

Atuador

Bomba Tampador

Rob o

Buer de sa da

Buer de entrada Esteira


Sinais de entrada Sinais de sa da

CLP

P1

1m

P2

P3

P4

Figura 3.1: Estaao de envasilhamento c A esteira foi inicialmente projetada para operar em seqncia 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 restriao na lgica de controle evita os problemas que podem ocorrer na c o operaao de mltiplas garrafas em paralelo. Entretanto, esse modo de funcionamento c u e muito pouco eciente, 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 automaao industrial contratado, ento, para desenvolver uma lgica c e a o de controle que garanta uma maior ecincia da estao de envasilhamento. O tcnico e ca e responsvel pela manuteno da linha de produo tem bastante prtica na programao a ca ca a ca de CLPs. Ele se dispe a implementar o programa de controle caso lhe seja fornecida o a lgica de funcionamento da estaao, baseada nos sinais de entrada e sa do CLP o c da apresentados a seguir. c 0 : comando que inicia um avano de 1 metro da esteira; 0 : sinal de nal de operaao da esteira. (Uma vez iniciada a operao, no pode c ca a ser evitado); 1 : sinal de comando do atuador pneumtico, de in de depsito de uma garrafa a cio o no pallet da esteira situado na posiao P1 ; c 1 : sinal de nal de operaao do atuador pneumtico. (Uma vez iniciada a operao, c a ca no pode ser evitado); a 2 : comando que inicia o enchimento da garrafa que estiver na posio P2 ; ca

Um Problema Motivador

22

2 : sinal de nal de operao da bomba automtica. (Uma vez iniciada a operaao, ca a c no pode ser evitado); a 3 : comando que comea a tampar uma garrafa situada na posio P3 ; c ca 3 : sinal de nal de operaao do tampador automtico. (Uma vez iniciada a opec a raao, no pode ser evitado); c a 4 : comando que inicia a retirada de uma garrafa do pallet da esteira situado na posio P4 ; ca 4 : Sinal de nal de operao do rob. (Uma vez iniciada a operaao, no pode ser ca o c a evitado). O programa deve ser tal que o sistema em malha fechada obedea `s seguintes restries c a co de coordenaao: c 1. no operar o atuador, a bomba, o tampador ou o rob enquanto a esteira estiver a o avanando; c 2. no sobrepor garrafas em P1 ; a 3. no avanar a esteira sem que as garrafas em P2 , P3 e P4 tenham sido enchidas, a c tampadas ou retiradas, respectivamente; 4. no encher, tampar ou acionar o rob sem garrafas nas posies P2 , P3 e P4 , respeca o co tivamente; 5. no encher ou tampar duas vezes a mesma garrafa; a 6. no avanar a esteira ` toa, ou seja, sem garrafa em alguma das posies. a c a co O problema de controle que se coloca ao engenheiro pode ento ser especicado como a segue: Problema 3.1 Seja a planta de engarrafamento de cervejas, composta de um atuador pneumtico, uma esteira, uma bomba de cerveja, um tampador, e um rob; a o projetar uma lgica de controle a ser implementada no CLP, de modo a permio tir ` esteira operar uma, duas, trs ou quatro garrafas em paralelo; garantindo que o a e

Um Problema Motivador

23

comportamento do sistema controlado obedea a especicao de funcionamento do c ca sistema, de forma a evitar os problemas que podem ocorrer na operao de mltiplas ca u garrafas em paralelo, restringindo o sistema somente o necessrio, e garantindo a uma produo continuada de cervejas. ca

3.2

Consideraes acerca da Resoluo do Problema co ca

O problema 3.1 tal como colocado, suscita algumas observaoes. c Primeiramente, se se deseja sintetizar uma lgica de controle necessrio que se coo e a nhea as caracter c sticas do sistema a controlar. Isto passa pela obteno de um modelo ca para a planta, que possa ser obtido de forma sistemtica e que seja adequado ao problema a em questo. Neste sentido convm 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 destes equipamentos seja aquele desejado. A obteno de um modelo para o sistema global ca a ser controlado pode ento ser pensado como uma composio de modelos para seus a ca sub-sistemas. Do mesmo modo, a s ntese de controle pressupe um modelo adequado para as eso pecicaoes de comportamento. Estas especicaoes so denidas por um conjunto de c c a restries que determinam como deve ser a operaao coordenada dos equipamentos. Asco c sim como para a planta a controlar, pode-se pensar que o modelo da especicao que ca dene o comportamento global desejado para o sistema o resultado da composiao de e c um conjunto de modelos para cada especicao elementar denida sobre uma parte do ca sistema a controlar. Ainda, o problema 3.1 estabelece que a lgica de controle deve ser tima, no sentio o do de restringir o comportamento dos equipamentos que compem a planta, somente o o necessrio para que no se violem as especicaes. Alm disso se deseja que o controle a a co e no leve o sistema a situaoes de bloqueio, ou seja, garanta o cumprimento de tarefas de a c modo perene. Finalmente, espera-se que a lei de controle tima no-bloqueante seja gerada automao a ticamente, ou seja, atravs de algoritmos bem denidos 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 colocaao do problema justica a metodologia a ser apresentada, c como sendo composta das seguintes fases: 1. Obtenao de um modelo para a planta a ser controlada; c 2. Obtenao de um modelo de representao das especicaes a serem respeitadas; c ca co 3. Sntese de uma lgica de controle no 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 no serem ativados, uma outra parte dos eventos, por sua a natureza, no podem ser evitados de ocorrer por qualquer aao 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

Concluso a

Este cap tulo apresentou de maneira informal, atravs de um exemplo de aplicao, o e ca tipo de problema a ser tratado neste documento. Os cap tulos que seguem apresentaro a as bases conceituais da Teoria de Controle de Sistemas a Eventos Discretos.

Cap tulo 4 Linguagens como modelos para SEDs


Neste cap tulo sero introduzidos os elementos bsicos da teoria de linguagens e ser a a a mostrado como o comportamento lgico de um SED pode ser modelado a partir de lino guagens.

4.1

Notao e denies bsicas ca co a

Uma linguagem L denida 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 so: a L1 = {, , } L2 = {Todas as possveis cadeias formadas com 3 eventos iniciados pelo evento } O conjunto de todas as poss veis cadeias nitas compostas com elementos de e denotado , incluindo a cadeia vazia, denotada por . Assim, uma linguagem sobre sempre um subconjunto (no necessariamente prprio) de . Em particular , e e a o so linguagens. a Se tuv = s, com t, u, v , ento: a

Linguagens como modelos para SEDs t chamado prexo de s e u chamada uma subcadeia de s e v chamado suxo de s e

26

4.2

Operaoes sobre linguagens c

Algumas operaes podem ser executadas sobre linguagens. Algumas so usuais, como co a as operaoes sobre conjuntos; trs outras operaoes sero aqu adicionadas. c e c a ca a ca 1. Concatenao: Sejam duas linguagens L1 , L2 , ento a concatenao de L1 e L2 , denotado L1 L2 , denida 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 concatenao a ca de uma cadeia de L1 com uma cadeia de L2 . 2. Prexo-Fechamento: Seja uma linguagem L , ento, o prexo-fechamento de a L, denotado por L, denido por e L := {s : t (st L)} Em palavras, L consiste de todas as cadeias de que so prexos de L. Em a geral, L L. L dita prexo-fechada se L = L. Uma linguagem L prexoe e fechada se qualquer prexo de qualquer cadeia de L tambm uma cadeia de L. e e Como veremos mais tarde linguagens geradas por sistemas f sicos so exemplos de a linguagens prexo-fechadas. 3. Fechamento-Kleene: Seja uma linguagem L , ento o fechamento Kleene de L, a denotado por L denido por e L := {} L LL LLL Uma cadeia de L formada pela concatenao de um nmero nito 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 = {} denidas sobre . Observe que tanto L1 como L2 no so prexo-fechadas, pois a a L1 e L2 . Ento: a L1 L2 = {, , } L1 = {, , , } L2 = {, } L1 L2 = {, , , , , } L = {, , , , } 2 As seguintes observaoes so verdadeiras: c a 1. ; 2. {} uma linguagem no vazia contendo somente a cadeia vazia. Veremos mais e a tarde que esta linguagem pode representar a situao de um sistema bloqueado em ca seu estado inicial; 3. Se L = ento L = , e se L = ento necessariamente L; a a 4. = {} e {} = {}.

4.3

Representao de SEDs por linguagens ca

O comportamento de um sistema a eventos discretos (SED) pode ser descrito atravs e de um par de linguagens. Para isto considera-se um alfabeto como correspondendo ao conjunto de eventos que afetam o sistema. A evoluao seqencial do SED, ou seu c u comportamento lgico, pode ento ser modelado atravs de uma dupla D = (L, Lm ). o a e No modelo D, L a linguagem que descreve o comportamento gerado pelo sistee ma, ou seja, o conjunto de todas as cadeias de eventos sicamente 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 evoluao seqencial de um Sistema a Eventos Discretos e um alfabeto c u correspondendo ao conjunto de eventos que afetam o sistema, pode-se armar que para que um sistema produza uma cadeia qualquer w, ento o mesmo deve ter produzido antea riormente todos os seus prexos. Portanto, o comportamento gerado de qualquer sistema a eventos discretos em que no ocorram eventos simultneos, pode ser representado por a a uma linguagem prexo fechada. As observaoes 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 contm o comportamento marcado de e um SED; e 2. L = L, ou seja, o comportamento gerado de um SED prexo-fechado. Exemplo 4.3 Como exemplo, considere o problema motivador 3.1 da Linha de Produo ca de Cervejas. Se se considera isoladamente a Esteira, pode-se identicar = {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 sequncias de e eventos que alternam os dois eventos considerados, iniciando com 0 e nalizando com 0 ou 0 . Observe que L correspondendo ` situao 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 armar 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 gura 4.1. Este rob est inserido em um sistema o o a de manufatura onde deve realizar as tarefas de retirar peas de uma esteira de entrada c (evento b) e coloc-las em um de dois possveis armazns de sa (eventos c1 e c2 ). a e da Considerando o rob como um SED, descreva as linguagens L e Lm do rob. o o Questo para reexo: Dado um SED = (L, Lm ) sempre verdade que Lm = L? Se a a e sim justique, caso contrrio d um contra-exemplo. Observe que a igualdade se verica a e no caso do exemplo da esteira.

Linguagens como modelos para SEDs


c1 a b c2

29

Figura 4.1: Sistema rob-esteira o

4.4

Expresses Regulares o

Como vimos acima, uma linguagem pode ser vista como uma maneira formal de descrever o comportamento de um SED. Ela pode especicar todas as poss veis seqncias ue de eventos que um SED pode gerar (L) ou o conjunto de tarefas que o sistema pode completar (Lm ). No entanto, a descriao de uma linguagem como vista at agora, feita c e pela sua descriao em linguagem naturalou pela enumerao das cadeias que a denem, c ca pode ser uma tarefa pouco prtica. Seria conveniente que se pudesse dispor de uma forma a de representaao de linguagens que seja simples, concisa, clara e sem ambigidade. Em c u outras palavras, necessrio utilizar estruturas compactas que possam representar estas e a linguagens. Neste documento sero apresentadas duas estruturas: as expresses regulares a o e os autmatos. Consideremos inicialmente as expresses regulares. o o Para um alfabeto dado, dene-se recursivamente uma expresso regular da seguinte a maneira: e a 1. (a) uma expresso regular que representa a linguagem vazia, (b) uma expresso regular denotando a linguagem {}, e a (c) uma expresso regular denotando {} e ; e a 2. Se r e s so expresses regulares ento rs, r , s , (r + s) so expresses regulares; a o a a o 3. Toda expresso regular obtida pela aplicaao das regras 1 e 2 um nmero nito a e c u de vezes. Expresses regulares fornecem um meio de descrio de linguagens. o ca Exemplo 4.4 Como ilustrao, considerando o alfabeto 1 = {a, b, g}, so exemplos de ca a expresses regulares: o

Linguagens como modelos para SEDs

30

(a + b)g , que representa a linguagem L = {todas as cadeias que comeam com a c ou b e so seguidas por um nmero qualquer de g s}; a u (ab) +g, que representa a linguagem L = {todas as cadeias formadas por um nmero u qualquer de ab s ou uma ocorrncia do elemento g} e Exemplo 4.5 Se se retoma o exemplo da esteira da linha de produo de cervejas, L e ca Lm podem ser reescritos atravs de suas representaes em expresses regulares respectie co o vamente como L = (0 0 ) ( + 0 ) Lm = (0 0 ) Exemplo 4.6 Considere ainda como exemplo, um alfabeto = {a, b}, composto por smbolos que representam eventos que correspondam ao acesso de duas tarefas diferentes a um mesmo recurso, por exemplo um processador. Pode-se encontrar expresses que reo presentam uma restrio sobre o uso deste processador pelas tarefas. Deseja-se encontrar ca restries que expressem justia no uso do processador pelas tarefas. Poss co c veis expresses o regulares para a especicao de justia no uso do recurso so: ca c a A1 = (ab) , expressa alternncia no uso do recurso, porm privilegia o acesso a, no a e sentido de garantir a como primeiro acesso ao recurso; A2 = (a + b) , no expressa justia pois permite acesso irrestrito ao recurso; a c A3 = (ab) + (ba) , expressa alternncia, sem priorizao no primeiro acesso. a ca ca Exerc cio 4.2 Para o exemplo de acesso a um recurso comum, existe uma restrio que expressa justia de modo mais inteligente, ou seja, garante que em nenhum momento c alguma tarefa faa mais do que 1 acesso a mais do que a outra. Encontre uma expresso c a regular para exprimir esta restrio de justia. ca c Exerc cio 4.3 Encontre expresses regulares que representem as linguagens encontradas o no problema do rob da gura 4.1. o Questo para reexo: Toda linguagem representvel por uma expresso regular ? a a e a a

Linguagens como modelos para SEDs

31

4.5

Concluso 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 representao de SEDs por Linguagens pode ser visto como um modelo comportamental ca externo do sistema uma vez que se baseia na descriao de suas trajetrias (sequncias c o e de eventos). Entretanto, a representaao atravs de linguagens e expresses regulares c e o e limitada computacionalmente. Para resolver este problema utiliza-se a representaao de c SEDs atravs de autmatos. Este far objeto do prximo cap e o a o tulo.

Cap tulo 5 Autmatos como modelos para SEDs o


Neste cap tulo sero introduzidos os principais conceitos relacionados aos autmatos a o de estados nitos. Sero estabelecidas relaes entre os autmatos e as linguagens e ser a co o a considerada a questo de representao de um SED atravs de modelos de autmatos. a ca e o

5.1

Autmatos Determin o sticos de Estados Finitos

Um autmato determin o stico de estados nitos (ADEF) uma qu e ntupla G = (X, , f, x0 , Xm ), onde: X o conjunto nito de estados do autmato; e o o conjunto de s e mbolos (eventos) que denem o alfabeto; f : X X a funao de transio, possivelmente parcial, ou seja, no h e c ca a a necessidade da funao ser denida para todo elemento de em cada estado de X; c x0 o estado inicial do autmato; e o Xm o conjunto de estados marcados ou nais, Xm X. e Um autmato pode ser representado gracamente como um grafo dirigido, onde os ns o o representam os estados e os arcos etiquetados representam as transies entre os estados. co O estado inicial identicado atravs de uma seta apontando para ele e os estados nais e e so representados com c a rculos duplos.

Autmatos como modelos para SEDs o

33

Exemplo 5.1 A gura 5.1 um exemplo de um autmato determin e o stico, cuja descrio ca formal correspondente a seguinte: e X = {x, y, z} = {a, b, g} A funo de transio 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 x g z b a y a, g b

Figura 5.1: Autmato determin o stico

Notaao: G (x) denota o conjunto ativo de eventos num estado x X, ou seja c G (x) = { : f (x, ) denida }. e No exemplo da gura 5.1, G (x) = {a, g}, (y) = {a, b} e G (z) = {a, b, g}. O autmato G pode ser visto como um dispositivo que opera como segue. Inicia a o partir do estado inicial x0 e l permanece at a ocorrncia de um evento G (x0 ) a e e que disparar a transio f (x0 , ) X. Este processo continua baseado nas transioes a ca c denidas em f . A funao f pode ser estendida do dom c nio X para o dom nio X , operando sobre cadeias, da seguinte maneira: f (x, ) f (x, ) := x

:= f (x, ), f (x, s) := f (f (x, s), ) para s e .

Autmatos como modelos para SEDs o

34

Exemplo 5.2 Aplicando a denio da funo de transio estendida, f , ao autmato ca ca ca o da gura 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 autmatos o

Um autmato 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) denida}. 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 autmato, 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 autmato G, onde L(G) o comportamento geo e rado pelo sistema e Lm (G) o comportamento marcado ou conjunto de tarefas completas e do sistema. Exerc cio 5.1 Construa um autmato G tal que L(G) e Lm (G) correspondam aos como portamentos gerado e marcado do rob da gura 4.1. o Exemplo 5.3 A linguagem gerada do autmato da gura 5.2 o e L(G) = [b aa b] ( + b aa ) e sua linguagem marcada e Lm (G) = [b aa b] b aa .

Autmatos como modelos para SEDs o


b 0 a a 1

35

Figura 5.2: Exemplo de autmato o

5.3

Linguagens Regulares e Autmatos de Estados o Finitos

Iniciaremos esta seo retomando a questo deixada como reexo, apresentada ao ca a a nal da seao 4.4, ou seja, Toda linguagem representvel por uma expresso regular?. c e a a Para responder a esta questo consideremos o seguinte exemplo: a Exemplo 5.4 O exemplo a ser analisado o de uma la de capacidade innita. Clientes e chegam e cam na la aguardando para usar o servidor. A gura 5.3 ilustra o problema. Como no exemplo I introduzido na seo 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 S p

Figura 5.3: Problema la innita A linguagem que corresponde ao comportamento gerado pelo sistema la innita e L = {cadeias tais que quaisquer de seus prexos no contenham mais ps do que cs} a Considerando como tarefas completas neste sistema de las, as cadeias de eventos que deixam a la vazia, pode-se observar que Lm = {cadeias tais que o nmero de cs igual ao nmero de ps e tais que quaisquer de u e u seus prexos no contenham mais ps do que cs} a O desao de encontrar uma expresso regular para a linguagem descrita no exemplo a da la innita intranspon e vel, ou seja, no existe tal expresso. De fato, o conjunto de a a linguagens para as quais existem expresses regulares que as representem constitui um o conjunto particular de linguagens denominadas Linguagens Regulares. Por outro lado, se se procura encontrar um autmato que tenha as linguagens L e o Lm , respectivamente como linguagens gerada e marcada, no existe soluo no dom a ca nio

Autmatos como modelos para SEDs o

36

dos autmatos de estados nitos. A gura 5.4 mostra um autmato que representa o o o comportamento da la innita.
c p c p c p c
......

Figura 5.4: Autmato la innita o E poss perceber que o nmero de estados do autmato innito. De fato, o teorema vel u o e a seguir estabelece uma relaao entre o conjunto das Linguagens Regulares e o conjunto c de Autmatos de Estados Finitos. o e o Teorema 5.1 (Teorema de Kleene) Se L regular, existe um autmato G com nmero nito de estados tal que Lm (G) = L. Se G tem um nmero nito de estados, u u ento Lm (G) regular. a e Uma questo que se pode colocar a seguinte: Seja G um autmato com nmero a e o u innito de estados, sempre verdade que Lm (G) no regular? A resposta a esta pergunta e e a no, pois pode existir um autmato nito que possua a mesma linguagem marcada que e a o o autmato innito dado. o A observao acima mostra que, em geral, para uma dada linguagem regular L, no ca a existe um unico autmato G tal que Lm (G) = L. o Autmatos G1 e G2 para os quais L(G1 ) = L(G2 ) e Lm (G1 ) = Lm (G2 ) so ditos serem o a autmatos equivalentes. o Por outro lado, dois autmatos so ditos serem isomorfos quando G1 = G2 , a menos o a de uma renomeao 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 alcanados 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 acessvel se x acess para todo x X. e e vel

Autmatos como modelos para SEDs o

37

A componente acess vel, Gac , de um autmato G obtida pela eliminaao de seus o e c estados no acess a veis e das transioes 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 autmato acess ento G = Gac . o e vel a Por outro lado G dito ser co-acess e vel, ou no bloqueante, se cada cadeia u L(G) a pode ser completada por algum w tal que uw Lm (G), ou seja se cada cadeia u L(G) for um prexo 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 condiao de co-acessibilidade de um ADEF pode ainda ser descrita pela equao. c ca

L(G) = Lm (G)

(5.1)

Assim como existe a componente acess vel poss e vel identicar a componente coacess vel, Gco , de G, pela eliminaao de estados no co-acess c a veis (estados alcanados por c cadeias que no podem ser completadas em tarefas) e transioes associadas. a c Quando um autmato acess e co-acess ele dito ser trim. o e vel vel e

5.5

Bloqueio num SED

A equao (5.1) permite denir a idia de ausncia de bloqueio num sistema a eventos ca e e discretos. Um sistema a eventos discretos com comportamento L(G) e Lm (G) dito ser no e a bloqueante, sse satisfaz as condioes da equaao (5.1), isto , L(G) = Lm (G). c c e

Autmatos como modelos para SEDs o

38

Por outro lado um SED descrito por um autmato G que no satisfaz as condioes o a c da equaao (5.1) ser bloqueante. A condio de bloqueio (L(G) = Lm (G)) corresponde c a ca ` existncia de cadeia(s) geradas pelo sistema (u L(G)), a partir da(s) qual(is) no 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 no bloqueante. De fato a L(G) = + + + () ( + ) Lm (G) = + + () Lm (G) = + + + () ( + ) = L(G)
G:
0 4 1 2 3

Figura 5.5: SED no bloqueante. a Observe que este exemplo satisfaz a condio de SED no bloqueante (L(G) = Lm (G)) ca a ainda que aps o estado 4 nenhum evento esteja habilitado. De fato, o estado 4 correso ponde a uma tarefa completa do sistema, o que caracteriza o no bloqueio. Este exemplo a coloca em evidncia a diferena entre a condio de bloqueio aqui denida e a condio e c ca ca conhecida como deadlock. Exemplo 5.6 Observe agora o autmato da gura 5.6. E poss o vel perceber que neste autmato existem estados no-coacessveis. De fato, a partir dos estados 3, 4 ou 5, o o a sistema no pode completar nenhuma tarefa, caracterizando a situao de bloqueio. Tal a ca situao indica que o sistema est em deadlock(estado 5) ou livelock(estados 3 e 4). ca a
1 a 0 g 2 3 b a b a g 5 g 4

Figura 5.6: SED com bloqueio

Autmatos como modelos para SEDs o

39

No autmato da gura 5.6, de fato poss identicar vrias cadeias de G que o o e vel a levam ao bloqueio, dentre elas: ag L(G) e ag Lm (G); aa(bg a) L(G) e aa(bg a) Lm (G); aaba L(G) e aaba Lm (G); (abg) ag L(G) e (abg) ag Lm (G). Exerc cio 5.2 Considere um sistema como o da gura 5.7, onde dois usurios U S1 e a U S2 compartilham dois recursos R1 e R2(podem representar por exemplo duas mquinas a que fazem acesso a duas ferramentas para a realizao de uma operao). A operao ca ca ca bsica do usurio U S1 denida pela sequncia de eventos a11 a12 c1 que indicam seu acesso a a e e aos recursos R1 (evento a11 ) e R2 (evento a12 ), nesta ordem, seguido da devoluo de ca ambos os recursos (evento c1 ). J o usurio U S2 tem como operao bsica a sequncia a a ca a e a22 a21 c2 , indicando seu acesso aos recursos R2 (evento a22 ) e R1 (evento a21 ), nesta ordem, seguido da devoluo de ambos (evento c2 ). Considere que cada o sistema opera ca sob uma lgica de controle que atua sobre cada usurio evitando o acesso a um recurso o a no disponvel no momento. a o o 1. Modelar por um autmato, o comportamento global do sistema sob a lgica de controle descrita; 2. Verique se existe bloqueio; 3. Se a resposta for sim proponha uma nova lgica de controle que solucione o problema o de bloqueio. 4. Represente o comportamento resultante atravs de um novo autmato. e o

Exerc cio 5.3 Para o conjunto de eventos = {a, b}, encontrar autmatos noo a bloqueantes G, tais que 1. Lm (G) = (a + b) ab; 2. Lm (G) = a bb a + a a.

Autmatos como modelos para SEDs o

40

US 1 a22 , a21 a11 , a12 c1 R1 R2 c2

US 2

Figura 5.7: Sistema usurio-recurso a

5.6

Autmatos no determin o a sticos

Considere a linguagem (a + b) ab do exerc cio 5.3. Encontrar um ADEF para esta linguagem pode no ser uma tarefa to simples, apesar da aparente simplicidade da lina a guagem em questo. De fato, embora o autmato da gura 5.8 parea ser um candidato a o c natural a soluao ao exerc c cio, ele no satisfaz as condioes da deniao de ADEF, j a c c a que a ocorrncia de um evento num estado (evento a no estado 0) causa a transio para e ca mais de um novo estado (estados 0 ou 1). Autmatos com a caracter o stica do autmato o da gura 5.8 correspondem a uma nova classe de autmatos denominada Autmatos No o o a Determinsticos de Estado Finito (ANDEF).
a, b 0 a 1 b 2

Figura 5.8: Autmato para Lm (G) = (a + b) ab o Formalmente, um ANDEF uma qu e ntupla G = (X, , f, x0 , Xm ), onde X, , x0 , Xm so denidos como anteriormente, e f uma funao de transiao a e c c f : X 2X onde 2X o conjunto de subconjuntos de X, tambm chamado conjunto das partes de X. e e ANDEFs podem ser uma alternativa na modelagem de SEDs, pela simplicidade de obteno dos mesmos (vide caso do exemplo) ou como meio de exprimir a falta de inca formaes sobre o sistema que se est modelando. Uma questo que se coloca sobre o co a a e poder de expresso de ANDEFs em relao aos ADEFs, ou seja, a ca

Autmatos como modelos para SEDs o

41

Questo: E poss que um ANDEF reconhea linguagens que no so reconhec a vel c a a veis por algum ADEF ? O teorema seguinte responde ` questo acima: a a a o a stico de esTeorema 5.2 Toda linguagem representvel por um autmato no determin tados nitos (ANDEF) possui uma representao por um autmato determin ca o stico de estados nitos (ADEF). Corolrio 5.1 A todo autmato no determin a o a stico corresponde um autmato deo term nistico equivalente, ou seja, que reconhece a mesma linguagem. A seo seguinte introduz um algor ca tmo que calcula, para um dado, ANDEF, um ADEF equivalente, ou seja, tal que suas linguagens geradas e marcadas sejam iguais.

5.7

Determinizao de um ANDEF ca

O algoritmo para determinizao de um autmato no determin ca o a stico ser apresentado a a seguir. A partir de um ANDEF G = (X, , x0 , f, Xm ) constri-se um ADEF GD = o
D (X D , , xD , f D , Xm ), onde: 0

X D = 2X xD = X0 0 f D (xD , ) =
xX

f (x, )

D Xm = {xD X D | xD Xm = }

Aplicando o algoritmo ao exemplo da gura 5.8, encontra-se o autmato da gura 5.9. o O autmato GD ca denido da seguinte forma: o X D = 2X = {, {0}, {1}, {2}, {1, 2}, {0, 1}, {0, 2}, {0, 1, 2}}; xD = {0} 0

Autmatos como modelos para SEDs o

42

Funo de transiao f D : f D ({0}, a) = {0, 1}, f D ({0}, b) = {0}, f D ({0, 1}, a) = ca c {0, 1}, f D ({0, 1}, b) = {0, 2}, f D ({0, 2}, a) = {0, 1} e f D ({0, 2}, b) = {0} (aqui j a foram exclu dos os estados no alcanaveis); a c
D Xm = {0, 2}

b a
{0}

a b
{0,2}

{0,1}

Figura 5.9: Autmato determin o stico Pode-se vericar a equivalncia de G e GD . e

5.8

Minimizao de autmatos ca o

As sees anteriores mostraram a no unicidade de autmatos associados a linguagens co a o regulares dadas. No existe portanto um modelo unico para representar um dado SED. a No entanto, certamente desejvel, por razes computacionais, ou mesmo para maior e a o legibilidade do modelo, que se trabalhe com autmatos que tenham o menor nmero o u poss de estados. E portanto importante que se procure meios de encontrar em um vel dado autmato, estados que sejam de certo modo redundantes (ou equivalentes) e que o possam ser agregados em um unico estado. Tendo um autmato G = (X, , f, x0 , Xm ) poss fazer algumas observaoes: o e vel c 1. Se x Xm e y Xm , x e y no podem ser equivalentes; a 2. Se f (x, ) = f (y, ) para todo ento x e y so equivalentes. a a O algoritmo a seguir identica estados equivalentes em um dado ADEF G. A agregao ca destes estados permite obter um ADEF equivalente ao original, com nmero m u nimo de estados. Este autmato unico, a menos de poss isomorsmo. o e vel Ao nal, os pares de estados no marcados pelo algor a tmo denem uma partiao do c espao de estados X em classes de estados equivalentes. c

Autmatos como modelos para SEDs o

43

Algor tmo para identicaao de estados equivalentes c Marcar (x, y) para todo x Xm , y Xm Para todo par (x, y) no marcado anteriormente: a se (f (x, ), f (y, )) est marcado para algum ou no est denido para uma s a a a o das componentes ento a Marcar (x, y) Marcar todos os pares no marcados (w, z) na lista de (x, y). a Repetir para cada par (w, z) at que nenhuma marcaao seja poss e c vel. m se se (f (x, ), f (y, )) no est marcado para nenhum ento a a a se f (x, ) = f (y, ) ento a acrescentar (x, y) ` lista de (f (x, ), f (y, )) a m se m se Exemplo 5.7 O autmato da gura 5.10 detecta cadeias terminadas com a seqncia de o ue d gitos 123. Ele pode ser visto como um dispositivo que l d e gitos em sequncia e sinaliza e cada vez que a sequncia 123 detectada. As linguagens gerada e marcada do autmato e e o so, respectivamente L = (1 + 2 + 3) e Lm = (1 + 2 + 3) 123. A aplicao do algoritmo a ca acima permite identicar os estados 0, 2 e (1, 3) como estados equivalentes. A agregao ca destes estados leva ao autmato mnimo equivalente mostrado na gura 5.11. o
2,3
0

1 1 2
1

1 3

1 3 2 1

1,2

1,2,3

1,3

Figura 5.10: Autmato que detecta seqncia 123 o ue

5.9

Composio de Autmatos ca o

A modelagem de um SED por ADEFs, pode ser em princ pio abordada de duas maneiras: uma abordagem global e uma abordagem local.

Autmatos como modelos para SEDs o


1
1

44

2,3
0

1 3 1 2,3 3 1

1,2

1,2,3

Figura 5.11: Autmato m o nimo que detecta seqncia 123 ue Na abordagem global o sistema analisado como um todo e procura-se por um ADEF e que represente todas as seqncias poss ue veis de eventos que ele pode gerar e tarefas que pode completar. Para sistemas de maior porte, esta pode ser uma tarefa de grande complexidade. Alm disso, qualquer alteraao no sistema, por exemplo, pela incluso ou e c a retirada de equipamentos, ou modicao em sua lgica de controle, requer a reconstruao ca o c do modelo como um todo. Exemplo 5.8 Voltemos ao exemplo da gura 5.7, abordado no exerc cio 5.2. Considerando o comportamento do sistema sob a lgica de controle inicialmente descrita no o exerccio, pode-se construir, a partir da anlise global do sistema, o modelo ADEF con a forme mostrado na gura 5.12.
a22 a11 c1 c2 a22 a21 a11 a12

Figura 5.12: Autmato sistema usurio-recurso o a

Por outro lado, como j discutimos, em geral um SED pode ser visto como a compoa sio de subsistemas, atuando em geral sob aoes de um controlador que impe restries ca c o co de coordenao ao sistema. A abordagem local de modelagem parte do princ ca pio de que se pode construir modelos locais para cada sub-sistema e restriao de coordenaao, e que c c se pode compor os mesmos para obter um modelo do sistema global. Uma abordagem de modelagem localizada, sugere maior facilidade na obteno de modelos de sistemas ca

Autmatos como modelos para SEDs o

45

de grande porte. Alm disso, permite pressupor que alteraes num subsistema ou em e co alguma restriao somente exigiro uma mudana no modelo espec c a c co correspondente. Exemplo 5.9 Voltando ao exerccio 5.2 (usurio de recursos) pode-se aplicar a idia da a e modelagem local aqui introduzida. Constri-se modelos para os usurios e para a restrio o a ca de coordenao separadamente. Os autmatos das guras 5.13 e 5.14 so modelos para o ca o a comportamento isolado dos usurios U S1 e U S2, respectivamente. a
a11 c1 a12

Figura 5.13: Modelo usurio US1 a


a22 c2 a21

Figura 5.14: Modelo usurio US2 a A restrio de coordenao implcita na lgica inicialmente implementada pode ser ca ca o traduzida por: Se o recurso R1 estiver em uso por algum dos usurios (ocorrncia de a e a11 ou a21 ), o mesmo somente poder ser acessado aps ser devolvido (ocorrncia de c1 a o e ou c2 ); idem para o recurso R2. Estas restries podem ser modeladas pelos autmatos co o das guras 5.15 (recurso R1) e 5.16 (recurso R2)
a11 , a21 c1 , c 2

Figura 5.15: Restrio recurso R1 ca Supondo que se possa abordar a modelagem localmente, o que seria necessrio modia car se fosse introduzido mais um recurso do tipo R1 no sistema? Bastaria modicar o autmato que representa a restrio de coordenao do recurso R1, como mostra a o ca ca gura 5.17. A aplicabilidade da abordagem local para modelagem de SEDs por ADEF garantida e pela operao de Composio de Autmatos, como denida a seguir. ca ca o

Autmatos como modelos para SEDs o


a22 , a12 c1 , c 2

46

Figura 5.16: Restrio recurso R2 ca


a11 , a21 c1 , c2 a11 , a21 c1 , c 2

Figura 5.17: Restrio recurso R1 modicada ca Dados dois autmatos G1 = (X1 , 1 , f1 , x01 , Xm1 ) e G2 = (X2 , 2 , f2 , x02 , Xm2 ), deneo se a composio sncrona G1 G2 como: ca G1 G2 = Ac(X1 X2 , 1 2 , f1 2 , (x01 , x02 ), Xm1 Xm2 ) onde: f1
2

: (X1 X2 ) (1 2 ) (X1 X2 )

Ou seja: (f1 (x1 , ), f2 (x2 , )) (f (x , ), x ) 1 1 2 f1 2 ((x1 , x2 ), ) = (x1 , f2 (x2 , )) indenida se 1 2 e 1 (x1 ) 2 (x2 ) se 1 e 2 e 1 (x1 ) se 2 e 1 e 2 (x2 ) caso contrrio a

Um evento comum a 1 e 2 s pode ser executado sincronamente nos dois autmatos; o o os demais ocorrem assincronamente, ou seja, de modo independente em cada autmato. o Se os alfabetos so iguais 1 = 2 , a composiao completamente s a c e ncrona, isto , e todos os eventos esto sincronizados. No caso oposto, 1 2 = , no existe nenhuma a a sincronizao entre os eventos dos dois autmatos. ca o E poss ressaltar algumas propriedades da composiao s vel c ncrona: G1 G2 = G2 G1

Autmatos como modelos para SEDs o (G1 G2 ) G3 = G1 (G2 G3 ) A denio pode ser estendida para n autmatos. ca o

47

Exerc cio 5.4 Efetue a composio dos autmatos do exemplo 5.9. Compare o resultado ca o obtido com o autmato da gura 5.12. Obtenha o modelo do sistema para o caso do o recurso R1 duplicado.

5.10

Concluso a

Este cap tulo introduziu um modelo de estados para SEDs, baseado nos Autmatos de o Estados Finitos. Os conceitos introduzidos permitem desenvolver uma abordagem para a modelagem destes sistemas. No cap tulo que segue ser desenvolvida uma metodologia a para s ntese de leis de controle para SEDs, baseada na base conceitual at aqui introduzida. e

Cap tulo 6 Controle Supervisrio de SEDs o


O objetivo deste cap tulo formular, formalmente, o Problema de Controle Supere visrio de SEDs, e apresentar sua resoluao. o c

6.1

Introduo ca

Como visto no cap tulo 3, o sistema a ser controlado ou planta corresponde, em geral a um conjunto de sub-sistemas (equipamentos) arranjados segundo uma distribuio esca pacial dada. Estes sub-sistemas, vistos isoladamente, tm cada um, um comportamento e bsico original que, quando atuando em conjunto com os demais sub-sistemas, deve ser a restringido de forma a cumprir com a funao coordenada a ser executada pelo sistema c global. A composiao dos comportamentos de cada sub-sistema isolado pode ento ser c a identicado com a planta G, com comportamentos gerado e marcado L(G) e Lm (G), respectivamente. Assume-se aqui que G modelado por um ADEF. A notao G ento ser e ca a a usada indistintamente para se referenciar ` planta ou a seu modelo ADEF. a O conjunto de restries de coordenaao dene uma especicao E a ser obedecida, co c ca e pode ser interpretado como segue. As linguagens L(G) e Lm (G) contem cadeias indesejveis de eventos por violarem alguma condiao que se deseja impor ao sistema. Pode a c ser o caso de estados proibidos em G, por provocarem bloqueio ou por serem inadmiss veis como o caso de uma coliso de um rob com um AGV, em um sistema de manufatura. a o Pode ainda ser o caso de cadeias que violam um ordenamento desejado para os eventos, como por exemplo no caso de justia no acesso a recursos. c

Controle Supervisrio de SEDs o

49

De modo a fazer com que os sub-sistemas atuem de forma coordenada, introduzse um agente de controle denominado supervisor, denotado por S. Em nosso paradigma, considera-se que o supervisor S interage com a planta G, numa estrutura de malha fechada (gura 6.1) onde S observa os eventos ocorridos em G e dene que eventos, dentre os sicamente poss veis de ocorrerem no estado atual, so permitidos de ocorrerem a seguir. a Mais precisamente, S tem uma aao desabilitadora de eventos e, neste sentido diz-se que c S um controle de natureza permissiva. O conjunto de eventos habilitados num dado e instante pelo supervisor dene uma entrada de controle. Esta atualizada a cada nova e ocorrncia de evento observada em G. e
Eventos Observados

Planta
Eventos Desabilitados
Supervisor

Figura 6.1: SED em malha fechada. Considera-se ainda que o conjunto de eventos que afetam a planta G particionado e num conjunto de eventos desabilitveis, ou controlveis, e um conjunto de eventos cuja a a natureza no permite a desabilitao. a ca Finalmente, ser considerado aqui que o supervisor pode desmarcar estados marcados a da planta G, ou seja, no reconhecer como tarefa do sistema em malha fechada, uma a cadeia que corresponde a uma tarefa do sistema em malha aberta. A seguir, o problema de controle ser reapresentado, agora formalmente, juntamente a com a noo de supervisor. ca

6.2

O problema de controle

Dada uma planta representada por um ADEF G com comportamento dado pelo par de linguagens (L(G), Lm (G)) denidas sobre um conjunto de eventos , dene-se uma estrutura de controle para G, pelo particionamento de em = c u

Controle Supervisrio de SEDs o onde

50

c o conjunto de eventos controlveis, que podem ser inibidos de ocorrer no sistema, e e a u o conjunto de eventos no controlveis, que no podem ser inibidos de ocorrer no e a a a sistema. Uma opao de controle aplicada ao sistema contm o conjunto ativo de evenc e tos habilitado a ocorrer no sistema. Com a deniao da controlabilidade de eventos, a c estrutura de controle toma a forma

= { 2 : u } onde a condiao u , indica simplesmente que os eventos no controlveis no podem c a a a ser desabilitados. Um supervisor pode ser representado por um autmato S, denido sobre o mesmo o alfabeto , cujas mudanas de estado so ditadas pela ocorrncia de eventos na planc a e ta G. A ao de controle de S, denida para cada estado do autmato, desabilitar ca o e em G os eventos que no possam ocorrer em S aps uma cadeia de eventos observada. a o O funcionamento do sistema controlado S/G pode ser descrito pelo SED resultante da composiao s c ncrona de S e G, isto , S G. De fato, na composiao s e c ncrona S G somente as transioes permitidas tanto no sistema controlado G, como no supervisor S so c a permitidas. O comportamento do sistema em malha fechada ento dado por e a L(S/G) = L(S G) e Lm (S/G) = Lm (S G)

O Problema de Controle Supervisrio pode ser formalmente apresentado como segue. o Problema 6.1 (PCS) Dada uma planta G, com comportamento (L(G), Lm (G)) e estrutura de controle , denidos sobre o conjunto de eventos ; e especicaes denidas co por A E ; encontre um supervisor no bloqueante S para G tal que a A Lm (S/G) E No problema em questo, as especicaoes A e E denem limites superior e inferior a c

Controle Supervisrio de SEDs o

51

para o comportamento do sistema em malha fechada. Observe que a exigncia de no e a bloqueio imposta ao supervisor pode ser expressa pela condiao c L(f /D) = Lm (f /D).

6.3

Controlabilidade e Soluo do PCS ca

Essencial para a soluo do problema de controle supervisrio o conceito de conca o e trolabilidade de linguagens. Dada uma planta G, com comportamento (L(G), Lm (G)) e estrutura de controle , denidos sobre o conjunto de eventos e a linguagem E L(G), E dita ser controlvel com respeito a G, ou simplesmente controlvel, se e a a

Eu L E. O seguinte resultado fundamental para a soluao do problema de controle supere c visrio como estabelecido anteriormente. o Proposio 6.1 Dada uma planta G, com comportamento (L(G), Lm (G)) e estrutura de ca controle , denidos sobre o conjunto de eventos e K Lm (G), existe um supervisor no bloqueante S para G tal que a Lm (S/G) = K, se e somente se K for controlvel. a Para uma linguagem E , seja C(E) o conjunto de linguagens controlveis contidas a em E. Pode-se provar que C(E) possui um elemento supremo sup C(E). O seguinte teorema fornece a soluo para o problema de controle supervisrio. ca o Teorema 6.1 O problema de controle supervisrio possui soluo se e somente se o ca sup C(E) A.

No caso das condies do teorema 6.1 serem satisfeitas, sup C(E) representa o co comportamento menos restritivo poss vel de se implementar por superviso no sistea

Controle Supervisrio de SEDs o

52

ma G, satisfazendo as especicaes A e E. Assim, o supervisor timo S tal que co o e Lm (S/G) = sup C(E).

6.4

Concluso a

Este cap tulo apresentou formalmente o PCS e sua soluao. O conceito de linguagem c controlvel e a existncia do elemento supremo do conjunto de linguagens controlveis a e a contidos numa dada linguagem que representa a especicaao de controle, so chaves c a na resoluo do problema. No cap ca tulo seguinte ser mostrado como se aplicam estes a resultados na s ntese de supervisores no bloqueantes timos. a o

Cap tulo 7 Metodologia para a s ntese de supervisores timos o


A metodologia bsica para a s a ntese de um supervisor timo que resolve o problema 6.1 o foi inicialmente proposta por Ramadge e Wonham (RW), e se baseia em trs passos, como e introduzido no cap tulo 3. Estes passos sero desenvolvidos a seguir, ` luz dos resultados a a apresentados no cap tulo 6. Para isso, retomamos os passos tais como introduzidos no cap tulo 3. 1. Obtenao de um modelo para a planta a ser controlada; c 2. Obtenao de um modelo de representao das especicaes a serem respeitadas; c ca co 3. Sntese de uma lgica de controle no bloqueante e tima. o a o

7.1

Obteno de um modelo para a planta ca

Este passo pode ser implementado, aplicando-se a abordagem local para modelagem de SEDs, como apresentada na seo 5.9. Assim, a planta a ser controlada pode ser obtida ca como segue. 1. Identicar o conjunto de sub-sistemas ou equipamentos envolvidos no sistema a controlar;

Metodologia para a s ntese de supervisores timos o

54

2. Construir o modelo bsico ADEF Gi , de cada equipamento i envolvido no sistema; a 3. Obter o modelo da planta a ser controlada, atravs da composio s e ca ncrona de todos os ADEF Gi . 4. Denir a estrutura de controle , pela identicaao dos conjuntos de eventos conc trolveis e no controlveis c e u , que afetam o sistema. a a a OBS: Representa-se um evento controlvel nos diagramas dos autmatos, por um pequeno a o corte nos arcos correspondentes `s transioes deste evento. a c Exemplo 7.1 (Estao de Envasilhamento) Considere a estao de envasilhamento ca ca apresentada no captulo 3. Neste exemplo, pode-se identicar os seguintes sub-sistemas: G0 : Esteira; G1 : Atuador Pneumtico; a G2 : Bomba; G3 : Tampador; G4 : Rob. o No nvel de abstrao que nos interessa, pode-se modelar cada um destes equipamentos ca pelos autmatos da gura 7.1. o
Gi , i = 0, . . . , 4 :
i

Figura 7.1: Autmatos para Gi , i = 0, . . . , 4. o Neste caso natural a identicao dos eventos controlveis e no controlveis como e ca a a a sendo c = {0 , 1 , 2 , 3 , 4 }, correspondendo ao conjunto de comandos de in de operao dos equipamentos e cio ca u = {0 , 1 , 2 , 3 , 4 },

Metodologia para a s ntese de supervisores timos o correspondendo aos sinais de sensores, de nal de operao de cada equipamento. ca

55

O modelo da planta global G (no mostrado aqui), com 32 estados, obtido pela a e composio dos autmatos Gi , i = 0, ...4. ca o Exemplo 7.2 (Pequena Fbrica) Considere agora o exemplo de uma Linha de Transa ferncia composta de duas mquinas M1 e M2 e um armazm intermedirio de capacidade e a e a 1 (gura 7.2).
M1 B M2

Figura 7.2: Linha de transferncia e Considera-se que o comportamento bsico de cada mquina, sem considerar a possibia a lidade de quebra, o seguinte: ao receber um sinal de comando i , a mquina Mi carrega e a uma pea e realiza uma operao sobre a mesma; ao nalizar a operao (sinal i ) a c ca ca mquina descarrega automaticamente a pea. O modelo de cada equipamento (M1 e M2 ) a c ento aquele descrito na gura 7.3. No caso e a c = {1 , 2 }, u = {1 , 2 }.

M1 :

M2 :

Figura 7.3: Modelo das mquinas M1 e M2 a O modelo da planta G, obtido pela composio dos modelos de cada mquina, aquele ca a e mostrado na gura 7.4.

7.2

Obteno de um modelo para a especicao ca ca

A obteno da linguagem E Lm (G) que restringe o comportamento do sistema a ca um comportamento que atenda aos objetivos de projeto, tambm pode feita seguindo e uma abordagem local de modelagem. De fato, em geral as restrioes de coordenao para c ca o sistema so mltiplas e a modelagem de cada uma mais natural e simples de ser a u e

Metodologia para a s ntese de supervisores timos o


G:
1

56

1 2 2 1 2 2

Figura 7.4: Modelo da planta. feita separadamente. Os passos para a obtenao da especicaao global E, seguindo uma c c abordagem local, so os seguintes. a 1. Construir autmatos Ej para cada restrio de coordenaao j, do sistema a ser o ca c controlado; c o dos no passo 1; compor o autmato o 2. Realizar a composiao dos autmatos constru resultante com o autmato da planta G, gerando o autmato R; o o 3. Atualizar R pela eliminaao, caso houver, de estados considerados proibidos; c 4. Atualizar R pelo clculo de sua componente co-acess a vel, ou no bloqueante. a A especicao global E dada por ca e E = Lm (R). Algumas consideraoes podem ser feitas acerca de cada passo do procedimento acima. c O passo 1 corresponde ` identicaao e modelagem das restries de coordenao a a c co ca serem impostas ao sistema. Em geral, cada uma delas diz respeito a um sub-conjunto dos sub-sistemas ou equipamentos do sistema. Alm disso elas podem ser muitas vezes e descritas por um conjunto pequeno de eventos do sistema, e no necessitam considerar o a comportamento global de cada equipamento. Por exemplo quando se modela a justia no c acesso de tarefas a um recurso (exemplo 4.6), considera-se to somente os eventos a e b, a sem necessidade de levar em conta o comportamento global de cada tarefa. A composiao das restries de coordenaao, feita no passo 2, leva a uma restriao c co c c global de coordenaao. Para que esta restriao seja reescrita levando em conta o comporc c

Metodologia para a s ntese de supervisores timos o

57

tamento da planta, faz-se necessrio sua composiao com G. O autmato R resultante a c o e tal que Lm (R) Lm (G). O autmato R pode conter estados proibidos (indicando por exemplo uma coliso) o a que devem ento ser eliminados, como no passo 3. Aps este passo pode-se armar que a o Lm (R) = E. Finalmente, o passo 4 reete a idia de que no se deseja que a especicaao inclua e a c situaes de bloqueio. Ao nal deste passo, tem-se co Lm (R) = E Lm (G) e L(R) = Lm (R), correspondendo ao modelo nal para a especicao E. ca Exemplo 7.3 Retomando-se o exemplo 7.2 da pequena fbrica, considere a restrio de a ca coordenao que impede que haja overow(M1 descarrega pea no armazm j cheio) ca c e a ou underow(M2 inicia processo de carga com o armazm vazio). Esta restrio pode e ca ser modelada pelo autmato E1 da gura 7.5, que expressa a idia de que se deve alternar o e 1 e 2 , iniciando-se pelo primeiro.
E1 :
1

Figura 7.5: Especicao de no overow e no underow do buer. ca a a Na gura 7.5, o fato de se marcar o estado inicial indica que somente se deseja considerar tarefa completa no sistema controlado, as cadeias que correspondam a situaes co em que o armazm est vazio. Observe que esta condio no garantida pela planta G e a ca a e da gura 7.4. O autmato R que representa a especicao E, obtido pela composio do autmato o ca ca o E1 com G, mostrado na gura 7.6. e

Metodologia para a s ntese de supervisores timos o


2 2 1 2 1 2 1 2 1
7

58

R:
0

Figura 7.6: Autmato para E. o

7.3

S ntese do supervisor no bloqueante timo a o

O ultimo passo na resoluao do P CS a s c e ntese do supervisor S que implementa a lgica no bloqueante tima, no sentido de menos restritiva poss o a o vel. Caso E Lm (G) seja controlvel, a proposiao 6.1 garante que existe um supervisor no bloqueante tal a c a que Lm (S/G). No entanto, nem sempre E atende a condio de controlabilidade, o que ca torna necessrio que se calcule a linguagem controlvel que mais se aproxime de E, e a a que no contenha cadeias indesejveis de eventos. Esta linguagem dada por sup C(E) e a a e representa a lgica tima de superviso. o o a O clculo de sup C(E) baseia-se num procedimento iterativo que identica maus a estadosno autmato R que modela E, obtido no segundo passo da metodologia, como o descrito na seo 7.2. ca Algor tmo de clculo de sup C(E) a Dados G = (X, , f, x0 , Xm ) e R = (Q, , fR , q0 , Qm ), obtidos como descrito nas sees co 7.1 e 7.2, tais que Lm (R) = E Lm (G); 1. Identicar maus estados em R; caso no existam faa S = R, m. a c 2. Caso existam, atualizar R por eliminaao dos maus estados; c 3. Calcular a componente trim de R e voltar ao passo 1.

7.3.1

Denio de maus estados ca

E poss vel observar que o autmato R obtido inicialmente pela composiao de G o e c com os autmatos que denem as restries de coordenao (seao 7.2). Isso implica o co ca c

Metodologia para a s ntese de supervisores timos o

59

que cada estado q Q de R pode ser visto como um estado composto (x, .) que aponta univocamente para um estado x de G, tal que se s uma seqncia de eventos tais que e ue fR (q0 , s) = q ento: a x = f (x0 , s) As guras 7.7, 7.8 ilustram idia acima. e
a, b
0 1 0

a
1

Figura 7.7: Autmatos G e C = Ei o


0,0

1,1

c c

0,1

1,0

Figura 7.8: Autmato R = G C o Um estado q = (x, .) de R mau estado se existe u tal que G (x) e e R (q).

7.4

Implementao / Realizao do supervisor ca ca

O autmato S = (, , fS , 0 , m ) obtido no algoritmo descrito anteriormente tal o e que Lm (S) = sup C(E). Na realidade S pode ser usado para gerar um programa de controle que implementa a superviso desejada, atravs, por exemplo, de um programa a e jogador de autmatos, da seguinte forma: o Na ocorrncia de um evento, o jogador de autmatos atualiza o estado de S, e o segundo sua funo de transiao e, no estado destino , os eventos S () ca c so desabilitados na planta. O comportamento resultante em malha fechada a Lm (S) (Lm (S) = L(S)). e

Metodologia para a s ntese de supervisores timos o

60

Na verdade, S no , em geral, o unico autmato que pode ser usado como supervisor. a e o De fato, qualquer autmato S tal que Lm (S G) = Lm (S) e L(S G) = L(S) pode o tambm ser usado como autmato para implementar a superviso. e o a Exerc cio 7.1 Considere o autmato G da gura 7.9. Aplique o algoritmo da metodologia o apresentada quando a restrio de coordenao alternar os eventos b e d, considerados ca ca e controlveis. Neste caso G j a planta livre. Discuta a ao de controle. Este o a a e ca e supervisor mais simples que implementa uma ao de controle? ca

c a e

Figura 7.9: Autmato G (exerc 7.1) o cio

Exemplo 7.4 Retomando o exemplo 7.2, da pequena fbrica, a partir de G (gura 7.4) a e R (gura 7.3), pode-se calular S como na gura 7.10.
S:
0

2 1 1 2 2 1

2 1

Figura 7.10: Mxima linguagem controlvel. a a Este autmato diferente do autmato R que representa E, indicando a no cono e o a trolabilidade desta linguagem. S mostra, por exemplo, a ao de controle que impede a ca mquina M1 de iniciar uma operao quando o armazm estiver cheio (evento 1 no esa ca e tado 2 do supervisor). Observe que este evento no est desabilitado na especicao E a a ca (estado 2 de R). Esta ao necessria para impedir de forma indireta a ocorrncia do ca e a e evento no controlvel 1 . a a

Metodologia para a s ntese de supervisores timos o

61

7.5

Exemplos

Esta seao apresenta alguns exemplos do uso da metodologia desenvolvida. c Exemplo 7.5 Considere novamente o exemplo da pequena fbricamostrada na gua ra 2.6. No entanto, considere agora que se deseja construir um supervisor que possa reagir automaticamente possveis quebras nas mquinas. Para isso se supes que o agente a o de superviso tem acesso ` informao de quebra, embora, obviamente no possa desaa a ca a bilit-las. Neste caso os modelos de comportamento individual das mquinas devem ser a a alterados para incluir o estado de quebra. A gura 7.11 mostra modelos de autmatos o para o comportamento das mquinas, que podem estar em repouso, trabalhando ou quea bradas. O modelos inclui os eventos no controlveis de quebra das mquinas (1 e 2 ), a a a bem como os eventos de reparo das mesmas (1 e 2 ), estes controlveis. Do modelo se a pode observar que se assume que as mquinas s quebram quando em operao, e que, a o ca quando reparadas elas voltam ao estado de repouso, com o descarte das peas. c
M1 :
1 1 1 1 2

M2 :

2 2 2

Figura 7.11: Modelo das mquinas com quebra M1 e M2 a Deve-se projetar um supervisor para atender as seguintes restries de coordenao: co ca 1. Impedir overowe underowdo armazm; e 2. A prioridade de reparo da mquina M2 , ou seja, caso M1 e M2 encontrem-se e a ambas quebradas, M2 deve ser reparada primeiro. A gura 7.12 mostra autmatos que modelam essas restries. O autmato R = o co o E1 E2 G no mostrado. a e Finalmente, a gura 7.13 mostra um autmato para S, que implementa o comportao mento sup C(E).

Metodologia para a s ntese de supervisores timos o


E1 : E2 :
1

62

Figura 7.12: No overow e underow do armazm, e prioridade de reparo de M2 . a e


2 2 1 1 1 1 2 2 1 2 1 1 1 2 2 2 2 2 1 1 1 2 2

S:

Figura 7.13: Mxima linguagem controlvel. a a Exemplo 7.6 (Linha de Transferncia com Retrabalho) Considere agora a linha e de transferncia da gura 7.14, onde existem duas mquinas, M1 e M2 , e uma unidae a de de teste T U , separadas por armazns B1 e B2 . A unidade de teste T U realiza um e teste de controle de qualidade sobre as peas (evento 5) e, segundo o resultado seja pea c c boa(evento 60) ou pea ruim(evento 80), descarrega a pea (evento 62) ou retorna c c a mesma ao armazm B1 , para retrabalho em M2 . A gura 7.15 mostra modelos de e autmatos para cada equipamento do sistema. o
M1 B1 M2 B2 TU

Figura 7.14: Linha de transferncia e As restries de coordenao so dadas pelo no overowou no underowdos co ca a a a armazns B1 e B2 , considerados ambos de capacidade 1. Modelos para estas restries e co so apresentados na gura 7.16. O autmato R no mostrado. a o a e A gura 7.17 mostra a soluo do problema. ca

Metodologia para a s ntese de supervisores timos o

63

M1 :

M2 :

TU :
62 82 5 60 80

Figura 7.15: Modelo dos componentes do sistema.

E1 :

2, 82 3 (a)

E2 :

4 5 (b)

Figura 7.16: Especicao de no overow e no underow dos armazns: (a) B1 e (b) ca a a e B2 .

S:

82
0

80 3 4 62 3 60
10

1 62

2 62

5 62

62 2
9

11

Figura 7.17: Lei de controle tima para a linha com retrabalho. o

Metodologia para a s ntese de supervisores timos o

64

Exemplo 7.7 Considere agora o sistema mostrado na gura 7.18, formado por duas mquinas, um AGV e uma esteira. As mquinas depositam peas no AGV, e ele leva de a a c uma mquina para outra ou coloca na esteira. a Os eventos considerados no controlveis so a a a u = {b, d}, os eventos de descarga da pea no AGV. c
Esteira a M1 b c M2 d e

AGV

Figura 7.18: Sistema AGV Os modelos de autmatos para as mquinas e para o AGV so mostrados nas guras o a a 7.19 e 7.20, respectivamente.
M1 :
a

M2 :

Figura 7.19: Modelo das mquinas M1 e M2 a


AGV :
b

c, e d e

Figura 7.20: Modelo do AGV A gura 7.21 mostra o modelo da composio entre M1 e M2 , e a gura 7.22 mostra ca o modelo da planta G = M1 M2 AGV . As restries de coordenao so: co ca a

Metodologia para a s ntese de supervisores timos o

65

M1 ||M2 :

b c d a c d

Figura 7.21: Modelo de M1 ||M2

M1 ||M2 ||AGV :
a e e d c a a e c b b e d e a e

Figura 7.22: Modelo de M1 ||M2 ||AGV

Metodologia para a s ntese de supervisores timos o 1. As peas devem ser processadas na ordem M1 M2 ; c 2. Evitar o bloqueio.

66

A gura 7.23 mostra um modelo para a primeira restrio, proibindo o evento e quando ca o AGV carregado com uma pea de M1 (evento b). A segunda restrio naturalmente e c ca e resolvida pelo procedimento de sntese.
E1 :
e b

Figura 7.23: Restrio E1 ca A especicao nal E, modelada por R mostrada na gura 7.24. ca e
a

R:
a e b d c a a c d e

Figura 7.24: Autmato para E o A gura 7.25 ilustra a lgica de controle tima, obtida aps o clculo de sup C(E). o o o a Exerc cio 7.2 Encontre modelos para as restries de coordenao do problema da esco ca tao de envasilhamento de cerveja. ca

7.6

Consideraes sobre a resoluo do PCS co ca

A metodologia de resoluao do PCS, como introduzida neste cap c tulo permite abordar o problema de s ntese de controladores para SEDs de modo formal e sistemtico. No a entanto, alguns aspectos da metodologia considerada dicultam a sua utilizao prtica, ca a especialmente em aplicaes de grande porte. Estes aspectos sero discutidos a seguir. co a

Metodologia para a s ntese de supervisores timos o


S:
a e b d c a e

67

Figura 7.25: Autmato para sup C(E). o

7.6.1

Complexidade Computacional

A s ntese de supervisores compreende basicamente os seguintes procedimentos computacionais: composiao s c ncrona de autmatos para a obtenao da planta G e do autmato o c o R que modela a especicao; clculo do autmato S que implementa a lgica de controle ca a o o dada por sup C(E). A complexidade computacional deste conjunto de procedimentos e polinomial no produto do nmero de estados de G e R. Isto signica que o nmero de u u operaoes realizadas pode ser escrito como um polinmio a varivel que representa este c o a produto. Isto garante que o tempo de processamento, sendo proporcional ao nmero de u operaoes, no explode (caso de complexidade exponencial). No entanto, o nmero de c a u estados de G ou R cresce exponencialmente com o nmero de sub-sistemas ou de resu tries de coordenaao, o que coloca problemas de tempo de processamento em sistemas co c de porte maior. Algumas extenses da abordagem clssica aqui apresentada tm sido o a e desenvolvidas na literatura para lidar com este problema. Dentre estas pode-se citar o Controle Modular, Controle de Sistemas com Simetria, Controle Hierrquico, etc. a

7.6.2

Legibilidade/estruturao ca

Outro problema que advm da abordagem apresentada neste documento o fato de e e que a soluo do problema de s ca ntese dada na forma de um supervisor unico, representae do por um autmato que pode ter um nmero grande de estados. Isto gera um problema o u de legibilidade da lgica resultante, ou seja, o engenheiro no tendo condiao de intero a c pretaresta lgica, tem em geral, resistncia em aceit-la. Alm disso, a implementao o e a e ca de um programa de controle que implemente este supervisor monol tico, pouco estrutue rada. Uma soluao para estes problemas a abordagem modular de s c e ntese, que explora

Metodologia para a s ntese de supervisores timos o

68

o carter modular da planta e da especicaao, explodindo-o em problemas menores. O a c resultado um conjunto de supervisores de pequeno porte que atuam conjuntamente. e Esta forma de resolver o PCS leva a lgicas elementares de maior legibilidade e permitem o uma melhor estruturaao do programa, dividido em mdulos de controle. Alm disso, c o e estes mdulos muitas vezes podem ser implementados de forma distribu em diferentes o da, processadores atuando sobre partes da planta.

7.6.3

Ferramentas

A viabilidade do uso da metodologia de s ntese proposta passa forosamente pela disc ponibilidade de ferramentas computacionais que a implementem. Algumas destas esto a hoje dispon veis porm, em geral, so desenvolvidas no meio acadmico, e no tm as e a e a e boas caracter sticas de um produto, no que diz respeito a suas interfaces e capacidade de lidar com problemas de porte. O desenvolvimento de ferramentas computacionais comerciais de fundamental importncia para a disseminaao e aplicaao da metodologia e a c c aqui apresentada. O anexo A apresenta o pacote GRAIL, que implementa vrias funoes relacionadas ao a c PCS.

7.7

Concluso a

Este cap tulo apresentou um desenvolvimento dos passos que constituem a metodologia de s ntese de supervisores, na sua forma bsica. Extenses desta metodologia foram e esto a o a sendo desenvolvidas para lidar com aspectos particulares envolvidos no controle de SEDs. A observao parcial de eventos, modelos temporizados, modelos estocsticos, controle ca a modular, controle descentralizado, controle hierrquico, controle robusto, sistemas com a simetria, controle supervisrio de plantas de dinmica h o a brida, dentre outras, so algumas a destas extenses. o

Cap tulo 8 Concluso a


Este documento foi gerado com o propsito de ser um texto bsico para a Teoria de o a Controle de Sistemas a Eventos Discretos, poss vel de ser utilizado em uma disciplina de graduaao em engenharia. Neste sentido, o documento priorizou aspectos do uso da c teoria, sem aprofundar muito os aspectos formais, tanto os da teoria de Linguagens e Autmatos, base para a metodologia apresentada, como os da prpria teoria de controle. o o

8.1

Referncias e

As referncias listadas abaixo abrangem diferentes aspectos da rea, divididos como e a segue. Teoria de linguagens e autmatos: (Hopcroft & Ullmann 1979) o Sistemas a eventos discretos: (Cassandras 1992)(Cassandras & Lafortune 1999) Teoria bsica de controle de SEDs: (Kumar & Garg 1995)(Ramadge & Wonham a 1987b)(Ramadge & Wonham 1987a)(Ramadge & Wonham 1989)(Vaz & Wonham 1986)(Wonham & Ramadge 1987)(Wonham 1999)(Ziller 1993)(Ziller & Cury 1994) Aplicaoes e implementaao: (Balemi, Homann, Gyugyi, Wong-Toi & Franklin c c 1993)(Brandin 1996)(de Queiroz & Cury 2001a)(de Queiroz & Cury 2001b)(de Queiroz, Santos & Cury 2001)(Ernberg, Fredlund, Hansson, Jonsson, Orava & Pehrson 1991)(Hubbard & Caines 1998a)(Hubbard & Caines 1998b)(Lauzon, Ma, Mills &

Concluso a

70

Benhabib 1996)(Leduc, Brandin & Wonham 2001)(Martins & Cury 1997)(Martins 1999)(Tittus & Lennarston 1998)(Torrico 1999) Ferramentas computacionais: (Raymond & Derick 1995)(Rudie 1988) Extenses da teoria: o (Antsaklis 2000)(Brandin & Wonham 1994)(Brave &

Heymann 1993)(Caines, Gupta & Chen 1997)(Caines & Wei 1995)(Cury, Krogh & Niinomi 1998)(Cury & Krogh 1999)(Cury, Torrico & Cunha 2001)(da Cunha & Cury 2000)(da Cunha & Cury 2002)(de Queiroz & Cury 2000a)(de Queiroz & Cury 2000b)(de Queiroz 2000)(Gohari-Moghadam & Wonham 1998)(Gohari & Wonham 2000)(Gonzlez 2000)(Gonzlez, Cunha, Cury & Krogh 2001)(Gonzlez & a a a Cury 2001)(Li, Lin & Lin 1998)(Li, Lin & Lin 1999)(Lin & Wonham 1990)(Lin 1993)(Pappas, Laerriere & Sastry 2000)(Raisch & OYoung 1998)(Ramadge & Wonham 1987b)(Rudie & Wonham 1992)(Sathaye & Krogh 1998)(Thistle & Wonham 1994a)(Thistle & Wonham 1994b)(Torrico & Cury 2001b)(Torrico & Cury 2001a)(Wong, Thistle, Malhame & Hoang 1995)(Wong & Wonham 1996a)(Wong & Wonham 1996b)(Wong & Wonham 1998)(Wong, Thistle, Malhame & Hoang 1998)(Wong 1998)(Wong, Thistle, Malhame & Hoang 2000)(Wong & Wonham 2000)

Apndice A e Resumo Ferramenta Grail


Tatiana Renata Garcia tati@lcmi.ufsc.br

A.1

Introduo ca

A ferramenta Grail um ambiente de computaao simblico para mquinas de estae c o a do nitas, expresses regulares e linguagens nitas. A ferramenta foi elaborada com a o inteno de ser usada em ensino, pesquisa e extenso. ca a

A.2

FM Mquinas de estado nitas a

No Grail o formato de especicao de uma FM consiste de uma lista de instruoes ca c armazenada em um arquivo ASCII. A FM da gura A.1 possui a seguinte especicao ca no Grail: (START) |- 0 0 1 1 2 a b 1 2

-| (FINAL) -| (FINAL)

Resumo Ferramenta Grail

72

Figura A.1: Mquina de estados nitos a iscomp isdeterm isomorph isuniv testa testa testa testa se se se se FM completa e FM determin e stica FM isomorfa e FM universal e

Tabela A.1: Predicados do Grail O Grail oferece alguns predicados e vrios ltros para trabalhar com FM. A tabela A.1 a mostra os predicados e a tabela A.2 mostra os ltros.

A.3

Exemplo

A seguir apresentado um problema e como resolv-lo utilizando o Grail. e e Suponha um sistema constitu de duas mquinas e um buer, como na gura A.2. do a Os eventos c = {a1 , a2 } indicam in de operaao e depsito de pea no buer e u = cio c o c {b1 , b2 } indicam m de operao. As mquinas devem ser modeladas sem a possibilidade ca a de quebra.

a1

M1

b1

a2

M2

b2

Figura A.2: Pequena fbrica a O autmato que representa a mquina M1 est na gura A.3 e no Grail possui o o a a seguinte formato: (START) |- 0 0 a_1 1 1 b_1 0 0 -| (FINAL) A mquina M2 mostrada na gura A.4 e possui o seguinte formato no Grail: a e

Resumo Ferramenta Grail

73

fmalpha fmcat fmcment fmcomp fmcondat fmcross fmdeterm fmenum fmexec fmloop fmmark fmmin fmminrev fmplus fmproj fmreach fmremove fmrenum fmreverse fmsort fmstar fmstats fmsupc fmsync fmtodot fmtovcg fmtrim fmunion

tira o alfabeto de uma FM concatena duas FMs complementa uma FM completa uma FM informa dados de controle sobre FM intersecciona duas FMs torna FM determin stica enumera palavras reconhecidas pela FM dada uma cadeia executa a FM faz o self-loop de eventos da primeira FM na segunda FM marca todos os estados da FM minimiza a FM minimiza a FM (outro mtodo) e faz o plus de uma FM faz a projeo de uma FM ca retira a componente acess de uma FM vel elimina estados de uma FM renumera os estados de uma FM encontra o reverso de uma FM sorteia as instruoes para os estados c faz o fechamento Kleene de uma FM obtm informaoes sobre a FM e c encontra a mxima linguagem controlvel a a faz o produto s ncrono de duas FMs converte uma FM para o formato .dot converte uma FM para o formato .vcg encontra a componente trim de uma FM encontra a unio de duas FMs a Tabela A.2: Filtros do Grail

Resumo Ferramenta Grail

74

a1 0 b1

Figura A.3: Modelo mquina 1 a (START) |- 0 0 a_2 1 1 b_2 0 0 -| (FINAL)

a2 0 b2

Figura A.4: Modelo mquina 2 a A restriao de coordenao, ou especcaao, para este sistema consiste em evitar c ca c overow e underow no buer. O autmato que modela esta restriao est na gura A.5 o c a e sua representaao no Grail a seguinte: c e (START) |- 0 0 b_1 1 1 a_2 0 0 -| (FINAL)

b1 0 a2
Figura A.5: Modelo restrio ca A parte de modelagem do exemplo est conclu com cada modelo armazenado em a da um arquivo, agora podem-se aplicar os ltros do Grail para encontrar o supervisor minimamente restritivo. 1. Construir a planta livre, atravs da composiao s e c ncrona das mquinas M1 e M2 : a fmsync m1 m2 > planta

Resumo Ferramenta Grail Normalmente joga-se o resultado da funao num outro arquivo (> planta); c 2. Realizar a composiao da planta com a restriao: c c fmsync planta restriao > s c~ vel 3. Encontrar a componente co-acess de s: fmtrim s > strim

75

4. Criar um arquivo de um unico estado com self-loop dos eventos no controlveis a a (arquivo n-cont, por exemplo): (START) |- 0 0 b_1 0 0 b_2 0 0 -| (FINAL) 5. Encontrar o supervisor minimamente restritivo: fmsupc planta strim ncon > supervisor onde strim a especicaao que a planta deve obedecer. e c Para visualizar os resultados poss utilizar a ferramenta Graphviz, j que o Grail e vel a possui uma funao que converte o arquivo ASCII com o autmato para o formato da c o ferramenta (.dot). Para converter um arquivo basta usar o seguinte comando: fmtodot nomearq > nomearq.dot Uma observao deve ser feita sobre a numerao dos estados nos autmatos gerados ca ca o pelo Grail. Ao executar a funao m3 = fmsync m1 m2, n3 o nmero de um estado de c e u m3 e deseja-se poder determinar a numerao de estados equivalentes para m1 e m2, isto ca , o par (n1 , n2 ) equivalente aos estados de m1 e m2 correspondentes aos estados de m3. e O primeiro passo para encontrar o par (n1 , n2 ) determinar max1 , o mximo nmero e a u de estado para m1 e depois realizar a seguinte diviso: a n3 = n1 max1 + 1 e o resto da diviso indica n2 . a

Resumo Ferramenta Grail

76

A.4

Utilizao do Grail ca

As ferramentas Grail e Graphviz so utilizadas atravs de uma linha de comando, e a e no LCMI esto instaladas na mquina Kleene. Para utiliz-las, necessrio ajustar o a a a e a PATH: set path="%path%";c:\sed\grail\bin;c:\sed\graphviz\bin; Aps acertar o PATH pode-se chamar todas as funes do Grail atravs da linha de o co e comando. Para utilizar o Graphviz basta chamar a funo dotty, como mostra o exemplo: ca dotty strim.dot As ferramentas podem ser obtidas nos seguintes endereos: c ftp://ftp.lcmi.ufsc.br/pub/Windows/programacao/sed/ http://www.research.att.com/sw/tools/graphviz/

Referncias Bibliogrcas e a
Antsaklis, P. J. (2000). Special issue hybrid systems: Theory and applications, Proceedings of the IEEE 88(7). Balemi, S., Homann, G. J., Gyugyi, P., Wong-Toi, H. & Franklin, G. F. (1993). Supervisory control of a rapid thermal multiprocessor, IEEE Transactions on Automatic Control 38(7): 10401059. Brandin, B. A. (1996). The real-time supervisory control of an experimental manufacturing cell, IEEE Transactions on Robotics and Automation 12(1): 114. Brandin, B. A. & Wonham, W. M. (1994). Supervisory control of timed discrete-event systems, IEEE Transactions on Automatic Control 39(2): 329342. Brave, Y. & Heymann, M. (1993). Control of discrete event systems modeled as hierarchical machines, IEEE Transactions on Automatic Control 38(12): 18031819. Caines, P. E., Gupta, V. & Chen, G. (1997). The hierarchical control of st-nite state machines, Systems and Control Letters 32(6): 185192. Caines, P. E. & Wei, Y. J. (1995). The hierarchical lattices of a nite machine, System and Control Letters 30(3): 257263. Cassandras, C. G. (1992). Discrete Event Systems Modeling, Perfomance and Analysis, 1 ed., Aksen Associates Incorporated Publishers, New Jersey. Cassandras, C. G. & Lafortune, S. (1999). Introduction to Discrete Event Systems, 2 ed., Kluwer Academic Publishers, Massachussets. Cury, J. E. R. & Krogh, B. H. (1999). Synthesizing supervisory controllers for hybrid systems, Journal of the Society of Instrument and Control Engineers 38(3): 161 168.

Referncias Bibliogrcas e a

78

Cury, J. E. R., Krogh, B. H. & Niinomi, T. (1998). Synthesis of supervisory controllers for hybrid systems based on approximating automata, IEEE Transactions on Automatic Control 43(4): 564568. Cury, J. E. R., Torrico, C. R. C. & Cunha, A. E. C. (2001). A new approach for supervisory control of discrete event systems, Proceedings of the European Control Conference, Porto Portugal. da Cunha, A. E. C. & Cury, J. E. R. (2000). Uma metodologia de reduao de modelos para c sistemas a eventos discretos para s ntese de supervisores, Anais do XIII Congresso Brasileiro de Automtica, Florianpolis, SC, p. 22572262. a o da Cunha, A. E. C. & Cury, J. E. R. (2002). Hierarchically consistent controlled discrete event systems. submetido ao IFAC2002. de Queiroz, M. H. (2000). Controle Modular Local para Sistemas de Grande Porte, Dissertaao (mestrado), Programa de Ps-Graduaao em Engenharia Eltrica, Univerc o c e sidade Federal de Santa Catarina, Florianpolis, SC. o de Queiroz, M. H. & Cury, J. E. R. (2000a). Modular control of composed systems, Proceedings of the American Control Conference (ACC), Chicago USA. de Queiroz, M. H. & Cury, J. E. R. (2000b). Modular supervisory control of large scale discrete event systems, Proceedings of the Workshop on Discrete Event Systems (WODES), Ghent Belgium. de Queiroz, M. H. & Cury, J. E. R. (2001a). Controle supervisrio modular de sistemas o de manufatura. Aceito para publicaao na Revista da SBA. c de Queiroz, M. H. & Cury, J. E. R. (2001b). Synthesis of readable supervisory control programs. Submetido ao IFAC 2002. de Queiroz, M. H., Santos, E. A. P. & Cury, J. E. R. (2001). S ntese modular do controle supervisrio em diagrama escada para uma clula de manufatura, Proceedings of the o e Simpsio Brasileiro de Automao Inteligente (SBAI), Canela - Brasil. o ca Ernberg, P., Fredlund, L.-A., Hansson, H., Jonsson, B., Orava, F. & Pehrson, B. (1991). Guidelines for specication and verication of communication protocols, Relatrio o tcnico, Swedwish Institute of Computer Science. e

Referncias Bibliogrcas e a

79

Gohari-Moghadam, P. & Wonham, W. M. (1998). A linguistic framework for controlled hierarchical des, Proceedings of the Fourth Workshop on Discrete Event Systems, Cagliari, Italy, p. 207212. Gohari, P. & Wonham, W. M. (2000). Reduced supervisors for timed discrete-event systems, In: R. Boel & G. Stremersch (ed.), Discrete Event Systems: Analysis and Control, Kluwer Academic Publishers, Ghent, Belgium, p. 119130. Gonzlez, J. M. E., Cunha, A. E. C., Cury, J. E. R. & Krogh, B. H. (2001). Supervision a of event driven hybrid systems: Modeling and synthesis, In Proceedings of Hybrid Systems: Computation and Control, LNCS, Italy. Gonzlez, J. M. E. & Cury, J. E. R. (2001). Exploiting simmetry in the synthesis of supera visors for discrete event systems. To appear in the IEEE Transactions on Automatic Control. Gonzlez, J. M. E. (2000). Aspectos de S a ntese de Supervisores para Sistemas a Eventos Discretos e Sistemas Hbridos, Tese (doutorado), Programa de Ps Graduao em o ca Engenharia Eltrica, Universidade Federal de Santa Catarina, Florianpolis, Brasil. e o Hopcroft, J. E. & Ullmann, J. D. (1979). Introduction to Automata Theory, Languages and Computation, 1 ed., Addison Wesley Publishing Company, Reading. Hubbard, P. & Caines, P. E. (1998a). A state aggregation approach to hierarchical supervisory control with applications to a transfer-line example, Proceedings of the Fourth Workshop on Discrete Event Systems, Cagliari, Italy, p. 27. Hubbard, P. & Caines, P. E. (1998b). Trace-dc hierarchical supervisory control with applications to transfer-lines, Proceedings on the 37th IEEE Conference on Decision and Control, Tampa, Florida, p. 32933298. Kumar, R. & Garg, V. K. (1995). Modeling and Control of Logical Discrete Event Systems, 1 ed., Kluwer Academic Publishers, Boston. Lauzon, S. C., Ma, A. K. L., Mills, J. K. & Benhabib, B. (1996). Application of discreteevent-system theory to exible manufacturing, IEEE Control Systems Magazine p. 4148. Leduc, R. J., Brandin, B. A. & Wonham, W. M. (2001). Hierarchical interface-based non-blocking verication. A aparecer em conferncia no Canad. e a

Referncias Bibliogrcas e a

80

Li, Y., Lin, F. & Lin, Z. H. (1998). A generalized framework for supervisory control of discrete event systems, International Journal of Intelligent Control and Systems 2(1): 139159. Li, Y., Lin, F. & Lin, Z. H. (1999). Supervisory control of probabilistic discrete event systems with recovery, IEEE Transactions on Automatic Control 44(10): 19711974. Lin, F. (1993). Robust and adaptative supervisory control of discrete event systems, IEEE Transactions on Automatic Control 38(12): 18481852. Lin, F. & Wonham, W. M. (1990). Descentralized control and coordination of discreteevent systems with partial observation, IEEE Transactions on Automatic Control 35(12): 13301337. Martins, E. D. (1999). Uma Arquitetura Fsica para a Implementao do Controle Su ca pervisrio de Sistemas a Eventos Discretos, Dissertao (mestrado), Programa de o ca Ps-Graduao em Engenharia Eltrica, Universidade Federal de Santa Catarina, o ca e Florianpolis, SC. o Martins, E. D. & Cury, J. E. R. (1997). Uma arquitetura para implementao de conca trole supervisrio de sistemas a eventos discretos, Anais 3o Simpsio Brasileiro de o o Automao Inteligente, Vitria, ES, p. 184189. ca o Pappas, G. J., Laerriere, G. & Sastry, S. (2000). Hierarchically consistent control systems, IEEE Transactions on Automatic Control 45(6): 11441160. Raisch, J. & OYoung, S. D. (1998). Discrete approximation and supervisory control of continuous systems, IEEE Trans. on Automatic Control 43(4): 569573. Ramadge, P. J. G. & Wonham, W. M. (1989). The control of discrete event systems, Proceedings of the IEEE 77(1): 8198. Ramadge, P. J. & Wonham, W. M. (1987a). Modular feedback logic for discrete event systems, SIAM Journal of Control and Optimization 25(5): 12021218. Ramadge, P. J. & Wonham, W. M. (1987b). Supervisory control of a class of discrete event processes, SIAM Journal of Control and Optimization 25(1): 206230. Raymond, D. & Derick, W. (1995). Grail: A c++ library for automata and expressions, Journal of Symbolic Computation 11.

Referncias Bibliogrcas e a

81

Rudie, K. G. (1988). SOFTWARE FOR THE CONTROL OF DISCRETE EVENT SYSTEMS: A Complexity Study, Dissertaao (mestrado), Systems Control Group, c Department of Electrical & Computer Engineering, University of Toronto, Toronto, Canada. Rudie, K. & Wonham, W. M. (1992). Think globally, act locally: Decentralizaed supervisory control, IEEE Transactions on Automatic Control 37(11): 16921708. Sathaye, A. S. & Krogh, B. H. (1998). Supervisor synthesis for real-time discrete event systems, Discrete Event Dynamic Systems: Theory and Applications 8(1): 535. Thistle, J. G. & Wonham, W. M. (1994a). Control of innite behavior of nite automata, SIAM J. Control and Optimization 32(4): 10751097. Thistle, J. G. & Wonham, W. M. (1994b). Supervision of innite behavior of discreteevent systems, SIAM J. Control and Optimization 32(4): 10981113. Tittus, M. & Lennarston, B. (1998). Hierarchical supervisory control for batch processes, Proceedings on the 37th IEEE Conference on Decision and Control, Tampa, Florida, p. 32513255. Torrico, C. C. & Cury, J. E. R. (2001a). Controle supervisrio hierrquico de sistemas a o a eventos discretos: Uma abordagem baseada na agregaao de estados, Proceedings of c the Simpsio Brasileiro de Automao Inteligente (SBAI), Canela - Brasil. o ca Torrico, C. C. & Cury, J. E. R. (2001b). Hierarchical supervisory control of discrete event systems based on state aggregation. Submitted to the 2002 IFAC World Congress. Torrico, C. R. C. (1999). Implementao de Controle Supervisrio de Sistemas a Eventos ca o Discretos Aplicado a Processos de Manufatura, Dissertao (mestrado), Programa ca de Ps-Graduao em Engenharia Eltrica, Universidade Federal de Santa Catarina, o ca e Florianpolis, SC. o Vaz, A. F. & Wonham, W. M. (1986). On supervisor reduction in discrete-event systems, International Journal of Control 44(2): 475491. Wong, K. C. (1998). On the complexity of projections of discrete-event systems, Proceedings of the Fourth Workshop on Discrete Event Systems, Cagliari, Italy, p. 201206. Wong, K. C., Thistle, J. G., Malhame, R. P. & Hoang, H.-H. (1995). Conict resolution in modular control with feature interaction, Proceedings of The 34th Conference of Decision and Control, New Orleans, LA, p. 416421.

Referncias Bibliogrcas e a

82

Wong, K. C., Thistle, J. G., Malhame, R. P. & Hoang, H.-H. (1998). Supervisory control of distributed systems: Conict resolution, Proceedings on the 37th IEEE Conference on Decision and Control, Tampa, Florida, p. 32753280. Wong, K. C., Thistle, J. G., Malhame, R. P. & Hoang, H.-H. (2000). Supervisory control of distributed systems: Conict resolution. A aparecer na revista Discrete Event Systems. Wong, K. C. & Wonham, W. M. (1996a). Hierarchical control of discrete-event systems, Discrete Event Dynamic Systems 6(3): 241273. Wong, K. C. & Wonham, W. M. (1996b). Hierarchical control of timed discrete-event systems, Discrete Event Dynamic Systems 6(3): 275306. Wong, K. C. & Wonham, W. M. (1998). Modular control and coordination of discreteevent systems, Discrete Event Dynamic Systems 8(3): 247297. Wong, K. C. & Wonham, W. M. (2000). On the computation of observers in discreteevent systems, 2000 Conference on Information Sciences and Systems, Princenton University, p. 11. Wonham, W. M. (1999). Notes on Control of Discrete-Event Systems, Systems Control Group, Department of Electrical & Computer Engineering, University of Toronto, Toronto, Canada. Wonham, W. M. & Ramadge, P. J. (1987). On the supremal controllable sublanguage of a given language, SIAM Journal of Control and Optimization 25(3): 637659. Ziller, R. M. (1993). A Abordagem Ramadge-Wonham no Controle de Sistemas a Eventos Discretos: Contribuies ` Teoria, Dissertao (mestrado), Programa de Psco a ca o Graduaao em Engenharia Eltrica, Universidade Federal de Santa Catarina, Floric e anpolis, SC. o Ziller, R. M. & Cury, J. E. R. (1994). Lecture Notes in Control and Information Sciences 199, SPRINGER VERLAG, cap tulo On the Supremal Lm-closed and the Supremal Lm-closed and L-controllable Sublanguages of a Given Language.

Você também pode gostar