aplicação de verificação de modelo a síntese de supervisores de … · 2013. 3. 4. ·...

6
Aplicação de Verificação de Modelo para a Síntese de Supervisores de Sistemas a Eventos Discretos . .. Angelo Perkusich [email protected] Wellington de Araújo Bastos Departamento de Engenharia Elétrica, Universidade Federal da Paraíba Caixa Postal 10105,58109-970 - Campina Grande - PB - Brasil Resumo: A necessidade de sistematizar a obtenção de supervi- sores para sistemas a eventos a discretos (SEDs) é cada dia mais importante. A aplicação de abordagens com base formal tais como redes de Petri e lógica temporal vêm surgindo como uma solução promissora para tal problema. Entretanto, no contexto de sistemas reais, como sistemas flexíveis de manufatura, a complexidade destes sistemas pode inviabilizar a utilização destes formalismos, notadamente quando utilizando abordagens comportamentais devido a explosão do espaço de estados. Nesse artigo apresentamos uma abordagem baseada em verificação de modelos e programação por diferenças como uma solução potencial para gerenciar o problema da explosão de estados inerente aos procedimento de síntese de supervisores para SEDs . Palavras Chave: redes de Petri, verificação de modelos, controle supervisório, sistemas a eventos discretos. 1 Introdução Pode-se definir o problema básico da supervisão de sistemas a eventos discretos como: dado o modelo de um sistema ffsico (também denominado de planta) e uma especificação de com- portamento, o objetivo é obter a especificação do controlador ou supervisor que sincronizado com a planta garante o comporta- mento especificado. Além da especificação deve-se também ser possível sintetizar um tal controlador por meios automáticos ou algoritrnicos. A teoria de autômatos e linguagens formais tem sido utiliza- da.corno base para diferentes abordagens teóricas para a sínte- se de supervisores de sistemas a eventos discretos. Dentre es- tas abordagens podemos citar a teoria de controle supervisório (Ramadge and Wonham 1989), lógica temporal (Emerson and Srinivasan 1988, Ostroff and Wonham 1990) e redes de Petri (proth and Xie 1997, Zhou and Dicesare 1993, Dicesare 1993, Desrochers and AI-Jaar 1994, Moody and Antsaklis 1998). As redes de Petri, pela sua facilidade de modelar SEDs, são uma alternativa que tem sido bastante empregada para síntese de su- pervisores (Holloway et alo 1995). A síntese do supervisor é realizada tendo como base o modelo do sistema em rede de Petri o segundo autor é aluno de mestrado da COPELElUFPB. Esta pesquisa é parcialmente financiada peloCNPQ(projeto 520944/98-4). Toda correspondên- cia deve ser enviada ao primeiroautor. 545 e o comportamento desejado. Apesar desta abordagem resolver o problema da síntese do supervisor, não resolve o problema da explosão de estados uma vez que o espaço de estados é enumera- do de forma explícita, representado pela árvore de alcançabilida- de. O problema de explosão de estados toma a análise de redes de Petri, computacionalmente cara. Desta forma é necessário empregar um método mais eficiente que tome a síntese viável também para sistemas complexos, notadamente no contexto de sistemas de manufatura. Uma alternativa é a verificação de modelo simbólica, que é uma representação implícita do espaço de estado, através de Diagramas de Decisão Binários Ordenados, OBDD (Ordered Bynary Decision Diagramas) (Clarke et ai. 1986, Clarke and Lei 1986, Burch et al. 1990, MacMillan 1992). Tal abordagem possibilita verificar propriedades de sistemas com 10 20 estados ou mais. Este trabalho apresenta uma abordagem para a síntese de super- visores, usando redes de Petri Lugar/Transição limitadas, lógi- ca temporal e verificação de modelos, A síntese é baseada em um algoritmo que utiliza a redução da representação do espaço de estados gerado pela planta, através da representação implí- cita, usando OBDD. O algoritmo é executado sobre a especi- ficação do comportamento desejado para o sistema, através da ferramenta de verificação de modelo SMV (Simbolic Model Ve- rifier) (MacMillan 1992), expressos em fórmula de lógica tem- poral. Neste trabalho utilizamos CTL (Computation Tree Logic) (Emerson and Srinivasan 1988) para a especificação do compor- tamento desejado. A especificação do comportamento desejado é definida por um conjunto de transições de estado que represen- tam a evolução de estados do SED. O espaço de estados repre- sentado OBDD é gerado pela rede de Petri que modela o SED. No contextodeste trabalho utilizamos além do SMV o PEP (Pro- gramming Enviroment based Petri Nets) (Grah1mann 1997) . O PEP é uma ferramenta para redes de Petri, e é utilizado para para modelagem e análise da planta e geração do programa de entrada doSMV . Este artigo está organizado da seguinte forma: Na seção 2 são apresentados os conceitos básicos relacionados a redes de Petri, CTL, e verificação simbólica de modelos. Na Seção 3 apresenta- se a base conceitual para o supervisor. Na Seção 4 o algoritmo de síntese é introduzido e um exemplo simples é mostrado. Na

Upload: others

Post on 18-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

Aplicação de Verificação de Modelo paraa Síntese de Supervisores deSistemas a Eventos Discretos . . .

Angelo [email protected]

Wellington de Araújo Bastos

Departamento de Engenharia Elétrica, Universidade Federal da ParaíbaCaixa Postal 10105,58109-970 - Campina Grande - PB - Brasil

Resumo: A necessidade de sistematizar a obtenção de supervi-sores para sistemas a eventos a discretos (SEDs) é cada dia maisimportante. A aplicação de abordagens com base formal taiscomo redes de Petri e lógica temporal vêm surgindo como umasolução promissora para tal problema. Entretanto, no contextode sistemas reais, como sistemas flexíveis de manufatura, acomplexidade destes sistemas pode inviabilizar a utilizaçãodestes formalismos, notadamente quando utilizando abordagenscomportamentais devido a explosão do espaço de estados. Nesseartigo apresentamos uma abordagem baseada em verificaçãode modelos e prog ramação por diferenças como uma soluçãopotencial para gerenciar o problema da explosão de estadosinerente aos procedimento de síntese de supervisores para SEDs .

Palavras Chave: redes de Petri, verificação de modelos,controle supervisório, sistemas a eventos discretos.

1 IntroduçãoPode-se definir o problema básico da supervisão de sistemasa eventos discretos como: dado o modelo de um sistema ffsico(também denominado de planta) e uma especificação de com-portamento, o objetivo é obter a especificação do controlador ousupervisor que sincronizado com a planta garante o comporta-mento especificado. Além da especificação deve-se também serpossível sintetizar um tal controlador por meios automáticos oualgoritrnicos.

A teoria de autômatos e linguagens formais tem sido utiliza-da .corno base para diferentes abordagens teóricas para a sínte-se de supervisores de sistemas a eventos discretos. Dentre es-tas abordagens podemos citar a teoria de controle supervisório(Ramadge and Wonham 1989), lógica temporal (Emerson andSrinivasan 1988, Ostroff and Wonham 1990) e redes de Petri(proth and Xie 1997, Zhou and Dicesare 1993, Dicesare 1993,Desrochers and AI-Jaar 1994, Moody and Antsaklis 1998).

As redes de Petri, pela sua facilidade de modelar SEDs, são umaalternativa que tem sido bastante empregada para síntese de su-pervisores (Holloway et alo 1995). A síntese do supervisor érealizada tendo como base o modelo do sistema em rede de Petri

o segundo autor é aluno de mestrado da COPELElUFPB. Esta pesquisa éparcialmente financiada peloCNPQ(projeto 520944/98-4). Toda correspondên-cia deve ser enviada ao primeiroautor.

545

e o comportamento desejado. Apesar desta abordagem resolvero problema da síntese do supervisor, não resolve o problema daexplosão de estados uma vez que o espaço de estados é enumera-do de forma explícita, representado pela árvore de alcançabilida-de. O problema de explosão de estados toma a análise de redesde Petri , computacionalmente cara. Desta forma é necessárioempregar um método mais eficiente que tome a síntese viáveltambém para sistemas complexos, notadamente no contexto desistemas de manufatura.

Uma alternativa é a verificação de modelo simbólica, que éuma representação implícita do espaço de estado, através deDiagramas de Decisão Binários Ordenados, OBDD (OrderedBynary Decision Diagramas) (Clarke et ai. 1986, Clarke andLei 1986, Burch et al. 1990, MacMillan 1992). Tal abordagempossibilita verificar propriedades de sistemas com 1020 estadosou mais .

Este trabalho apresenta uma abordagem para a síntese de super-visores, usando redes de Petri Lugar/Transiç ão limitadas, lógi-ca temporal e verificação de modelos, A síntese é baseada emum algoritmo que utiliza a redução da representação do espaçode estados gerado pela planta, através da representação implí-cita, usando OBDD. O algoritmo é executado sobre a especi-ficação do comportamento desejado para o sistema, através daferramenta de verificação de modelo SMV (Simbolic Model Ve-rifier) (MacMillan 1992) , expressos em fórmula de lógica tem-poral. Neste trabalho utilizamos CTL (Computation Tree Logic)(Emerson and Srinivasan 1988) para a especificação do compor-tamento desejado. A especificação do comportamento desejadoé definida por um conjunto de transições de estado que represen-tam a evolução de estados do SED. O espaço de estados repre-sentado OBDD é gerado pela rede de Petri que modela o SED.

No contexto deste trabalho utilizamos além do SMV o PEP (Pro-gramming Enviroment based Petri Nets) (Grah1mann 1997) . OPEP é uma ferramenta para redes de Petri, e é utilizado para paramodelagem e análise da planta e geração do programa de entradadoSMV.

Este artigo está organizado da seguinte forma: Na seção 2 sãoapresentados os conceitos básicos relacionados a redes de Petri,CTL, e verificação simbólica de modelos. Na Seção 3 apresenta-se a base conceitual para o supervisor. Na Seção 4 o algoritmode síntese é introduzido e um exemplo simples é mostrado. Na

Page 2: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

seção 5 são apresentadas a conclusões deste trabalho.

2 Conceitos BásicosNesta seção são introduzidos os conceitos básicos de redes dePetri e verificação de modelo Estes conceitos são apresentadoscom o objetivo de disponibilizar ao leitor o embasamento teóricofundamental para o entendimento deste trabalho.

2.1 Redes de PetriUma rede de Petri é definida por uma quíntupla N =(P, T, F,W, Mo), onde :

r. r« T são conjuntos finitos tais que P nT 0 e P UT I:0.

2. F ç (PxT)U(TxP) é tal que: domtnio(F)Ufaixa(F)";PU T, e é denominada relação defluxo.

3. W: F -+N+ é a função de peso.

4. Mo -+ N é uma função de marcação inicial satisfazendoVpE P : Mo(P) ::::; K(P).

Uma rede de Petri pode ser visualizada, Figura 5 como um grafodireto e bipartido que consiste de dois tipos de nós (vértices):lugares e transições, representados por círculos e retângulos res-pectivamente. Os arcos de uma rede de Petri são desenhadoscom uma seta direcionada de uma transição para um lugar ouvice-versa . i

Uma marcação de uma rede de Petri atribui um inteiro não ne-gativo a cada lugar. No grafo correspondente, se m(p) = k, kpontos (fichas) são colocadas dentro do círculo que representaum lugar.

O comportamento de uma rede de Petri é determinado como se-gue. Uma transição t está habilitada quando cada lugar prece-dente possui pelo menos uma ficha. Uma rede de Petri modificasua marcação através da ocorrência não determinística de umatransição. Quando uma transição ocorre para uma marcaçãoM,fichas são removidas dos lugares de entrada, e fichas são depo-sitadas nos lugares de saída, onde o número de fichas removi-das e adicionadas são determinadas pelo peso do arco (w) res-pectivo ao lugar de estrada e saída, tal que uma nova marcaçãoM' é alcançada..Uma tal mudança de marcação é escrita comoM[u)M'. Observe que a pode ser uma seqüência de disparo detransições.

Uma rede de Petri é dita limitada se para cada lugar p da redeexiste um inteiro k tal que toda marcação alcançável M(P) ::::; k.Uma rede de Petri é dita segura se ela é l-limitada, ou seja, senenhum lugar em qualquer marcação alcançável possui mais queuma ficha. Neste caso especial, uma transição está habilitada secada lugar de entrada possui exatamente uma ficha.

Uma marcação é alcançável a partir de outra, se existe umaseqüência de transições que transforme a marcação considera-da em outra. Observe que o comportamento de uma rede dePetri pode ser determinado pela construção de espaço de esta-do e a observação de estados alcançáveis e/ou das seqüênciasde ocorrência das transições. O comportamento de uma rede de

546

Petri pode ser representado por uma árvore computacional, de-nominada árvore de alcançabilidade para o caso em que o espaço. de estados é finito (Murata 1989).

2.2 LógicaTemporal (CTL)Um sistema de lógica temporal especifica a sintaxe de fórmu-las válidas, e a semântica para interpreta-las. A lógica temporalutilizada é lógica proposicional ordinária com conectivos tem-porais para implicitamente lidar com tempo. A semântica delógica temporal pode ser representada por grafos direcionadosou estruturas de Kripke.

Fórmulas em CTL são classificadas como sendo fórmulas de es-tado (aquelas verdadeiras para estados da estrutura) ou fórmulasde caminho (aquelas verdadeiras ao longo de um caminho infi-nito da estrutura). Duas modalidades de caminho são definidas,A e E, as quais podem ser prefixadas à uma fórmula de caminhop, resultando em uma fórmula de estado. Intuitivamente a fór-mula de estado Ap é verdadeira no estado p se ela é verdadeirapara todos os caminhos iniciando no estado, e Ep é verdadeirapara algum caminho iniciando no estado. As modalidades paraconstruir fórmulas de caminho são: G(sempre), F(alguma vez),X(próximo instante), U(até). Estas modalidades descrevem a or-denação dos eventos no tempo, ao longo de um caminho compu-tacional e possuem o seguinte significado intuitivo:

1. Gcp ("cp válida globalmente") significa que cp é verdadeiraem qualquer lugar ao longo do caminho,

2. Fcp ("cp válida alguma vez no futuro") é verdadeira paraum caminho se existir um estado no caminho para o qual afórmula cp é verdadeira.

3. Xcp ("cp válida na próxima vez") significa que cp é verdadei-ra no segundo estado do caminho, i.e., o estado imediata-mente seguinte ao presente estado .

4. cpU 7/J ("cp válida até que 7/J seja válida") significa que existealgum estado no caminho para o qual é é verdadeira naque-le estado, e para todos os estados prévios sp é verdadeira .

Cada fórmula na lógica pode ser verdadeira ou falsa em umdado estado . A validade de uma fórmula é construída à partirde conectivos booleanos dependendo das sub-fórmulas da formausual. Uma fórmula cujo operador de alto nível é um operadortemporal com quantificador de caminho universal (existencial) éverdadeira sempre que todos os caminhos (algum caminho) ini-ciando no estado possuirem a propriedade requerida pelo opera-dor de modalidade.

Formalmente CTL é definida para um sistema de transições , talqual uma máquina de estado finita. Dado que M = (S, I, R) éum sistema de transições. Um caminho em M é uma seqüênciainfinita de estados 7r = SoS1 S2 . .. tal que para todo i E N.R(Si, si+d indica que o estado Si+1 é alcaçavel a partir de Si·EscrevemosM, S F cp para indicar que a fórmula cp é verdadeirano estado S de M. A relação pode ser indutivamente definida.

2.3 Verificação de Modelo.Verificação de modelo é um método de verificar se uma dadaespecificação (em urna fórmula lógica) é válida em um siste-ma finito (modelo). Para este propósito o sistema deve primeiro

Page 3: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

ser convertido em um formato simples verificável, denominadomodelo de Kripke. Esta conversão é usualmente executada porum programa de verificação, que recebe como entrada uma des-crição dos sistemas em uma linguagem de alto nível.

Um modelo de Kripke é uma tripla (8,R, L), onde 8 é um con-junto finito de estados; R ç 8 x 8 é a relação de transição,onde (5, t) E R significando que t é um estado imediatamentesucessor de 5; L : S -t (AP -t B) é a avaliação de uma pro-posição atômica em cada estado, onde AP é o conjunto finito deproposições atômicas (podendo ser verdadeira ou falsa) .

Um modelo de Kripke de um sistema pode ser ilustrado por umsistema transição de estados rotulado, onde os rótulos de um es-tado são os valores da proposição atômica neste estado. O siste-ma de transição de estados pode ser transformado em uma árvoreinfinita iniciando em um estado inicial arbitrário 50 do sistema,denominada árvore computacional. Desta forma um conjunto defórmulas em CTL pode ser interpretado com relação ao com-portamento de uma rede de Petri definido por uma árvore de al-cançabilidade. .

Um caminho de um modelo K = (8,R, L) é uma seqüênciainfinita de estados (50 ,Slt· ··.) E SW tal que (Si,5i+d E R.Este corresponde ao caminho na árvore computacional iniciandoem So e representa um poss ível comportamento para o sistema.

2.4 O Algoritmode Verificaçãode ModeloO algoritmo de verificação de modelo é o principal módulo deum programa de verificação formal . O mesmo avalia uma dadafórmula CTL pela computação de um conjunto de estados parao qual esta é verdadeira. Na verdade, uma fórmula CTL e oconjunto de estados que a satisfaz são identificados.

Se o estado inicial 50 do sistema está contido no conjunto dosestados que satisfazem a fórmula cp (note que pode ser escritocomo 50 l= ip ), a fórmula CTL é verdadeira para o sistema, docontrário esta é falsa. Em alguns casos é possível determinar umcontra-exemplo (um caminho de execução mostrando que umafórmula não é verdadeira). O algoritmo avalia uma fórmula CTLpela divisão recursiva em subfórmulas e não será detalhado nesteartigo, o leitor interessado pode consultar (MacMil1an 1992).

2.5 Verificação simbólica de modelo eBDDs

O algoritmo de verificação de modelo descrito na seção anteriorsofre do problema de explosão de estados, porque o conjunto deestados gerado é usualmente muito grande para ser representadoexplicitamente. No caso de sistemas complex.os um sistema comk processos independentes, cada um dos quais podendo definirum espaço com n estados. Este sistema então possui nk estadosna totalidade. Em geral, o número de estados cresce exponen-cialmente com o número de componentes e pode facilmente ex-ceder 1020 . Desta forma, faz-se necessário buscar uma técnicapara representar o conjunto de estados mais eficientemente. Umasolução para este problema é a verificação de modelo simbólica.

A idéia principal da verificação simbólica de modelo é que osconjuntos de estados sejam representados simbolicamente, usan-do fórmulas booleanas. Por exemplo, o conjunto de estados ondeas variáveis a e b são ambas verdadeiras pode ser representadapela fórmula booleana a V b. Todas as operações necessárias ao

547

algoritmo de verificação de modelo podem ser executadas usan-do operações booleanas, e.g, a V b representa a união dos con-juntos de estados onde a é verdadeiro com o conjunto de estadosonde b é verdadeiro.

A relação de transição é representada pela duplicação de va-riáveis, com next(v) significando o valor da variável v nopróximo estado. Suponha que um sistema seja definido pa-ra as variáveis VI,' " ,Vn . A relação de transição é entãorepresentada como uma fórmula booleana contendo as va-riáveis VI,'" ,vn,next(VI ) ,' " ,neXt(vn). Se esta fórmu-la converge para verdadeiro através de VI = Xl,' :', Vn =Xn ,next(VI) = ü i , :: ,next(vn ) = Yn, então o estado em queVI = Ylt· .. ,Vn = Yn é um sucessor imediato do estado ondeVI =Xl,'" ,Vn = Xn ·

Desta forma, o algoritmo de verificação simbólica de modelopode ser implementado inteiramente através da manipulação defórmulas, minimizando o problema de explosão de estados. To-davia, para tomar a verificação de modelo prática, uma estruturade dados eficiente é necessária para representar fórmulas boolea-nas. Diagramas de Decisão Binário Ordenados (Ordered BiraryDecision Diagram, OBDDs) foram introduzidos como uma es-trutura de dados para tratar com este problema (Bryant 1986).

3 Princípioda SínteseA supervisão de umSED pode ser interpretada como: o super-visor S atua sobre a planta P através de entradas de controle r,em resposta a eventos previamente gerados por P com o propó-sito de permitir que apenas os eventos desejáveis ocorram. Estaação de controle, por outro lado, inibe a ocorrência de eventosnão desejáveis ao sistema , ou seja, é como se estes eventos dei-xassem de existir para o estado em um determinado instante.Para um determinado estado pertencente a especificação desejá-vel, dois conjuntos de eventos disjuntos existem: eventos desejá-veis e eventos não desejáveis. O algoritmo que será introduzidona seção seguinte possibilita obter para cada estado da especi-ficação quais os eventos que devem ser inibidos, para cada umdos estados da planta P. Na Figura 1 ilustra-se o princípio esupervisão.

Eventos da Planta

Figura 1: Planta e supervisor sincronizados

.O princípio pelo qual o algoritnio está estabelecido é a técnicade programação por diferença ou restrições (Marriot and Stukey1998), que consiste em obter um conjunto Y a partir da retiradado conjunto Y. Na Figura 2 mostra-se o diagrama de Venn paraos conjuntos Y, e Y referentes a cada estado da especificaçãodesejável. A região limitada por Y define o espaço de operaçãodeterminado pela especificação, enquanto que a região limitadapor define o espaço que contém os eventos não desejáveis aocomportamento do sistema. :E = Y U Y define o espaço deestados.

A utilização desta técnica é conseqüência dos resultados ofere-cidos pelo SMV, o qual fornece para uma dada especificação emlógica temporal (CTL) um caminho, caso este exista, em que aespecificação não é verdadeira. Desta maneira, o algoritmo ob-tem o conjunto Y e por eliminação obtem também o conjunto Y .

Page 4: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

n

Esp= UESPii= l

estado, especificadas em CTL, constituem a especificação fun-cionai que será executada pelo SED. A especificação desejada édefinida como:

·V (conjunto de eventos não deseJáveis)

(espaço de estados)

:.;: ...

Figura 2: Espaço de estados

o resultado obtido pelo algoritmo de síntese é uma lista de even-tos que corresponde ao comportamento do controlador, ou seja,sua especificação. O algoritmo oferece a possibilidade do pro-jetista identificar os eventos que não se ajustam a especificaçãofuncional do projeto e os eventos que podem levar o sistema aum estado de bloqueio. A modificação da especificação combase nos resultados da aplicação do algoritmo, considerando oseventos que não podem ser controlados, e a aplicação interativado algoritmo de síntese fornece a máxima especificação para ocontrolador do sistema.

4 O Algoritmo SSSO algoritmo SSS (Síntese de Supervisor com SMV) utiliza a ve-rificação de modelo para avaliar a especificação funcional de umsistema, através da análise iterativa de fórmulas CTL que repre-sentam os estados desejáveis. O SMV avalia se uma determinadafórmula CTL é verdadeira ou falsa. No caso em que a fórmulaé avaliada como falsa , a ferramenta poderá apresentar como res-posta um caminho (trace) contendo todos os estados intermediá-rios a partir do estado inicial so. O algoritmo utiliza o modifi-cador de caminho A nas fórmulas para forçar o SMV a fornecero trace caso a fórmula seja avaliada como falsa . O trace forne-cido pelo SMV pode não ser o único em que a fórmula é falsa.Portanto, é imprescindível que o algoritmo seja capaz de condu-zir o SMV a encontrar todos os traces para os quais a fórmulaCTL não é verdadeira. Este problema é solucionado realizandointerações com o SMV, onde a cada resposta negativa, a fórmu -la CTL é modificada para conter o trace que a conduziu a estaresposta. Quando todos os traces estiverem contidos nàfõrmulaCTL o SMV irá avaliar a fórmula como verdadeira. A Figura 3ilustra o diagrama funcional para algoritmo SSS.

ModlRcação daEspeclllcação

especificação Falsa(Contra Exemplo)

Figura 3: Diagrama funcionai para algoritmo SSS

4.1 O AlgoritmoA especificação funcional do sistema deve ser definida em ter-mos de transições de estados, onde uma transição de estado de-fine a mudança do estado atual para um estado futuro, para osestados alcançáveis pelo sistema. A união destas transições de

onde: ESPi é a especificação que define uma transição de estado.é a transição de ESPi = AG(xn -t AC(xn+d) éatransiçãodeestados em fórmula CTL, onde: C representa os modificadorestemporais F , G e X, Xn é o estado atual do sistema .e xn+l é oestado futuro do sistema.

O algoritmo SSS deve ser aplicado a cada transição de estadoESPi pertencente a especificação Esp. O algoritmo procura ob-ter de cada transição de estado qual o trace que conduz o sis-tema a um estado não desejado. O trace não desejado é entãocomparado ao trace que conduz o sistema ao estado desejável,o resultado da comparação entre os traces pode ser um eventonão desejado. Por exemplo, seja sa o trace de eventos não de-sejáveis, e só o trace de eventos desejáveis a uma transição deestados, a comparação dos traces revela que a seqüência dese-jado pode não ser alcançada, dado que, antes do estado Xn+lser alcançado através de só, o evento a poderá conduzir o sis-tema a um estado x y não pertencente a especificação funcional.Uma mesma transição de estado pode conduzir o sistema a vá-rios estados indesejáveis, portanto, a avaliação de cada transiçãodeve ser executada até que todos os eventos indesejáveis sejamencontrados. .

4.2 Descriçãodo Algoritmo

Algoritmo 1 Síntese do Supervisor com SMVRequire: N E > O/* O sistemapossuipelomenosuma transiçãode estado*/enqto i < N E faça/* Para todasas transições de estado*/Leia Si/* Ler X n e Xn+l da especificação Si */se AG(Xn -t ...,EC(Xn+l) é verdadeiroentãoInterrompa

senãosalvao caminhoem TracePseAG(xn -t ...,AC(Xn+1 ) é verdadeiroentãoInterrompa

senãosalvao caminho em TraceLenqto j < n façaseTracePU] :f: Tracelq entãose 'I'racelq E Super, entãoSuperik Tracelqk=k+l

funse/* Modifica o estadode Xn+l de acordocomo estadodefinido porTraceLj */Xn+l Xn+l I X r

funsefunenqto

rIJO sefimsej=j+l

fim enqto

O algoritmo SSS realiza a síntese de supervisor utilizando co-

548

Page 5: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

mo entrada uma lista de estados S[NE,n] que descreve a es-pecificação de desejada para o SED. A variável N E 'refere-seao número de transições de estados da especificação, enquan-to n determina o número de estados que compõe uma transiçãode estado. O processo de síntese inicia com um laço definidopelo comando enquanto, este laço é executado até que todas astransições de estado tenham sido avaliadas. A avaliação de ca-da transição de estado é iniciada pelo SMV através da verifi-cação da fórmula AG(xn -t -.EC(xn+r)), que verifica se oestado xn+l poderá ser alcançado a partir do estado Casoa resposta seja falsa significa que existe pelo menos um cami-nho para o qual xn+l é alcançável a partir de Xn, caso contrá-rio o algoritmo deverá ser interrompido devido a especificaçãonão ser fisicamente realizável. A lista TraceP armazena o ca-minho possível para a transição de estado corrente de índice i.A seqüência do algoritmo avalia para cada transição de estadose o estado XnH sempre poderá ser alcançado a partir de Xn .

A fórmula AG(xn -t AC(XnH)) é avaliada pelo SMV comofalsa ou verdadeira, então o caminho, para o qual a fórmula éfalsa, fornecido pelo SMV é armazenado na lista T raceL paraser comparada evento a evento com os ítens da lista TraceP.A comparação dos ítens das listas T raceP e TraceL identificaqual evento ar (uma transição da rede de Petri) conduz o siste-ma a um estado diferente de X n+1. Este evento é armazenado nalista Super[i] referente a cada transição de estado analisada. Pa-ra identificar outros eventos indesejáveis ao sistema, o algoritmomodifica o estado Xn+lt incluindo no mesmo o evento E; origi-nado pela ocorrência do evento ar. O algoritmo repete a análiseda fórmula AG(xn -t AC(xn+r)) até que todos os eventos arsejam encontrados.

Os eventos contidos em Super, correspondem aos eventos de-sejáveis ao comportamento do sistema, onde o índice i está rela-cionado com cada transição de estado da especifição Esp.

4.3 Síntese para um Sistema de Manufatura

Considere a célula de manufatura mostrada na Figura 4, nes-ta é possível identificar dois depósitos de matéria prima RMl eRM2; dois centros de processamento MP1 e MP2; e um centrode montagem A. Um robô R move matéria prima dos depósitosRM1 e RM2 para os centros de processamentoMPl e MP2, res-pectivamente, e destes centros para a o centro de montagem A.Na Figura 5 mostra-se a rede de Petri que modela esta célula,onde cada três peças montadas constitui um item desta célula.Os ítens são transportados para outra célula. A saída de um itemode A, é modelada pela transição T5 (evento J.L). O maior núme-ro de peças que o centro de montagem A suporta é três. Estaspeças são suficientes para compor um item, portanto, isto signi-fica que o número de fichas máximo que deve marcar o lugar Aé três. Seja = {0:1,0:2.1h,,82,J,t}, o conjunto de eventos as-sociados às transições. Para aplicar o algoritmo SSS, no sentidode obter o supervisor que atenda a especificação de comporta-mento do sistema, é necessário eliminar os buffers do sistemasde modo que a rede de Petri seja segura. Para tanto aplicamosa técnica de modelagem de buffers introduzida por Zhou e Di-cesari (Zhou and Dicesare 1993), e obtemos a a rede de Petrida Figura 6. Quando modelamos o lugar A com um buffer detrês lugares resolvemos o problema de não limitação do lugarA, uma vez que se analisarmos a marcação do mesmo dentro daárvore de alcançabilidade, identificamos que a rede não é limita-da. Para criarmos as condições de aplicabilidade de SSS, vamosconsiderar que a capacidade do lugar A é de quatro fichas. Desta

549

maneira, é possível estabelecer a restrição de que o mesmo sópoderá conter três fichas.

Figura 4: Célula de Manufatura

Figura 5: Modelo de rede de Petri para a célula

A especificação funcional para o sistema resume-se apenas auma transição de estado, que significa: uma vez que existe maté-ria prima nos depósitos RM1 e RM2 o sistema nunca colocaráquatro peças no buffer. A fórmula CfL é : AG(RMlVRM2 -t-.AG(A4)). O resultado da aplicação do algoritmo SSS podeser observado na Tabela 1.

Portanto, a especificação para o supervisor é dada por: RMl VRM2 -t A3, correspondendo ao eventos não desejáveis T43 eT24 •

Observe, que pelos traces apresentados na Tabela 1 a transiçãoT2 (evento 0:2) deveria ser controlada, sugerindo que se esteevento for controlado o sistema poderia executar a especificaçãosem problemas. Entretanto, o evento 0:2 não é controlável, im-possibilitando o controle da transição T2 da rede de Petri quemodela o sistema. Por outro lado, o algoritmo também indica ocontrole dos eventos controlãveís d, e ,82 que na rede de Petri daFigura 6 são representados pelas transições T21, T22,T23,T24 eT41 , T 42, T 43 , T44 respectivamente. As transições que devem sercontroladas são n3 e T24 que representam liberar duas ocorrên-cias de ,82 e uma ocorrência de ,81. Desta maneira, o controleefetuado sobre a rede de Petri da Figura 6 pode ser representadopela restrição do disparo da transição T2 apenas uma vez até queT4 dispare duas vezes.

5 Conclusão

Neste trabalho introduzimos uma abordagem para síntese de su-pervisores de sistemas a eventos discretos, utilizando redes dePetri e verificação de modelos. O trabalho realizado foi desen-volvido para definir um algoritmo, que dado um sistema modela-do por uma rede de Petri e sua especificação de comportamento

Page 6: Aplicação de Verificação de Modelo a Síntese de Supervisores de … · 2013. 3. 4. · Aplicação de Verificação de Modelo a Síntese de Supervisores de Sistemas a Eventos

Especificação Resposta do SMV TraceAG(RM1 V RM2 -+ -,EG(-,A4» Falso 1'1,1'2,1'41,1'2,1'42,1'23,1'5AG(RM1 V RM2 -+ ..,AG(..,A4» Falso 1'1,1'2,1'41,1'2,1'42,1'2,1'431'24

AG(RM1 V RM2 -+ -,AG(..,A4 VMP2» Falso 1'1,1'2,1'41,1'2,1'42,1'2,1'431'24AG(RM1 V RM2 -+ -,AG(..,A4 VMP2 V A3» Falso 1'1,1'2,1'41,1'2,1'42 ,1'2,1'431'24

AG(RM1 V RM2 -+ ..,AG(..,A4 VMP2 V A3 V A4» Verdadeiro

Tabela 1: Trace da aplicação do algoritmo SSS

Figura 6: Modelo seguro (buffers eliminados)

desejado em 16gica temporal CTL, obtenha a especificação dosupervisor que controla o sistema modelado pela rede de Petri.

O algoritmo de síntese obtido é baseado na verificação iterativade transições de estados, expressas em l ógica temporal, atravésda verificação simb6lica de modelo com a ferramenta SMV(Simbolic Model Verifier) . O uso desta ferramenta, que execu-ta a verificação de modelo através da representação simbólica doespaço de estado, possibilita sintetizar supervisores de sistemasreais.

Um outro resultado importante é que todo o processo de sínteseocorre com o uso ferramentas integradas como o PEP (Program-ming Enviroment based Petri Nets) e o SMV, as quais já estãoconsolidadas.

Além do exemplo apresentado, o algoritmo foi aplicado a váriosoutros casos de sistemas de manufatura e produção em lotes,possibilitando a comprovação da eficiência do mesmo. Atual-mente está sendo investigada a implementação do algoritmo semutilizar o SMV, desta forma automatizando todo o processo deespecificação e síntese do supervisor. Considera-se ainda um es-tudo de equivalência entre o algoritmo aqui introduzido e a teoriade controle supervis6rio (Ramadge and Wonham 1989).

Referências Bibligráficas .Bryant, R.E. (1986). Graph-based algorithms for boolean function ma-

nipulation. IEEE Transactions on Computers.

Burch, 1.R., E. Clarke, K.L. Macrnillan and L.I. Hwang (1990). Sym-bolicmodel check:ing: 1020 states and beyond. In: Proceedings ofthe Fifth AnnualIEEESymposium 011 Logic in Computer Science.IEEE Computer Society Press. Los Alamitos, CA. pp. 428-439.

Clarke, E.M. and C.-L Lei (1986). Efficient model check:ing in frag-

550

ments of the propositional mu-calculus. In: Proceedings of theSecond Annual Symposium on Logic in Computer Science.

Clarke , E.M., E.A. Emerson and A.P. Sistla (1986). Automatic verifi-cation of finite state concurrent systems using temporallogic spe-cifications. ACM Transactions on Programming Languages andSystems 2(8), 244-263.

Desrochers,Alan A. andRobert Y.Al-Jaar (1994). Applications ofPetriNets in Manufactureing Systems : Modeling, Control, andPerfor-mance Analysis. IEEE Press. NewYork.

Dicesare, Frank,Ed.) (1993) . Practice ofPetri Nets in Manufacturing,Kluwer AcademicPub.. London.

Emerson, E.A. and J. Srinivasan (1988). Branching time temporal 10-gic. In: Linear Time, Branching Time and Partial Order in Lo-gics and Models for Concurrency (J.W. Bakker, w.-P. de Roeverand G. Rozenberg, Eds.). Vol. 354 of Lecture Notes in ComputerScience, Springer-Verlag.

Grahlmann, Bernd (1997). The PEP Too!.. In: Proceedings of CAV'97(Computer Aided Verification) (Orna Grumberg, Ed.). VoI. 1254of Lecture Notes in Computer Science. Springer-Verlag.pp. 440-443.

HoIloway, L. E., B. H. Krogh and A. Giua (1995). Petri nets for lhecontrol of discrete event systems: A tutorial survey.Center ofRo-botics and Manufacturing Systems and Department of ElectricalEngineering, University of Kentnky.

MacMillan, K.L. (1992). Symbolic Model Checking: Ao Approach tothe State Explosion Problem. PhD thesis. Carnegie Mellon Uni-versity,Pittsburgh,PA,USA.

Marriot, K. and P.I. Stukey (1998) . Programming with Constraints: an. Introduction. MIT Press.

Moody,John O . and Panos J. AntsakIis (1998). Supervisory Control OfDiscrete Event Systems Using Petri Nets. KIuwerAcademicPub..London.

Murata, T. (1989). Petri nets: Properties, analysis and applications.Proc. ofthe IEEE 77(4), 541-580.

Ostroff, J. S. and W. M. Wonham (1990). A framework for real-timediscrete event control. IEEE Transactions on Automatic Conrrol35(4),386-396.

Proth, Jean-Marie and XiaolaXie (1997). Petri Nets: A Toolfor Designand Management ofManufacturing Systems, JohnWiley & Sons.NewYork.

Ramadge, P. J. G. and W. M. Wonham (1989) . The control of discreteevent systems.Proceedings ofthe IEEE 77(1), 81-97.

Zhou, Mengchu and FrankDicesare (1993). Petri Net Synthesisfor Dis-crete Event Control ofManufacturing Systems. The KIuwer In-ternational Series in Engineering and Computer Science. KluwerAcademicPub.. NewYork.