UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓs-GRADUAçÀo EM ENGENHARIA ELÉTRICA UM AMBIENTE PARA A ANÁLISE E SIIVIULAÇÃO DE SISTEMAS MODELADOS POR REDES DE PETRI _ Dissertação submetida à Universidade Federal. de Santa -Catarina para a obtenção do grau de Mestre Elétrica . CARLOS ALBERTO MAZIERO , ' Florianópolis, junho de 1990 em Engenharia ii Un AMBIENTE PARA A ANÁLISE E s1nULAç¡o DE SISTEMAS MODELADOS POR REDES DE PETRI CARLOS ALBERTO MAz1ERo ~ Esta dissertaçao foi ju1gada,adequada para MESTRE EM ENGENHARIA ELÉTRICA u ENGENHARIA ELÉTRICA, Especialidade DE CONTROLE obtenção do titulo de a AUTOMAÇÃO INDUSTRIAL, E área de' concentração SISTEMAS aprovada em sua forma final e pelo programa de Pós-Graduação. x \ ‹ ,¿(¡r , Prof. JEAN . ARIE EAEENES, Dr. Ing. Orientador _ s Mo EIRA RMUnEz, Ph. D. Prof. JZÊE CA Pós-G Elétrica En enharia em duação Coordenador do Curso de T . BANCA EXAMINADORA - â^ awe Prof. JEAN \ . ARIE ¿;šTNES, Dr. Ing. Presidente N f /¬. \ Prof. cARLos ALBERTO HEUSER, Dr. Ing.  ' Í 5". ` Prof. JosE EDq*RD ' A , CURY, Dr. D Eta: _ . A Í - \ 1 . Pro NI'DA /"V S VA FR , Dr. Ing. ii i Resumo Este trabalho apresenta o Sistema ARP de Análise e Simulação, que integra diversas ferramentas para validação, verificação, simulação e avaliação de sistemas em Redes modelados de Petri ordinárias, desempenho de com›_~¡.'l`emporização e com com suas H Temporização Extendidas. 2' A _ ¡. . Inicialmente, o principais extensões, modelo Rede de Petri (RdP) é formalmente em particular as temporais. A modelagem em RdP descrito, év estudada a partir de noções de modularidade e estruturação hierárquica. As principais técnicas de validação, verificação e avaliação de desempenho' de sistemas modelados por Redes de Petri são abordadas. .V Apresenta-se a seguir a estrutura geral do Sistema compõe: análise via grafo ARP, e_.as ferramentas que o de acessibilidade, análiseestrutural porinvariantes, verificação de equivalência de linguagem, simulação e avaliação de desempenho. Para cada ferramenta são detalhados seus objetivos, métodos, algorítmos empregados e resultados fornecidos; c q Finalmente, demonstra-se a capacidade do sistema descrito, aplicando suas ferramentas ao estudo de problemas de interesse real Distribuídos: são estudadas a proposta T em Automação Industrial e Sistemas FIP ao Padrão Field-Bus, o protocolo norma MAP e também um caso de otimização de MMS Sistemas. Flexíveis de Manufatura. da iv Abstract In . this composed by ARP -work the Analysis and Simulation System is presented. ARP is several tools for validation, verification, simulatíon and performance evaluation of systems modeled by ordinary, time and extended time Petri Nets. _ First the Petri modelling task with Net model and some extensions are fonnally described. The Pe-trix Validation, verification and discussed. " studied using modularity and structuring concepts. is perfomance evaluation techniques for Petri P V _ analysis, ARP's general and structure structural °analysis its component tools, algorithms and results are presented. Finally, system's capability study of ,Distributed Systems proposal, the MAP's MMS and is such as reachability by invariants, language equivalence simulation and performance evaluation, are overviewed. For each Systems. Net models are " ' _ Secondly, the graph Nets tool, verification, the objetives, ' “ M demonstrated by apllying the described tools to the Industrial Automation problems like the Field-Bus FIP protocol and the optimisation of Flexible Manufacturing ` A v À Lucia, incansável companheira vi Agradecimentos Aos profs. » do LCMI, pelo sempre presente incentivo-e cooperação. Em particular ao prof. Jean-Marie Farines, pela orientação, interesse e apoio na realização deste ' trabalho. ^ ~ . , Aos demais membros do LCMI, por seu sobretudo por sua amizade. espírito de equipe, companheirismo e V A meus pais Dorali e Neiva, a meus irmaos e a todos os amigos que me auxiliaram durante esta caminhada. Ao CNPq, » Conselho Nacional de Desenvolvimento Científico e Tecnológico, pelo suporte financeiro que me foi concedido. vii Índice Geral Resumo ...................................................................................................................................... .. .. iii Abstract ..................................................................................................................................... .. ._ 1. Introdução 2. O Modelo Rede de Petri 2.1.1. ' 2.1.2. 2.2. u 1 .................................................................................................. .. 3 ................................................................................... .. .................................... O Formalismo Rede de Petri 2.1. Í .................................................. .. ................................... uz ................................................................................ .. Extensões ao Modelo de Base ................................................................................ .. 6 ..................................... .. ------------------------------------------- -- 7 a. RdP com Arcos Inibidores _b. RdP com Temporização c. RdPs de Alto Nível ...................................................................................... Modelagem Usando RdP Técnicas de 2.2.2. Análise 'do Comportamento 2.2.4. 2.3. .. .................................................. .. oooooooooooooooooooooooooooooooooooooooooo z. O Uso da RdP para o Desenvolvimento de Sistemas . 3 Definição do Modelo de Base 2.2.1. 2.2.3. iv nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn Q. ................ .. zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz As Propriedades *Básicas da RdP b. Análise Estrutural da c. Verificaçao Rede .............................................. .. ...................... 7 11 12 n 13 16 ....................................................................... .. a. 4. u 16 ............................................................................... .. 18 ........................................................................ .. .................................. -ó -19 Avaliação de 'Desempenho ..... .; ............................................................................. .. 20 Implementação do Modelo .................................................................................... .. 21 ....................................................................................... .. 22 Uso de Ambientes para RdP vi11 Conclusão 2.4. 3. O Ambiente ARP 3.1. .. 22 .. 24 .............................................................................. .. 24 .................................................................................. .. 26 ...................................................................................................................... ............................................................................................................. Descrição Geral do Sistema ARP 3.1.1. Gerenciamento de Interface 3.1_.2. Estrutura Intermediária de Descrição da 3.2. Análise via Grafo de Acessibilidade Rede de Petri .................................. .. 26 .......................................................................... _. 29 3.2.1. Construção do Grafo de Acessibilidade 3.2.2. Enumeraçao em Redes com Temporizaçao 3.2.3. Resultados Fornecidos pelo Módulo 3.3. .......................................................... .. 29 ....................................................... .. 32 .................................................................... .. 34 ........................................................................ .. 35 ..................... .. ..................................................................... _. 35 Análise Estrutural de Redes de Petri Cálculo de Invariantes 3.3.1. a. Obtenção da Base de Invariantes ..................................................................... .. 36 b. Extração dos Invariantes da Base ..................................................................... .. 37 3.3.2. Exemplo de Utilização do Algoritmo .................................................................. .. 39 3.3.3. Resultados Fornecidos pelo Módulo ..................................................................... ._ 42 3.4. Verificação de Equivalência de Linguagem ............................................................. _. 3.4.1. O Processo de Verificação de Equivalência 3.4.2. Resultados Fornecidos pelo Módulo 3.5. 3.5.1.. Simulação de Redes de Petri Descrição do Simulador 43 ....................................................... .. 44 ...... .; ............................................................ .. 44 ...................................................................................... _. 45 ......................................................................................... .. 45 ix Avaliação de Desempenho 3.6. em Redes de Petri Desempenho 3.6.1. Descrição Geral do Avaliador de 3.6.2. O Mecanismo de Evolução da Rede 3.6.3. Disparo de Transições 3.6.4. Ponderaçäo de Conflitos Conclusão 3.7. 4. 47 ................ .. .................................................. .. 48 ................................................. .. ...................................................................................................................... .. ARP ............................................................ .. Uso do Ambiente ARP na Verificação do Comportamento: Aplicação ao Protocolo de Comunicação MMS 54 Modelagem das Entidades MMS em Redes de Petri 4.1.3 4.1.4. 4.2... Respondedor do Serviço c. Meios de Comunicação Análise do ........................................ .. Modelo Global 55 .. 56 .................................................................................... .. 57 ...................................................................................... _. 58 ..................................................................................... _. 60 .............................................................. _. 60 ......................................................................... ._ 63 ......................................................................................... a. Validação do Modelo Global Obtido b. Verificação do Modelo.Global Conclusões ' ................................................................. .. 4.1.2 b. 53 53 Descrição da Aplicação Requisitor do Serviço 52 ...................................................... .. 4.1.1. ...................... 50 51 ...................................................................................... a. 47 ................................................. .. em Instantes Aleatórios Utilização das Ferramentas do Sistema 4.1. ........................................................ .._. ................................................................................................................ .. 64 .. 65 Uso do Ambiente ARP na Avaliação de Desempenho: Aplicação ao Serviço de Troca de Mensagens do Protocolo de Instrumentação Fabril FIP ................................................................. x Descrição da Aplicação 4.2.1. ........... ............................................................................. .. SDA do FIP a. Descrição do Serviço b. Definição dos Time-Outs ................................................................... .. 66 ................................................................................... .. 69 Modelagem da Fase MA do Serviço 4.2.2. a. Árbitro de Barramento b. Produtor / Consumidor c. Meio de Comunicação 4.2.3 Avaliação de 4.2.4 Conclusões SDA .......................................................... .. 70 ....................................................................................... .. 71 ...................................................................................... .. 71 ........................................................................................ .. 72 Desempenho do Serviço . ................................................................. .. 73 74 .................................... .. ....................................................................... Uso do Ambiente ARP na Análise Estrutural 4.3. 66 de' Redes de Petri: Aplicação à Otimização de Sistemas de Manufatura Flexível .............. .; .............................................................. _. 75 .......................................................................................... ._ 76 4.3.1 Descrição da Aplicação 4.3.2. Modelagem de um SMAP 4.3.3 Análise do Modelo Obtido. 4.4. 5. ................................................................................... .;. 79 Cálculo dos Invariantes ....................................................................................... .. 79 b. Otimização do Sistema' ....................................................................................... .. 81 ................................................................................................................ .. 82 ...................................................................................................................... .. 83 Conclusão ConclusãoePerspectivas Anexo 76 a. Conclusões 4.3.4. ...................................................................................... .. 1: Linguagem de Descrição de Redes de Petri Bibliografia ~ .. 84 ...................................................... .. 86 ............................................................................................ ............................................................................................................................. .. 90 1 1. Introdução A necessidade de redução de custos e aumento de confiabilidade impõe como meta para a indústria sua automação, através da integração das diversas operações do processo de produção. Esta integração é garantida pela existência de Sistemas Informáticos Distribuídos que permitem melhoriassubstanciais em termos do desempenho global, do - compartilhamento dos recursos, da disponibilidade e da confiabilidade dos serviços fornecidos. ~ _ Além disso, a crescente automação dos processos de produçao, baseada no uso de máquinas com comando numérico, controladores lógicos programáveis, robôs e outros equipamentos, torna necessário ouso de uma filosofia de desenvolvimento adequada, uma metodologia que seja capaz de modelar corretamente estes dispositivos e suas interações, sem dependência das tecnologias envolvidas. Essa modelagem costuma problemas de sincronização, exclusao mútua, disponibilidade associados a mecanismos automáticos, são freqüentes. Um ser complexa, pois de. recursos e outros, ` dos aspectos prioritários no desenvolvimento de software para aplicações distribuídas e de automação industrial é` a disponibilidade de ferramentas que permitam provar as propriedades' dinâmicas das especificações, realizar protótipos, simulações e avaliar seu desempenho. A complexidade de tais aplicações leva à utilização de Técnicas de Descrição Formal (TDF)_para descrever de forma completa, clara e sem ambigüidades suas especificações. A principal motivação para o uso de TDFs consiste- em servir de base na construção ' de ferramentas que permitam automatizar atividades como a análise do comportamento lógico e do desempenho, a_ verificação das especificações, a implementação destas e a determinação da conformidade do software resultante em relaçãoaos requisitos iniciais. O objetivo central do trabalho desenvolvido no LCMI-DEEL-UFSC é a construção de um tratar ambiente de análise (de comportamento e desempenho) e simulação que permita problemas de Automação Industrial ie SistemasDistribuídos. 2 . Escolheu-se como formalismo de base para pois esta permite descrever comclareza ambiente a Rede de Petri (RdP), tal as relações' de causalidade encontradas nos problemas a tratar: seqüência, concorrência, conflitos e sincronização. Além restrições disso, extensoes sao possíveis neste mecanismo, que permitem introduzir de tempo e representação de dados [Diaz 86]. O modelo RdP serve de base à construção' de ferramentas automáticas para várias etapas do desenvolvimento de um sistema: modelagem, validação, verificação de conformidade, avaliação de desempenho, implementação e testes. * O Sistema ARP, descrito nesta dissertação, é um primeiro passo na construção de um ambiente que proporcione ferramentas automáticas para a análise e simulação de sistemas modelados por Redes de Petri ordinárias, extendidas. - com temporizaçao ` ` - Esta dissertaçao está estruturada da seguinte forma: o cap. também com temporizaçao _ Rede de Petri, sua definição formal e suas principais Petri e extensões. 2- introduz o modelo O projeto usando Redes de é estudado, detalhando-se a construção, validação, verificação, avaliação de desempenho e implementação de sistemas modelados por Redes de Petri. O cap. 3' descreve o sistema ARP e as ferramentas que este integra." Cada ferramenta tem detalhados seus objetivos, os algoritmos empregados e os resultados fornecidos. Por fim, o cap. 4 busca exemplificar a utilização de algumas das ferramentas sistema ARP, Distribuídos e através do estudo de exemplos Automação Industrial. rea-is do nas áreas de Sistemas Informáticos 3 O Modelo Rede de Petri 2. Para o desenvolvimento de sistemas complexos torna-se necessário o _uso de t Técnicas de Descrição Formal (TDF), para a correta representação de sua especificação. Uma TDF se caracteriza por seu poder de forma clara, correta de análise, que expressão, que permite representar de um sistema, e sem ambigüidade as especificações de facilita e por seu poder a detecção de erros. A principal motivação para o uso de TDFs consiste emservir de base na construção de ferramentas que permitam automatizar atividades como a análise do comportamento lógico e do desempenho, a verificação das especificações, a implementação destas e a em determinação da conforrnidade do software resultante [Vissers 881. t Existe hoje _ em relação aos requisitos iniciais um grande número de abordagens diferentes para as formalismos como Máquina de Estado Finita, Rede de Álgebras de Processos., formalismos híbridos. (p.ex. Gramáticas Formais, Petri, CCS), Tipo de Dados Abstratos, Lógica Temporal e i ' R A ~ _ . À Apresentar-se-á a seguir o formalismo Rede de Petri, utilizado presente trabalho. 2.1. TDFs, baseadas como base do ` _ O Formalismo Rede de Petri em -Proposta 1962 por Karl Petri em sua tese de doutorado "Kommunikation mit Automaten" (comunicação com autômatos), a Rede permite a modelagem de sistemas dinâmicos com 'de Petri alto grau (RdP) é um formalismo que de paralelismo. Seu poder de expressão é suficiente para representar todas as relações de causalidade entre processos, como de concorrência, paralelismo, operações seqüenciais, conflitos, não situações determinismos e sicronizações. u " ç “ 4 A partir do modelo básico proposto por Petri (normalmente chamado RdP clássica ou ordinária), muitas extensões são propostas, com a finalidade de aumentar seu poder de expressao, principalmente no tocante a temporizaçao e estruturas de dados. A importância do uso da RdP como formalismo, ' reside nas facilidades oferecidas para a análise do comportamento do sistema modelado e de seu desempenho. Em particular, o modelo RdP permite automatizar as várias etapas do processo de desenvolvimento de análise de poderão 2.1.1. um sistema: especificação, validação, verificação de conformidade, desempenho e até mesmo a ser facilmente integradas implementação. As ferramentas assim obtidas num mesmo ambiente. _ Definição do -Modelo de Base A RdP é um modelo do tipo estado-evento, onde cada evento possui pré-condições a serem observadas para suaocorrência e pós-condiçoes decorrentes desta, que por sua vez podem ser pré-condições de outros eventos. V ` ' A RdP é representada por um grafo com dois tipos de elementos, chamados lugares e transiçoes, interligados por arcos direcionados ponderados. Os lugares representam os estados locais ou 'condições do sistema, cuja existência é indicada pela presença de ficha no respectivo fichas lugar. uma O estado global do sistema é representado pela distribuição das na rede, chamada "marcação" [Peterson 81]. Os eventos do sistema são representados por transições. uma transição, cujo disparo indica sua ocorrência. Relacionam-se os eventos às condições através dos arcos que interligam as transições aos lugares. Na fig. rede de Petri A cada evento corresponde 2.1, que busca modelar uma operação com arcos de peso unitário: , de usinagem, tem-se . um exemplo de 5 Torno Recebe P993 t t P* 1 .V _ Peca Esperando 1-i E _ Inicia L Livreø p, i ~ t3 P2 I P3. tt Libera Pesa t Iermna _ Peca Pronta Usinagen Usinagem; Iorneando Peca Fig. 2.1: Formalmente define-se a RdP Rede de Petri clássica uma ou ordinária como : T ' : I:TxP->N : Conjunto finito de m lugares {p1, p2,..., Conjunto finito de n transições {t1, t2,..., Função de entrada das transições. Iij pm}. tn}, PIIT = {}. indica o peso do arco : Função de saída das transições. Oij indica o peso do arco que transição para o j-ésimo lugar. M0:P->N V que sai do j- ésimo lugar para a i-ésima transição. ' O:TxP_->N RdP= i {P,T,I,O,M0} onde: P quíntupla : sai da i-ésima V V Marcação (no de fichas) inicial de cada lugar. . A dinâmica da RdP é representada pela evolução das fichas, causada pelos disparos das transições sensibilizadas, que provocam a transferência-das fichas entre os lugares da rede, alterando sua marcação e o estado do sistema modelado. Uma transição condições forem ti está _s§gb¿iLz_aQ pela satisfeitas: marcação M quando todas ' - V pj G P M (pj) gl (t¡,pj), ou seja, 2_I (ti) . V as suas pré- 6 O disparo de ti M gera uma nova marcação M': a partir da marcação M'(Pj) = M (Pj) + Ú (Í¡›Pj)'1(Íi›Pj) Uma _sg;_i‹^¿çi_a partir de "s" M-> M' ='M M' ~ de transições {t]- Mi se existem marcações Mi, Mi Mi'> Mi+1'> O conjunto [M0] de por: _¡_ _+ O (t¡)-I(t¡) t]-+k} é t]-+1 1,...,M¡ _¡_k de uma de seqüência modo que: A Íj+k '[j+1 tj _ _- Ii ou seja, G P. VPJ' disparos a l ' S Mi+1<'> Mi+1<+1 0" Mi'> Mi+1<+1 ---'> a partir da marcação M0 é definido inicial “ V _ S ' {M¡/15/M0'> ,[M0]`= M¡} Esse conjunto pode ou não ser finito, dependendo da topologia da rede e de M0. O grafo de marcações acessíveis formado pelo conjunto de marcações representam os disparos de transição' G associado à rede de Petri acessíveis que levam de [M0] e pelo conjunto 2.1.2. {(Mj,Íi,Mk) / 1 ti G T/ U finito é de arcos que uma marcação a outra: fi U= com [M0] -> .Mk, 9 l j V Mj,Mk G _ . Extensões ao Modelo. de Base Através de extensões ao modelo de base busca-se aumentar seu poder de expressão, permitindo que contenha informações não representáveis no modelo ordinário, como 7 temporizaçoes e manipulaçao de dados, e representaçao, reagrupando as partes do modelo a. também aumentando a com comportamento semelhante. RdP com Arcos Inibidores Supre' uma deficiência intrínseca ao modelo RdP, o "teste a zero". Possui especial de arco de entrada de transiçao que só permite seu disparo lugar associado .for um nula [Peterson 81]. Obtém-se modelagem, embora se perca em poder de análise. Pesa E5Për*a.ndo kl U ' b. concisao da O tšsinagezâ , _ Fig. 2.2: inicia um tipo quando a marcaçao do ganho real na capacidade de ` Q Usinamlo . šaquina ücurzêda RdP com arcos inibidores RdP com Temporização -~ ~ A=introduçäo do tempo no formalismo sendo mais difundidos os modelos de No modelo de fichas Sifakis, Sifakis, RdP pode ser efetuada de várias formas, Ramchandani e Merlin [Menasche a cada lugar é associado um 821. ' atraso fixo durante o qual as recém chegadas são consideradas "não-disponíveis" (não podem ser consideradas para o disparo de transições), tornando-se disponíveis após_decorrido o tempo de espera.. No modelo fixa. Ao disparar, certo uma de Ramchandani associa-se a cada transição duração de disparo a transição retira as fichas dos lugares de entrada, as retém durante tempo e deposita-as nos lugares de saída. “ um 8 Um modelo mais geral é proposto por Merlin [Merlin 76], temporização (RdPT), que associa a cada transição da rede um chamado RdP com intervalo da forma seguinte: [sEFr,sLF1¬1 ez+,o_gsE1=TísLFr < 00' O valor SEFl` (Static Earliest Firing Time) indica o tempo mínimo durante o qual a transição deve estar sensibilizada antes de seu disparo. O valor SLFT (Static Latest Firing Time) indica otempo máximo no qual a transição deve disparar, se ainda sensibili-zada. importante observar que o disparo da transiçao tem duraçao zero [Menasche Formalmente uma RdPT é um par RdPT= {RdP,D0} . RdP :RdP ordinária {P,T,I,O,M0} DO ` azar-> V vztkz l q _ (R+ É _82]. z» onde: _ U o)× (R+ Um) D0(zk)zz=z{.[sE1='rk,.sLFrk],o_gsEFr¡¿í›sLFfr¡¿} D0(tk) é o intervalo de disparo inicial chamados domínios de disparo. ou estático de tk. Os . fig. 2.3`: P, - i O O i t,,[G,41 “ I ` m m i t¡[1,51 i' intervalos são V Um exemplo simples de RdPT é dado na mí « ~ i .t,[l,3l " i Y ' . _¿_z____ ' Pz5 P,.- Fig. 2.3: RdP com tcmporização t 4 [B,2l também 9 O conjunto uma RdPT estado S:(M,D) de D M e pelo dos domínios dinâmicos de disparo [DEF1`j,DLFTj] de cada transição M, que podem sensibilizada por tk é disparável O novo diferir dos domínios estáticos. em um instante Gk sse: mk) 5 M ` é caracterizado por sua marcação estado S”, A partir de S uma transição ~ e DE1='rk 5 ok 5 Min (DL1='rJ-) vtj D c; com marcação M' \ como: tj e domínio dinâmico de disparo D' define-se . ' i » M,=M+O(Ík)-I(Ík)~ Vtj: se I (tj) > M' então D'(tJ-) é indefinido senão se I ' ~ z (tj) ~ > M então Dn,-› = senão (I,-› ' D'(¢j) ` DO = [Max (0, DEPTJ- - ok), DL1=TJ- - ok] Deve~se observar que esta extensão não considera a ocorrência de transições multi- sensibilizadas (ti está multi-sensibilizada se ]MJ- / Vpk transição multi-sensibilizada deveria ser considerado cada nível de sensibilização. I(t¡,pk) z 2* um intervalo de Para uma 'disparo distinto para MJ-(pk)). ' i Para estudar o sistema sob a ótica de seu desempenho, é importante considerar também a probabilidade da ocorrência decada evento da RdP que o modela, definindo uma nova extensão: a RdP com Temporização Extendida, ou RdPTE [Roux 85]. 10 Na RdPTE, atribui-se a cada domínio de disparo de transição da rede Gk de densidade de probabilidade, que pondera o instante de disparo uma função da transição tk dentro do intervalo permitido. Formaliza-se RpPT F0 : : (x) F+_, funções de densidade _>_ F0 é o conjunto de probabilidade. G [EFl`j',LFI`j] 0 se x = o se × ¢ [BFT]-,LFr¡] inicial ou vúj estático GT de funções de densidade de probabilidade de Como disparo (F+ é o conjunto de funções não-negativas). transições, onde: Rede de Petri com temporização {P,T,I,O,M0,D0} T -> fj uma RdPTE como um par {RdPT,F0} o domínio de disparo das F também 'muda com o conjunto de funções de densidade de probabilidade o. estado da rede, tornando-se dinâmico. V A fig. 2.4 exemplifica a RdPTE estática da transiçao tj). ~ a (fj a função de densidade de probabilidade indica' - A _ ¡*i fa f, m m ÍJB.-'ll “ E Y t:[1.3] ' t¡[1,5] T P Como l H* f 3 Í ' ‹€ Í P¬.-_ na RdPT, o estado * _ Fi'-1 ¡ Í ' 'I i. H* . grazi Í Fig. 2.4: . -i i - ` ' É É É É É I* Í I Ê i É É E- RdP com temporização extendida em uma RdPTE é caracterizado por sua marcação, por seus domínios dinâmicos de disparo e pelas funções de densidade de probabilidade dinâmicas associadas aos mesmos. A regra de mudança de estado envolye,_¿Í além da ll mudança de marcação e domínios, a RdPs de Alto Nível A RdP ordinária representa satisfatoriamente a evolução _ sistema modelado, mas não permite uma Diversas extensões de algumas delas: Colorida: da parte de controle do clara representaçao dos dados sob manipulaçao. RdPs foram propostas de modo a tornar mais sistemas complexos, permitindo RdP das funções de densidade de em [Roux 851. probabilidade, sendo detalhada c. reavaliação também amanipulação de concisa a descrição de dados. Abaixo são destacadas * ' . Cada ficha possui uma Os cor que caracteriza sua identidade. arcos são rotulados por expressões definindo o padrão de fichas coloridas a consumir ou produzir um lugar. Presta-se bem à representação compacta rede genérica, cada uma identificada por RdP .de várias instâncias de uma cor [Jensen 85~]. em uma mesma A ` _ I _ Predicado-Transição: apresenta fichas parametrizadas por n-uplas de constantes ou variáveis. Os arcos são rotulados por expressões definindo o padrão de fichas a produzir ou um predicado indicando as relações entre os valores consumir. Associa-se a cada transição dos parâmetros das fichas associadas ao disparo da transição [Courtiat RdP Predicado-Ação: permite distinguir claramente a parte "controle" (uma ordinária) e a parte "dados" *de rótulo, 87]. da forma "when P(x) do uma especificação. A cada transição da rede é associado um x: = F(x)", onde P e F atuam sobre o conjunto que representam a parte "dados" da especificação. P for satisfeito [Courtiat 87]. RdP X de variáveis O disparo da transição só ocorre quando e _ 12 \ RdP Numérica: semelhante à extensão Predicado-Ação, introduzindo o conceito de fichas com identidade (do mesmo modo que nas RdPs Predicado-Transição) condição de sensibilização e a de disparo de uma transição e a distinção entre a [Diaz 87]. RdP a Objetos: formada pela estrutura de controle própria à RdP e por uma representação de dadosna forma de objetos. Sua marcação é feita através de fichas com identidade definida por esses objetos, que são testados, movimentados e alterados pelas transições da rede. -O uso da noção de objeto para a representação de dados permite estruturar melhor mapeamento os dados do sistema e facilita o direto dos objetos físicos [camú 901. manipulados A i. -. r L ' Algumas das extensoes acima têm um poder de expressao equivalente ao da ordinária, beneficiando-se das opções de análise e validação desta, modelagem bastante mas *com As demais possuem no entanto suas possibilidades de um poder de RdP um poder de superior, devido à sua concisão [Courtíat 87]. Este é 0 caso das Coloridas e Predicado-Transiçao. restringindo-se '_r": expressao RdPs bem maior, A análise. ' . ' V 2.2. O Uso da RdP para o Desenvolvimento de Sistemas A construção de um sistema através de RdP ou outra TDF'passa por etapas bem definidas. A partir de sua especificação informal, procede-se à modelagem 'do sistema usando a TDF escolhida. A especificação formal então obtida pode ser analisada, buscando-se testar sua correção e sua adequação ã especificação de referência. As técnicas de análise empregadas orientar possíveis' alterações do modelo. eficiência O pode ser avaliada através modelo correto e traduzido para uma linguagem devem prover informação¿ Obtendo-se então um eficiente suficiente para modelo de técnicas de análise de desempenho. 9 correto, sua H V do sistema pode então ser implementado, ou executável. A importância do emprego de uma.'IÍDzlf` reside 13 no fato de a mesma permitir automatizar a maior parte [Farines 89]. 2.2.1. acima descrito do' processo . Técnicas de Modelagem Usando RdP Uma primeira técnica de modelagem é a abordagem por refinamentos sucessivos. Constrói-se inicialmente um modelo do comportamento geral do sistema, que é aos poucos detalhado através da explosão de nodos validados. em sub-processos completos já completamente , ~ A técnica de refinamento é baseada no conceito de nodo de substitução [Huber 89], que é um lugar ou transição relacionado a um sub-modelo. O processo de refinamento força facilitando a construção e uma _ V › visão estruturada hierárquica do sistema, compreensão do modelo, devido à abstração de detalhes. Esta técnica permite tanto a construção "top-down", pelo refinamento de nodos si, quanto a "bottom-up", pela reutilização de sub-estruturas já definidas. Uma característica importante- U ' da modelagem por refinamentds é a validação progressiva do modelo, pois os sub-modelos são validados antes de sua inserção ao global, em modelo que por sua vez também é validado antes derecebe-los. Outra técnica de modelagem é a chamada construção modular de sistemas. Neste caso, omodelo de cada entidade das demais entidades. As na fig. 2.5: do sistema é construído e validado independente interações entre diferentes entidades são representadas por transições associadas a trocas de ser observado distinta mensagens (? para recepção e ! para envio), como pode 14 É 9x Fig. 2.5: _i__z) g ?x Construção modular É importante observar que uma entidade pode estar internamente dividida em subentidades, cujas interaçoes definem 0 comportamento da entidade. visão hierárquica estruturada do sistema, A interligação entre os diversos denominada meio de comunicação. uma Isto caracteriza como na modelagem por refinamentos. módulos é efetuada vía O uma estrutura especial comportamento do meio é importante para a determinação docomportamento global do sistema [Souissi ` 89]. Uma primeira forma de interligação é o uso de um lugar compartilhado, ou envio assíncrono de mensagem, pois utiliza um lugar intermediário para representar a mensagem ` H circulante ` (fig. 2.6). dm Fig. 2.6: É importanteobservar ih: ll 'mí ,Ox ll Troca assíncrona de mensagem que no caso assíncrono do número de mensagens pode crescer indefinidamente, tornando-se utilizar -.~ um em trânsito impecilho ao estudo da rede. Pode-se um lugar auxiliar para limitar a "n" o número de mensagens em trânsito (fig. 2.7). 15! no 5%; ill llírox WW de mensagens Fig. 2.7: Limitação em trânsito Um caso particular da interligação via lugar compartilhado é a troca de mensagem com reconhecimento, que pode (fig. 2.8). ser decomposta em duas trocas de mensagem assíncronas V » ~ I ix X ¡< . ES ea ` u ) Ê :ii ==-ê; 1 `_ . êêâ Fig. 2.8: q ' ?ack z B tank ack Z _ Troca de mensagem com reconhecimento Outra forma de interligaçaoé a fusao das transiçoes que representam o envio e a recepçao de uma mensagem ("rendez-vous").'Este processo caracteriza um envio síncrono de mensagem, no qual somente são liberadasas entidades comunicantes após a troca efetiva da mensagem (fig. 2.9). - 'F SUD' Flg. 2.9: É Fusão de transições 16 Uma visão mais detalhada sobre interligação de processos via meios de comunicação pode ser encontrada em 2.2.2. i [Souissi 89]. f _ Análise do Comportamento É necessário verificar que 0 do sistema seja correto, modelo construído a partir da especificação informal não possuindo erros de modelagem. Para tal é necessário que a RdP apresente um conjunto de boas propriedades: limitação, reiniciação e vivacidade. ' Da análise destas propriedades algumas características ausência de bloqueios, O conclui-se sobre a correção do modelo e conhece-se do comportamento do sistema (como "realizabilidade física", etc). estudo do comportamento do sistema e de sua adequação às especificações desejadas levam à determinação de seu comportamento através da análise estrutural do modelo (concluindo a respeito de seus invariantes) e/ ou da verificação (equivalência entre o modelo obtido e um modelo de referência que corresponde às especificações desejadas). a. As Propriedades Básicas da RdP Estas propriedades auxiliam' na determinação e correção do comportamento dinâmico da rede, ajudando a verificar se está modelando corretamente o sistema desejado e a detectar eventuais erros ou falhas [Esteban 851. relevantes sao: As propriedades básicas mais 17 Limitação: Se Uma RdP é K-limitada para uma dada M0 se: K= 1, a rede é dita salva ou binária, pois o número de fichas num lugar é 0 ou (o recurso existe ou não). Como 1 . « as fichas representam recursos disponíveis, a limitação de que o sistema modelado possui recursos e operações finitas, uma como um rede indica sistema real H [Esteban 85]. Uma RdP é reiniciável se: Reiniciação: S ` VMkG[M0]}s<> {}/Mk-> M0 Sendo o sistema reiniciável, ao estado inicial executando a partir de qualquer estado acessível pode-se retornar uma seqüência finita de operações. r `‹ Uma RdP Vivacidade: é viva se qualquer transição puder ser disparada a parÍtir de qualquer marcação alcançável: s 'vM<;[M01,vz¡eT,1s>¢¡/M-> M* Se a rede de Petri é viva então não há bloqueios nem» partes inativas, pois todas as transições pertencem a alguma seqüência de disparo a partir de qualquer estado. A partir vivacidade. da vivacidade pode-se derivar Uma transição Uma marcação em uma sub-propriedade chamada quase- é quase-viva se pode ser disparada ao bloqueio ("de_ad-lock") não vivacidade é condição- suficiente, menos umavez a sensi-biliza nenhuma partir transição. A mas não necessária, para a ausência de bloqueios na rede. 18 Um "live-lock" é um ciclo de disparos de transições repetitivo, sem saída, não passando por As propriedades básicas podem ser estendidas para as rdPT e rdPTE, considerandose estados ao invés de marcações. - Para a determinação das propriedades básicas ê necessário construir o grafo de estados acessíveis da rede. rede for limitada, gerando b. A vivacidade e a reiniciação somente podem ser .inferidas se a um grafo finito ("decidabi1ity") [Brams ' 83]. A Análise Estrutural da Rede A estrutura da rede permite inferir parcialmente básicas. Sendo insensível ao estado inicial a respeito de suas propriedades da rede, a análise estrutural permite estudar seu comportamento dinâmico sem analisar o grafo de estados. Resultam da análise estrutural da rede informações sobre seqüências funcionamento (conjuntos de transições com execução cíclica, estados) e componentes conservativas (conjuntos de lugares cuja ê constante para qualquer estado). Assim, uma estrutural as soma ponderadade fichas _ V conservativa é limitado, enquanto seqüência cíclica é potencialmente viva. A análise restringe ao estudo das propriedades básicas, pois as seqüências cíclicas e do sistema modelado. ` Existem basicamente duas abordagens para a análise estrutural de Redes de decomposição da passando pelos mesmos componentes conservativas fornecem dados importantes sobre 0 comportamento específico p não se uma de _ um lugar pertencente a uma componente transição pertencente a cíclicas RdP em sub-redes e o cálculo de invariantes. Na decomposição são destacadas sub-redes com* características especiais, chamadas Máquinas de .Estado Grafos de Eventos (GE). Petri: a (ME) e 19 Em uma ME cada transição possui somente um arco de entrada e um de saída, de peso unitário, caracterizando a conservaçao das fichas circulantes. Em um GE cada lugar possui somente um arco de /entrada e um de saída, de peso unitário, indicando ausência de conflitos e comportamento ' ` cíclico. ~ - › Através do cálculo de invariantes são obtidos os invariantes de lugar (IL) e de transição (IT) da rede. Urn IL indica um conjunto de lugares no qual a soma de fichas é constante para qualquer estado alcançável, indicando a conservação de recursos. é Toda ME um IL, mas o contrário não é sempre verdadeiro. Um IT indica um funcionamento cíclico da rede: o disparo na ordem adequada das . _ transições que o ciclo. _ compõem faz.a rede voltar à marcação de onde partiu, realizandoum Todo GE é um IT, mas o contrário não é sempre verdadeiro. Desta forma, ILs e enquanto ITs e GEs c. . Verificação A MEs ' correspondem às componentes conservativas da rede, às suas seqüências cíclicas de funcionamento. _ verificação de um modelo em RdP busca provar que este satisfaz as especificações de 'referência desejadas para o sistema que modela, pois modelo mesmo correto sob a ótica das propriedades básicas e dos invariantes, estando o pode nao representar exatamente o comportamento desejado do sistema. 'Pode-se verificar um modelo de várias formas. Através de simulação pode-se observar seu comportamento, embora seja um método verificar asserções lógicas (axiomas) sobre seu grafo certas seqüências dq eventos características Os métodos de não exaustivo. Pode-se também de estados, provando a validade de do sistema [Courtiat verificação mais completos baseiam-se 87]. _ na noção de equivalência entre o comportamento do modelo e o desejado na especificação do sistema. Neste caso os eventos do sistema são classificados em externos, quando sua observada por uma entidade externa ao mesmo, ou internos, caso ocorrê_n__ci_a__,pode contrário... ser '20 Três classes de equivalência são especialmente importantes: a de linguagem, a observacional e a forte. Todas se baseiam na comparação do modelo com a especificação, estado a estado, se diferenciando na forma de interpretar os eventos internos [Bougé 88]. É importante ' observar que, para uma verificação completa do modelo (usando-se equivalência, por exemplo), é necessária a construção de seu grafo de estados, que portanto deve ser finito e 2.2.3. A factível. Avaliação de Desempenho Medir o desempenho de ele é eficiente um sistema significa extrair parâmetros indicando o quanto na realização de seu objetivo. Para talo modelo do sistema deve representar fielmente o comportamento temporal do sistema, pois o conceito de desempenho está intimamente ligado à noção de tempo. n Basicamente dois métodos são definidos para a medida de desempenho de um sistema a partir de RdP: por análise ou por simulação. A -análise pode ser efetuada via RdPs estocásticas, atribuindo-se a cada transição da rede um tempo dedisparo estocástico (probabilidade exponencial decrescente). normalmente seu grafo de estados Este método possui el trata-se este Obtém-se como um processo markoviano [Diaz 861. uma boa base teórica (processos estocásticos) e seus resultados são bastante precisos, mas a possibilidade de emprego somente de atrasos estocásticos é uma grande limitação à modelagem. Outra forma de análise é apresentada ` em [Roux 851, sobre o grafo de classes de estados obtido da rede. Para cada classe de estados é obtido o tempo médio e sua probabilidade de acesso, sendo descartadas as classes dado com probabilidade inferior a pm limite. Provendo resultados bastante precisos, este método envolve manipulações de funções de densidade de probabilidade de forma relativamente complexa (somas, produtos 21 e integrações de funções exponenciais e normais), o que aumenta bastante seu custo de ` implementação. Na V A V modelo é executado de forma avaliação via simulação,~o sistemas tipo interesse, - GPSS como em repetitiva, [Schreiber 74]. Para cada simulação são extraídos os 'valores de sendo apresentados ao como uma média das diversas medições. final darede tem pouca complexidade depende basicamente de um rápido influência- mecanismo de ' na eficiência do método, que disparo das transições da rede. Este método é bastante versátil, provendo resultados aproximados mas confiáveis. 2.2.4. Implementação do Modelo Duas abordagens são normalmente modeladas 'propostas para a execução de especificações em RdPs: a tradução ea interpretação. ~ ç em transladar a especificação em RdP numa linguagem alvo a ser posteriormente compilada e executada. Este_pro_cesso torna-se complexo na medida em AÍ tradução consiste que cresce o poder de expressão do modelo, como nas RdPs de alto nível [Cantú A .interpretação consiste sensibilizadas, disparar uma em 90]. examinar o modelo detectandoí suas transições delas segundo uma estratégia bem definida e atualizar a um mecanismo independente da especificação. Este processo emprega a especificação validada, o que elimina eventuais erros introduzidos na translação. para um marcação, usando código executável. Além disso, sendo o mecanismo de execução independente da especificação, torna-se bastante útil para prototipagem, evitando recompilações. Entretanto, o principal problema relacionado à interpretação velocidade do mecanismo. Técnicas A la mais eficiente. como as apresentadas em darede ,é a baixa [Cantú 90] perrnitem torná- 22 2.3. Uso de Ambientes para RdP Como _ sistemas reais normalmente levam a redes complexas, toma-se necessário o uso de ferramentas de software para construir, validar e implementar o modelo obtido do sistema [Diaz 87]. Este fato levou à construção de ambientes para a utilização do modelo RdP no projeto de sistemas. Tais ambientes auxiliam normalmente na construção e validação do modelo, e mais recentemente-em sua implementação. Um dos primeiros ambientes construídos para RdP foi o OGIVE [Pradin 79], no LAAS-CNRS-France. Tratando redes ordinárias, permite a representação modular de sistemas complexos pela interligação de sub-modelos. Determina as propriedades básicas da rede, ou de reduções através do grafo de estados acessíveis sucessivas do modelo. Determina invariantes de lugar e transição e possui uma versão simples da verificação por equivalência de linguagem. » ' Outro ambiente relevante é o _ PROTEAN -[Billington 88], baseado em RdPs numéricas. Permite a composição de redes, .para auxiliar na construçao do modelo. Suas ferramentas de análise são baseadas sobre o grafo de estados acessíveis, permitindo observar as propriedades gerais e estudar as seqüênciasde eventos aceitas pela rede. Diversos outros ambientes existem, alguns deles específicos para detenninadas aplicações, estudo projeto como crítico protocolos de comunicação. Em [Jensen 86] é realizado um importante sobre características necessárias a ferramentas de software para o auxílio ao com RdPs. V - 23d 2.4. conclusão Neste capítulo, foi introduzido formalmente 0 modelo extensões, tanto a nível de temporização e probabilidade quanto a_ RdP e suas principais nível de manipulação de ' dados. ~ Também avaliação de foram apresentadas técnicas de modelagem, validação, verificação e desempenho de modelos obtidos em RdP. A possibilidade de automação das técnicas apresentadas foi destacada através da descrição de ambientes para o projeto RdP. com ` O próximo capítulo é dedicado à descrição do Sistema ARP e das ferramentas que o compoe. V 24 3. O Ambiente ARP O LCMI-DEEL-UFSC deu caracterizado por de uma origem a interface um sistema que reúne dentro do Osistema construído denomina-se um projeto homônimo mesmo ambiente, homogênea, várias ferramentas para Redes de com temporização e com temporização ordinárias, ' RdPs no esforço de automatizar metodologias de validação e verificação de Petri extendida. ARP (Analisador de Redes de Petri), e faz parte (Ambiente para Redes de Petri), que visa a construção de um ambiente de auxílio à modelagem, validação, verificação e implementação de sistemas usando RdPs a Objeto [Farines 3.1. 89]. L \ Descrição Geral do Sistema ARP ` \ ' A arquitetura do sistema ARP pode ser observada na fig. 3.1. Sua construção modular permite o desenvolvimento e a rápida inserção de novas ferramentas, pois todo acesso a dispositivos (vídeo, teclado, arquivos) estão a cargo de interfaces padrão. 25 ‹ E=m ficificacao 2!?? edfi- d Petri . - . em ‹ _ -v ‹ I _ Editor de RdP I . ._ 'I . .q-_ \ . Co piladur Y rn X; s §_ ‹+ 5. = šf E 'z r ,z srli W _ . Intermediarla . . _ › -š 'i i i firralise uiâ Grafog Uerificacao de finalise por. de Plcessilzilidadfi Equivalência Prepriêdâdês basicas Êutúâatú reduzida if A vwvmfimwmnmvmir ` ` lnuâriêmtes: A entrada de uma Rede linguagem de descrição (anexo dados em Pascal. 'Essa estudo 1), características Proa. acessa ` do Sistema ARP ARP de Petri no sistema que emprega uma efetua-se através de uma sintaxe semelhante à descrição de V . _ V (2_.3) do sistema ARP. Entretanto está linguagem compatível à usada no sistema SRPO [Cantú 901, em com de modularidade que simplificam a descrição de redes complexas. Outro objetivo da nova linguagem é a integração do uma linguagem Tefišès medias fiêtalhês de funciúnàâ. Êeqâ. cicliâàz Çúnp. conzerv. linguagem integra a versão atual uma nova lleserzpenho mm~ Fig. 3.1: Arquitetura V fiuâliâcao de .Sirâulacaoš ARP ao SRPO, que passa pela definição de de entrada compatível a ambos. V A descrição da rede na linguagem de entrada é posteriormente compilada na forma de uma estrutura intermediária que contém a descrição da rede e que servirá entrada das demais ferramentas. como 26 A partir dessa estrutura intermediária e de entradas específicas, cada ferramenta realiza sua operação e produz como saída um texto contendo os resultados obtidos. Gerenciamento de Interface 3.1.1. A interface permitir uma do sistema com fácil utilização. Além o` usuário está baseada disso, em menus e janelas, visando pontos do programa. vários . As funções de interface a dispositivos específicos, em são proporcionadas telas de ajuda (vídeo, teclado) foram agrupadas em proporcionando segurança e rapidez nas alterações caso*d_e em módulos migração para outros equipamentos; Os módulos de interface que compõem o ARP são: - Janelas: gerenciamento de janelas movimentação, áreas sobrepostas. - na tela de texto: abertura, encerramento, V Texto: construção, visualização, edição e  . apagamento de textosfarmazenados em memória, resultantes dos módulos de análise ou de descrição de redes. - Arquivos: leitura e escrita de arquivos e gerenciamento de diretório. - Teclado: diversos tipos de menus de escolha e entrada de valores numéricos crítica, 3.1.2. observando os intervalos de validade: dos mesmos. V Estrutura Intermediária de Descrição da .Rede de Petri: Asinformações necessárias para caracterizar as RdPs apresentam, após a compilação da rede editada, sob a forma com ' utilizadas deuma no sistema se estrutura de dados denominada "Estrutura Intermediária de Descrição da RdP", que contém os seguintes dados: ~ 27 Topologia e dimensões da rede. Nome da rede. .. _ Nome dos nodos da rede (lugares e transições). Marcaçao inicial. Temporização estática de cada transição (SEF'I`,SLFT). . Curvas de densidade de probabilidade de cada transição (tipo e coeficientes associados). A topologia da rede é descrita através de um conjunto de listas ençadeadas de arcos que simula a notação matricial I(t,p) / O(t,p). São definidas 4 listas encadeadas de arcos: .Ç PRE_TRANS SUC__LUGAR SUC_TRANS PRE_LÚGAR Nestas listas, [i] [i] [i] [i] : : : : arcos que precedem a transição arcos que sucedem o lugar pi. arcos que sucedem a transição arcos que precedem o lugar ti. pi. cada arco corresponde à estrutura mostrada na fig. f-í..__-_ *I `l, ' ti. --l`=- 3 4 - Êeso do arco r=a.ns'ic.=:o associada ao arco lugar associarlo ao amoo _ i§¡-. proxifio Ê proxieâo amo Fig. 3.2: ar-co ligado a fiesâa translicêo ligado ao sââârâo Arco de rede de Petri lugar 3.2: A seguir Para a és mostrado RdP da fig, 3.3, as um exemplo figs. 3.4 e 3.5 da estrutura intermediária de descrição da representam as estruturas de dados que descrevem sua topologia. Ô* I* tz P2 o.:|:ä ~ ~ Q P, R (:%3 Fig. 3.3: 4t3 Rede de Petri \ u â $`rut:_I.u§e.r an: uma u é Representação de I (t,p) A o ¡______l L ea rlfliflä Pr=e_Lfié.§ar 1 ~ ~ :I Sucjrans *Í aaa: ~ Fig. 3.4: T _ gl il il _._ .__ F' ' 613 F-3 :lb 1-: __ le)-` - _!_ Representação de -L * Í É `1 Ê^Ê-flšeš °ä`*s'í'ê*Ê_`ê R 'Fig. 3.5: RdP O (t,p) 29 Esta estrutura é bastante versátil e compacta, permitindo rápido acesso a todos os arcos ligados a um nodo, seja lugar ou transição. ' O armazenamento dos demais dados da rede é simples, sob a forma de vetores de _ inteiros (para a marcação de cada lugar e a temporização de cada transição), de reais (para os coeficientes das curvas de densidade de probabilidade dastransições) ou de strings (para os 3.2. nomes dos lugares e transições). Análise via Grafo de Acessibilidade Esta análise busca provaras propriedades básicas da rede, através daenumeração de todos os estados alcançáveis a partir de seu estado a inicial. Este procedimento dá origem um grafo de estados acessíveis, sobre o qual são realizadas inferências visando qa detecção . ‹ das propriedades. 3.2.1. Construção do Grafo de Acessibilidade O disparo de todas as transições sensibilizadas da rede em cada estado (a partir do estado' inicial) vai gerando novos estados até esgotar as possibilidades de disparo de transições; isto produz uma árvore, cujos nodos são os estados alcançados, os arcos são os um estado a outro e a raiz é o estado inicial da rede. acessíveis em um ramo da árvore encerra ao encontrar um disparos de transições que levam de A pesquisa de estados estado terminal (não sensibiliza nenhuma enumerado anteriormente); Agrupando-se transição) ou um estado duplicado (já os estados duplicados daárvore obtida forma-se então o grafo de acessibilidade da rede. A fig. 3.6 mostra uma RdP e seu grafo de acessibilidade: 30 Q Px Mazzøø _ i ~ mta mf* mt: ~ \ Hi;Q]_1 L \- í_._§ {í___ Fig. 3.6: A topologia t e -e fi,_=1e1 t, -_ n,z11a .- RdP e grafo de acessibilidade da rede pode causar o crescimento do número de fichas tomando o grafo infinito 3.7b): (fig. A F: .___.._.....'_._.__. .‹ 192 1%8 H Hi tm 'U ¬ ° in-‹~ 1 É _ t. ° { tg t f- 4 . . . (cl (hi (al Fig; 3.7: Este problema é contornado Rede em finito (figf 3.7c). c/ crescimento de fichas [Peterson 81] usando-se em um lugar. para simbolizar o crescimento de fichas Observando o grafo da E 1 t2 I ' É H ` c 11, -u|‹--\= vg ›- 3.7a), _ . rede torna-se e *l Pa P2 - , E um símbolo especial "W" Assim, o grafo de acessibilidade da - , fig. 3.7c, nada se pode concluir a respeito das propriedades de reiniciação ou vivacidade, devido à não limitação da rede. Por exemplo, as seqüências de eventos abaixo são possíveis mas não estão representadas: 31 4 V *2 *1 *3 M0:(1 0 0) -> (10 2) -> (012)-> (0 Í1 Í2 _ Í4 1 0): bloqueio Í2 . Í4 _ M0:(_1 U 00)-> (102)-> (012)-> O bloqueio (1 0 1) -> (0 1 1) -> (100): M0 e a reiniciação da rede não são indicados no grafo da proposição para contornar tal problema é exposta noção de limiar de um lugar: em [Menasche fig. 3.7c. Uma baseando-se na 821, ' . Limiar (p) = Max (I (t,p)) V t G T A marcação de lugar só recebe W se tiver crescimento de fichas e for maior que o ` limiar de do lugar. Desta forma o grafo de estados acessíveis melhor 0 comportamento reflete uma rede não limitada: ` ' V , _ tl - . _ *3- t* Há ›r‹› ti ' L G 1 l e Fig. 3.8: - tê 1 â Grafo deiacessibilidade considerando limiar Deve-se observar que a reiniciação e a vivacidade não são decidíveis ` . limitadas. Porém, o uso do lirniar em RdPs não permite detalhar melhor a evolução deste tipo de rede e 32 obter informações complementares. . Durante a construção do grafo é necessário comparar cada estado gerado com os demais já enumerados, buscando duplicações. Para tornar mais rápida esta emprega-se uma técnica de "Hashing". ' _ Para cada' estado gerado calcula-se um código, função de sua marcação e domínio de disparos. Estados iguais possuem portanto o diferentes possuem estados alcançados, em mesmo código, enquanto estados sua maioria códigos diferentes. São mantidas diversas uma para cada código distinto. listas mesmo código, comparando somente cada gerado. Caso não seja encontrado estado igual, inclui-se este na Esta técnica possibilita uma redução significativa um 3.2.2. lista dos destescom estado lista.” 1 no numero /de necessárias entre estados para a construção do grafo de acessibilidade ordem de 50 vezes). de f Partindo do código de hashing obtido para o estado gerado, percorre-se a estados que possuem o tarefa, comparações (em média da “ A Enumeração em Redes com Temporização A enumeração "em RdPT toma-se mais complexa devido à inclusão dos intervalos de disparo das transições pois, sendo a escala de tempo contínua, podemexistir instantes de disparo para uma transiçao e infinitos estados sucessores, marcação mas domínios dinâmicos distintos. Isto com infinitos a mesma torna impossível enumerar todos os estados acessíveis. ' ~ Em [Menasche 85] propoe se um método enumerativo usando classe de estado, que representa a união de todos os estados alcançáveis pelo disparo de através da mesma marcação uma transição, descritos M e domínio dinâmico de disparo D, união dos domínios dos estados pertencentes à classe., ' ' . 33 _ A classe inicial C0 contêm s_omente o estado inicial da rede, com marcação M0 e domínio DO composto pelos intervalos estáticos por M0. [SEFI`,SLFT] das transições sensibilizadas _ A O domínio dinâmico de disparo de uma classe de estados compõe-se de dois tipos de equaçoes, sendo Gj o instante de disparo de tj: DEF1-'j _§_Gj _§_DL17fj A matriz G indica as C Qj - Qk Gjk relações entre os instantes de disparo de transições sensibilizadas simultaneamente. _ Na implementação disparo de uma atual do sistema transição tk em uma ARP, a classe de estados classe C'(M',D') gerada pelo C(M,D) é calculada a seguintes: partir dashrelações A M' =M+()_(tk)-I(tk) . Vtj: se I (tj) > M' então senão D'(tj) é indefinido . se I (tj) > M então D'(tj) = DO (tj) SCIIHO r V DEFTÍ' = Max (o,DE1='r¡ - Min (DLFr¡ vt¡)) A DLFr¡'= DLFr¿ - DEF1"k ~ Esta forma de cálculo apresenta a vantagem da rapidez, mas não considera as . relações GJ-k entre transições sensibilizadas-em paralelo. . . _ Ê A simplificação no cálculo do domínio de disparo no sistema ARP visa eliminar an necessidade de programação linear de números inteiros, que implicaria num custo de 34 implementação e execução elevado. Esta simplificação afeta domínios dos comportamento qualitativo Espera-se, A ao associados das disparo da rede (limitação, vivacidade, reiniciação). em *uma próxima versão do ARP, somente os valores paralelas, transições incluir as relações cálculo de classes de estados. 3.2.3. em geral preservando o ` Gjk às equações de ' ~ Resultados Fornecidos pelo Módulo As propriedades da rede são verificadas inspecionando-se o grafo de acessibilidade obtido da rede. São indicadas, 'além das propriedades básicas, as transições que apresentam multi-sensibilização (no caso de que levam a "dead-locks", A "live-locks" RdPT e RdPTE) ou crescimento de e as sequências de disparos ` fichas. limitação da rede é observada pela não existência do valor marcações. "W" entre A rede é reiniciável se o grafo de acessibilidade for fortemente conexo. Cada transição da rede é viva se aparecer ao conexa do grafo. menos uma vez em cada componente fortemente ' A . Cada "dead-lock" corresponde a uma componente fortemente conexa do somente um estado. Cada "live-lock" corresponde a uma componente com mais de um estado e que nao -contenha o estado inicial. Investigadas as propriedades, são apresentadas através do de textos. as Além do grafo, com fortemente conexa . módulo de manipulação texto das propriedades, são construídos textos para a apresentação do grafo de acessibilidade obtido e das marcações ou classes de estados alcançadas. t O módulo implementado possui cerca de de' dados, geração resultados obtidos. do grafo de 1300 linhas de código fonte para entrada acessibilidade, teste das propriedades e escrita dos Sua capacidade é cerca de 2000 estados (em micros de 640 kbytes). 35 3.3; Análise Estrutural deRedes de Petri - Como visto no capítulo anterior, são possíveis dois tipos análise estrutural: a decomposição invariantes, para o modelo em de abordagens para a sub-redes, para redes binárias, e geral. o cálculo de _ , A decomposição de uma RdP em sub-redes exige' um grande esforço computacional no caso de redes complexas, por ser um método de busca exaustiva na rede. Possui também a limitação de só tratar redes com arcos de peso unitário. O cálculo de invariantes é efetuado através de métodos de álgebra linear aplicados à matriz de incidência da RdP. Apresenta menor esforço computacional e aceitação de redes ponderadas, fornecendo também escolhido para implementação no 3.3.1. invariantes ARP. que não são ME nem GE. Por. isso foi ' - zV _ Cálculo de Invariantes uma RdP pela quádrupla R: (P,T,I,O) com "m" transições, * e matrizide incidência C = .O - todo vetor x G Zn > 0 solução de C x “="0 é Definida a estrutura de ' ,› › "n"_lugares -I, um 'invariante a ponderação do lugar pj na formação do de lugar da RdP, sendo' ' invariante. Todo vetor y G Zm > 0 solução de CT * y = O é um invariante de indica o número de disparos da transição transições xi não é diretamente calculável. tj _ para formar o ciclo. transição, onde yj A seqüência de disparo das 36 a. Obtenção da Base de Invariantes O cálculo de invariantes de lugar compõe-se basicamente de duas etapas: cálculo de uma C base linearmente independente do espaço solução de invariantes a partir da base * x = 0 e extração dos i' obtida. ' Para obter a matriz base de invariantes de lugar (B), dada a matriz de incidência da rede (C), deve-se construir uma"matriz C ' da seguinte forma: c'=[cT|1] onde I G Znn é a matriz identidade de ordem n. Triangulariza-se C' de modo a apresentar- se na forma abaixo: ` X X .. X X X X .. :pl X ` › rank(CT) xx..xxVxx..x: C'= : : : : : 00..00 :i :':-B ,ooi..'oVo, ›-í.--í--| r_ , ' I1 A partição inferior esquerda é nula. A sub-matriz B é a base de invariantes de lugar. Para o cálculo da matriz base dos invariantes de transição substitui-se construção de C '. O processo acima é conhecido em CT álgebra' linear por por da matriz CT. na obtenção do H "kernel" C _ 37 b. Extração dos Invariantes da Base A base obtida pode conter valores positivos e negativos, mas os invariantes devem Além conter unicamente valores positivos, devido a sua própria definição. combinaçao linear de invariantes também é um invariante; deste modo, deverao extraídos da base todos-os vetores positivos que representem os invariantes rede [Colom 891. disso, a ser mínimos da _ A extração dos invariantes da base obtida inicia-se por seu escalonamento, obtendo um pivot positivo isolado em uma coluna para cada linha da matriz: ' p1x..0.x..0x..0x..x onde pi B=. _0_0..p2.xi..0x,..0qx.. x oo.. oo.. oo..pq×.. X G Z0+ invariantes são os pivots de cada linha e x mínimos positivos então só pode G Z são inteiros quaisquer. A obtenção dos ser efetuada via sobreposições de linhas (sem troca de sinal, devido aos pivots isolados), para o cancelamento de valores x eventualmente negativos. » A ' A seguir, obtida consiste “_ V ” V a extração propriamente dita dos invariantes mínimos a partir da base em efetuar todos os possíveis cancelamentos de elementos negativos da base através de combinações lineares de suas invariantes desejados. Todas linhas geradas sao incluídas linhas, gerando linhas positivas que são os as possíveis opções de cancelamento são testadas, e as novas na base. ' - Para evitar a explosão combinatória de linhas_definem-se duas heurísticas: o teste de suporte e o de geradores. Define-se como suporte de dos índices de suas colunas não nulas; Desta forma, um vetor "v" (Sup(v)) uma nova o conjunto linha deve ser incluída na base somente quando seu suporte não contiver nenhum suporte de outra linha da base. 38 Evita-se assim a inclusão de invariantes Define-se das linhas não mínimos na base. como conjunto gerador de uma da base que a geraram. Deve-se somente combinar linhas cujos iniciais conjuntos geradores tenham intersecção nula, evitando que a mesma combinação de linhas da base seja efetuada mais de uma vez. ' › Estabelece-se então o seguinte algoritmo, partindo da base ' com pivots positivos: _ o conjunto de índices linha»"i" (Ger(i)) Bkj: elemento 1 . - B da linha k e colunaj da matriz BLk: vetor linha B G Zqm escalonada da matriz B V Início _ { montar conjuntos geradores das linhas Vi G [1..q] 'faça { para Vj G Ger(i) := {i} cada coluna da base ' _ } A [1..m] faça { para vir; iniciais } › ,A cada combinação entre negativo e positivo [1..q1 ,| Vk G B¡_¡ < 0 faça [1..q] | Bkj > 0 faça { testar V v conjunto de geradores } se Ger(i)flGer(k) = { } então {gerar linha combinação { testar se conjunto suporte } v w G [1..q1 { inserir ç - * * X Z: }. sup(BLw) ¢ sup(×) emâo a nova linha na base q:= q__+1 L.: vBq. x } V e 39 Ger(q) := Ger(i) U Ger(k) fim se lim se fim para B a linha BL¡ suprimir se fim para _ fim para fim 3.3.2. Exemplo de Utilização do Algorítmo Como ilustração do processo de obtenção dos invariantes descrito, será apresentada a obtenção dos invariantes mínimos de lugar da RdP da fig 3.9. em ~ I um '13 |'I.| La- ~i¿_-*'~ r-. matriz de incidência C ®“ “Q a t _...-9» ~ -F é a seguinte (os valores nulos são representados por ' pontos): wfi Exemplo de Rede de Petri Fig. 3.9: A U1 lñlr - » z _ 40 P1 P2 P3 P4 P5 P6 tl c(¢,p)= 12 13 t4 -11 . 1-1. . -1 -1 . 1 1, ._-11-1-1 .-1-111 Escalonando-se a matriz transposta aumentada c'= C': -1_1..1.. .-11...1. z .i11..t. " ..,11.. -1.-1..1. -1.-1..1 Escalonando a matriz base dos invariantes obtida B: 1» Para cancelar o *negativo em B14 podem ser combinadas as linhas 6 todas possuindo geradores distintos: I ~ I (1,2) ` ou (1,3) 41 4 =B24"'BL1'B14`BL2 BL5 =1*[1..-1.-1]-.(-1)*[.1.1.1] =[1 1....1 Sup ‹BL5› = ~ 11,21 ~ U czzr (BLZ) = ser (BL5) = ser (BL1) BL6 '=B34*BL1-B14t*BL3 = Sup ‹BL6› = 1 _ . .-11 1 {1,õ,õ} ~ U ser (BL3) ser (BL6) = ser (BL1) -Os suportes de BL5 e 'BI-'6 P ortanto nela inseridos e suP rimido . `B= [1 {1,2} . 1 1 BL 1 . 1 1 . . . . 1 ~1 _ 1 . {1,3} não contém outros suportes de linha 'da base, sendo , 1. 1. _. = cu`o ne 8 ativo foi cancelado: J G‹-zf={2} 1 Ger={3} . Ger={4} -.1' . .U . -1 G¢f={1,2} Gzr={1,3} Apróxima coluna a tratar é a 6, devido a B36 e B56: BL6 =1*BL3-A'(-1_)*BL1=[.1.1 sup (BL6) = {z,4,5} ser (BL6) ser (BL1) 1 BL7 ~ =_ 1 1 .] U ser (BL3) = {2,4} =1*BL5-(-1)*BL1=`[1 11-1...] Sup<BL7› = {1,2,õ,4> ser (BL7) = Gzr(BL"1) ~ 1 U ser (BL5) = {1,2,3} à 1 ~ _ 42 BL6 pode ser incluida à base, pois seu suporte e seus geradores são distintos. impedindo sua inclusão. O suporte de não contém o suporte de outra linha BL7 contém BL2 os suportes de e BL4, restando mais negativos na base, os invariantes mínimos de Não H lugar da rede da fig. 3.9 são: 3.3.3. ` Módulo Resultados Fornecidos pelo ' Além da apresentação da base de invariantes e dos invariantes mínimos efetuados testes sobre estes; O teste obtidos, são de sub-redes indica quais invariantes de lugar são Máquinas de Estados ou quais invariantes de transição são Grafos de Eventos. O teste de cobertura indica quais nodos (lugares ou transições) pertenceram a todos os invariantes e quais não pertenceram a uma transição seqüências cíclicas; caso não pertencer a nenhum Em particular, em invariante, ,a transição todas as suas não é viva, e também não oi é. sistema obrigatórios e invariante obtidos. pertencente a todos os invariantes da rede está presente portanto a rede O nenhum dos ARP permite ao usuário a definição de um conjunto de nodos um de nodos proibidos. O sistema então apresenta como resultado somente os invariantes que passam pelos nodos obrigatórios e que não passam pelos nodos proibidos indicados, permitindo ao usuário precisar as características dos invariantes que deseja extrair. ' ' Deve-se observar que para esta análise não consideram-se as restrições temporais da rede, mas somente sua topologia. Portanto, alguns invariantes de transição detectados, 43 para RdPTs podem não existir, caso as restrições temporais o impeçam.. Os invariantes de lugar não são afetados pela temporização da rede [Roux 85]. 3.4. Verificação A de Equivalência de Linguagem em verificação de equivalência consiste especificação do sistema se comporta de do mesmo [Bolognesi"87b]. modo provar que o modelo formal da equivalente à especificação de- referência Uma das formas de estudar a equivalência entre pela utilizaçao de sistemas de transiçao (autômatos de estados Classificam-se os eventos de um sistema quando sua ocorrência é detectável por uma como ambos passa finitos). visíveis (observáveis ou externos), entidade externa ao mesmo, ou invisíveis (não-observâveis ou internos) caso contrário. V» A equivalência entre dois sistemas de transição pode ser definida em vários níveis - [Bougé 88], dos quais três são aqui destacados. de linguagem ou de traços máximos, O primeiro nível, denominado equivalência 'verifica-se quando a forma rnínima das linguagens geradas (seqüências de eventos observáveis) por ambos for igual. ' i Por ,outro lado temos as formas de equivalência baseadas no conceito de bissimulação entre estados. Dois estados bissimilares outro, (visíveis equivalência forte «leva e invisíveis), que a de linguagem. A em um ao - conta todos os eventos dos sistemas considerados enquanto a observacional considera somente [Bolognesi 87b, Bougé 88]. esta estar aptos a simular em termos de seqüências de eventos, levando a estados ainda bissimilares. A _ devem seus' A equivalência forte é mais restritiva que a eventos visíveis observacional, e ` ' . V Num primeiro tempo implementou-se no sistema ARP a verificação de equivalência de linguagem. As demais classes de equivalência serão objeto de estudos futuros. 44 3.4.1. O Processo de Verificação de Equivalência O processo do autômato finito de verificação de equivalência de linguagem inicia-se de estados que representa o comportamento do modelo. obtido a partir da construção de seu grafo de acessibilidade. no autômato Indicam-se como comportamento que se deseja verificar, e A eventos Em RdP este é . aqueles visíveis relacionados ao em seu seguir transforma-se o autômato de estados finito não-determinista " número de próximo passo consiste em Os estados. operações são bastante conhecidos, podendo ser encontrados O a obtenção invisíveis os demais. equivalente determinista, e minimiza-se seu _ com algoritmos para tais em [Aho 86]. ~ comparar o autômato determinista obtido (representando o comportamento da implementação do sistema), e um autômato finito determinista de referência que representa a especificação do comportamento desejado para o sistema. ' ~ _ Essa comparação estados descrito em [Aho agrupar os estados de Para fossem tal ér efetuada através do 86], pois mesmo algoritmo de minimização de o processo de minimização de estados consiste um autômato em grupos de estados equivalentes (em linguagem). submetem-se ambos os autômatos simultaneamente ao algorítmo, como se um autômato único, obtendo-se então os grupos de estados equivalentes. Se cada um grupo de estados equivalentes obtido contiver ao menos então ambos são equivalentes ' l em linguagem. estado de cada autômato, ' ~ _ Exemplos detalhados do emprego desta técnica podem também em [Novali 86]. 3.4.2. em ser observados no cap. 4 e ~ Resultados Fornecidos pelo Módulo A partir da definição, pelo usuário, fornecidos como resultados o das transições da rede a considerar visíveis, são autômato determinista mínimo representando Q 45 seqüenciamento entre as transiçoes possíveis nesse autômato. visíveis e também os caminhos (seqüências de disparo) V V Caso também seja definida a especificação do comportamento desejado, esta é comparada como autômato mínimo obtido do modelo, sendo então apresentados os grupos de estados equivalentes entre ambos,'e a conclusão sobre sua equivalência ou não. A verificação de equivalência de linguagem permite a observação de uma abstração do comportamento do sistema, sendo mais eficiente na redução da complexidade do modelo que as técnicas de redução de RdP usando regras estruturais, pois as regras redução de autômatos são mais eficazes e genéricas que as de redução de redes [Dufau 3.5. simulação de um modelo em RdP é uma comportamento, especialmente quando outras formas importante forma de verificar seu (via equivalênc`ia,-mšpor , _ são factíveis devido à' .V . exemplo) não ',¡‹¿` não-limitação da rede ou tamanho -'excessivo do grafo de ' acessibilidade. Í › Além disso, por permitir efetuar a evolução passo-a-passo de uma RdP, torna-se uma importante ferramenta para a depuração Observa-se porém que, sendo uma um processo a simulação do modelo, permitindo compreender melhor o comportamento do sistema e suas limitações. por 84]. Simulação de Redes de Petri A . de ` V não-exaustivo, os resultados fornecidos simulação são dependentes do usuário, que determina o comportamento a ` estudar e detecta eventuais incorreções. 1 46 3.5.1. Descrição do Simulador O ARP possui um simulador que permite efetuar a evolução passo-a-passo de uma RdP, provendo No diversas facilidades que tornam seu uso simples e eficiente. . simulador construído, são apresentadas ao usuário as transições disparáveis no estado atual (composto por sua marcação e seu domínio de disparos). Este escolhe então uma para disparar (e define seu instante de disparo, em caso de RdPT). Com o como novo disparo da transição escolhida estado atual. um novo estado é criado, sendo considerado O estado anterior é então armazenado em uma lista de estados percorridos, possibilitando futuros retornos. _ Pode-se alterar a marcação ou o domínio de disparos do estado atual da simulação. Um histórico de simulaçao registra as alteraçoes efetuadas, transiçoes disparadas e estados percorridos, podendo Além nome dado disso, ser consultado a qualquer instante._ determinados estados de interesse . podem ser memorizados com como estado pelo usuário, podendo ser visualizados ou restaurados qualquer instante. i um atual a ` O comandos disponíveis no simulador são: - Disparar: apresentam-se as transições_disparáveis, das quais ` disparo. -. . - uma é escolhida para ' t p Retornar: permite retornar a um estado anterior na lista de estados percorridos, caso nao esteja vazia. Editar: permite alterar a marcação ou os intervalos dinâmicos atual. 'de disparo do estado › - Visualizar: permite observar estados da lista de estados já percorridos. - Memorizar: memorização de estados de nomes dados pelo usuário. - I-Iistóricoíconsulta ao histórico interesse, para retorno posterior, ' de simulação. usando 47 Para melhor acompanhar a simulação, apresenta-se na tela ,do simulador a marcação do estado atual e uma representação resumida da de estados percorridos, lista na qual são indicadas eventuais duplicações de estados ou bloqueios. Essa representação contém ainda o em relação memorizado, ou sua profundidade nome de cada ao estado disparada e o número de transições ainda não disparadas 3.6. Avaliação de Desempenho inicial, estado percorrido, o nome se de cada transição em cada estado. em Redes de Petri A avaliação de desempenho de um sistema a partir de seu modelo em RdPTE pode ser analítica ou baseada numa estatística obtida por repetidas simulações aleatórias da rede. A . Sendo a primeira -forma: bastante complexa para implementação, o foi escolhida para ARP a segunda forma de avaliação. 3.6.1. ' Descrição Geral do Avaliador de'Desempenho Duas opções são possíveis no método empregado: uma que entre estados' e outra entre eventos (disparos de transiçoes). Na opção rede. a estados, o usuário define privilegia as medidas . um estado inicial e "n" estados destino para a A rede evolui a partir do estado inicial até alcançar um dos estados destino, quando é armazenado o. valorobtido para o tempo de acesso àquele destino. O estado inicial é restaurado e o processo de evolução repete-se até os valores dos tempos médios de acesso atingirem a precisão desejada. Na opção V _ a eventos são determinados os eventos (transições) rede evolui livremente a partir de seu estado inicial. A contagem inicial e destinos, e a do tempo inicia-se na 48 ocorrência do evento inicial e termina na ocorrência de armazenado o tempo de acesso obtido àquele restaurado o estado inicial da rede, a critério um destino. Neste do usuário. evento destino, quando é momento pode ou não O processo repete-se ser como na ' opção a estados. ` ' Para contornar situações de bloqueio (”dead-lock”' e critérios para o fim de disparadas são definidos outros um ciclo: nenhuma transição sensibilizada ou excesso de transições em um ciclo. Usando "live-lock") i J , ` i _ este método podem que permitem ser obtidos diversos parâmetros avaliar um estado, atraso médio entre eventos e probabilidade de acesso a um estado ou entre eventos. É também possível o desempenho de um sistema, como extrair valores relativos aos nodos da rede, como atraso médio de disparoe número médio de disparos de cada transição por Para bem definir o tempo médio de acesso a ciclo e marcação média de cada lugar. f o comportamento que deseja estudar, o usuário tem acesso às no seguintes opçoes de entrada: marcações inicial e destinos, eventos inicial e destinos, máximo de disparos, precisão desejada para os resultados e definição disparo entre transições conflitantes (ponderação de conflitos). de probabilidade de ` * . Na opção a eventos, ao ser alcançado um evento destino, a marcação inicial da rede pode ou não ser restaurada para o início de um novo nao restauração da marcação causa uma evoluçao Durante a .avaliação são indicados na acesso e o número de acessos efetuados dos valores 3.6.2. finais a_ ciclo, livre também a critério do usuário. A da rede. , tela os valores atuais cada destino, dando dos tempos médios de uma visão da ao usuário, que pode decidir sobre o término da avaliação. convergência ' . O Mecanismo de Evolução da Rede O núcleo do módulo de avaliação de desempenho é o mecanismo de evolução da rede, que se encarrega da determinação e disparo das transições sensibilizadas, da 49 atualização do estado da rede e da gerência do tempo. em uma fila Este mecanismo baseia-se instantes V de transições sensibilizadas, ordenadas por de disparo crescentes, para que a primeira transição da fila sempre seja a próxima a disparar. Os instantes de sensibilização e disparo das transições são controlados através de um contador de tempo virtual, que é atualizado a cada disparo de transição. “ Para acelerar a determinação das transições sensibilizadas define-se para cada transição da rede um índice de sensibilização transição: _ ÍSENS Se ISENS, que é atualizado a cada disparo de uma transição (tj) tj =€Í(Íj›Pk) está sensibilizada disparo de uma marcação M, seu índice de .. . j transição são retiradas fichas dessensibilizando transições, e colocadas fichas novas transições. em uma M (Pk) > 'l $¢nzibi1izaçâq1SENSserâmúo. No Vpk / Í (fj›Pk) em de seus lugares de entrada, seus lugares de saída, sensibilizando O disparo de uma transição efetua-se através dos "seguintes passos: para que seja disparada. - Retira-se a primeira transição da - O contador de tempo virtual ê atualizado com o instante de disparo de td. - Cada lugar deentrada de td fila (td), _ tem atualizada sua marcação e os ISENS das transições que o têm como lugar de entrada. Caso alguma destas transições seja dessensibilizada, é retirada da fila de sensibilizadas. - Cada lugar de saída de td tem atualizada sua marcação e os ISENS das transições que o têm como lugar de entrada. Caso alguma transição seja sensibilizada, é sorteado um instante de disparo para a referente a seu instante de disparo. mesma e insere-se-a na . _ fila, na ,posição 50 3.6.3. Disparo de Transições O sorteio' do em Instantes Aleatórios uma instante de disparo de estático de disparo e sua função transiçao deve considerar seu intervalo de densidade de probabilidade distribuída sobre esse intervalo. . Para cada função de densidade de probabilidade distinta é construída (por ~ integração) uma curva de distribuição acumulada de probabilidade, sempre a partir da função de densidade de probabilidade normalizada, definida sobre 0 intervalo com área subjacente unitária e [0,1]. FU) fit) . F 1 fm) íííšr ---- --r=- zmzz = 1 Í é. _ I zu; t . ~ ' _ I _ tê Q _ z le . 'W' 1 â 1 Fig. 3.11: Funções de densid. e distrib. de probabilidade . 1+ 1 - A r O sorteio do instante de disparo de uma transição, respeitando seu intervalo função de densidade de probabilidade, passa pelos seguintes passos: Sorteio de V e sua ` um valor aleatório real com distribuição uniforme sobre o intervalo [0,1]. Ponderação deste valor através da curva de distribuição acumulada de probabilidade: 51 1 _ ----------------------------------- -- Ualor_Surteado Uniforme S '__..._._...____ 1+ “Y Ê Uaior Sor-temia Ponderâclo Fig; 3.12: - Ponderação do valor aleatório Ajuste do valor sorteado e ponderado ao intervalo de disparo estatico da transição: ----------------------------- -- 1 ' Ê\ --------------- --_ ----- -- Salar âorteâdu Ponàeraàõ Ualnr rea! do disparo Fig. 3.13: Ajuste 3.6.4. do valor --I SLFT P ' ` × aleatório Ponderação de Conflitos Em certas circunstâncias é interessante poder forçar uma transição a disparar mais freqüentemente que outras transições em conflito com ela, fixando probabilidades de disparo entre as em conflito. Denomina-se grupo de conflito o conjunto de todas as transições que possuem os mesmos lugares de entrada (arcos de definidos sobre o mesmo peso), mesmo ponto '(SEFTk = SLFTk). com intervalos de disparo iguais e Assim,_ todas as transições de um 52 mesmo grupo_de. conflito .são sensibilizadas simultaneamente, disparo. de - transição de sensibilizadas), um grupo de conflito a próxima a disparar (primeira da o mecanismo de evolução da rede escolhe aleatoriamente, uma das transições de respeitando as probabilidadesfixadas, na fila com a primeira, e a dispara. 3.7. seu grupo, que troca de lugar ' _ ç ç Conclusão Este capítulo apresentou o Sistema ARP, destacando sua cëinstmção modular e 1 . integrada e descrevendo detalhadamente cada análise e simulação de _ Redes de uma z das ferramentasque oferece para ` Petri. ' ' . Esse sistema foidesenvolvido para equipamentos compatíveis' IBM-PC, sob sistema operacional DOS, e seu código fonte em_Pascal possui cerca de 11.090 linhas. Devido às › limitações do equipamento, são aceitas no ~ instante de _ Quando uma fila com o mesmo 1 ARP redes com até 150 lugares e 150 transições. O próximo capítulo buscará demonstrar a utilidade do ARP, através da aplicação de suas ferramentas as estudo de problemas ide Automaçao Industrial e Sistemas Distribuídos. 53 Utilização das Ferramentas do Sistema 4. ARP Neste capítulo serão apresentados alguns exemplos da utilização doambiente com 0 ARP, objetivo de verificar as potencialidades de suas ferramentas para análise' comportamento e do desempenho de sistemas modelados por Redes de A do Petri. escolha dos exemplos visou a cobertura das várias ferramentas integradas no ambiente ARP. Em cada aplicação pretende-se mostrar a utilização de uma ou mais ferramentas. Desta forma, para cada exemplo é apresentado o problema de análise a ser resolvido, o estudo realizado deste. em termos de modelagem e análise do sistema e os resultados ' r _ Os exemplos escolhidos são ligados a problemas reais dentro das áreas de interesse do LCMI-EEL: Automação Industrial e Sistemas Informáticos Distribuídos. Entretanto a aplicaçao das ferramentas do ambiente n¿ao se restringe problemas que possam ser modelados via Redes de 4.1. Uso do Ambiente ARP , Petri. na' Verificação ao-Protocolo de Comunicação MMS a estas áreas, abrangendo outros _ do Comportamento: Aplicação ' Q exemplo proposto visa apresentar o uso do Ambiente ARP para a verificação do comportamento da parte do protocolo que trata da execução ou cancelamento de um serviço, no caso dos sewiçoslconfirmados. Do uso da ferramenta de verificação sobre o modelo RdP deste protocolo concluir. se-á_ a respeito da adequação da especificação da parte analisada do protocolo relação ao comportamento desejado descrito na modificações deste. i norma [ISO 9506], MMS em bem como de eventuais ' 54 4.1.1. Descrição da Aplicação A _ (MMS, [ISO Especificação de. Mensagens da Manufatura protocolopara a camada aplicação do padrão MAP, que entre equipamentos programáveis heterogêneos em ambientes industriais. A execução de um serviço MMS baseia-se conexão entre a entidade que requisita o A permite a troca de mensagens ' no prévio estabelecimento de mesmo um 9506]), define uma e a que responde (requisítor) (respondedor). Neste exemplo estudar-se-á a interação entre estas entidades durante a um serviço MMS confirmado. Uma conexão entre dois usuários MMS, execução de vista . um serviço tratando da seguinte forma: t xlndicatinn i xflsquest x€x.›nfir‹râ W ‹ l~l-'Í . _ l “H L ----------- --¬!---I+-- Çunfir+se‹í_Request_Pl§äI ---rf!--J I Requisitar x`_Confim1 x_`Indication x__Response : : : serviço ~~~~~~~~~~~ -- 1 1 u 1...... Respandedor šeio de corâtznicâcan Fig. 4.1: Serviço As primitivas do L I _ L~~<-zeââêâââszâ*.ââââêtâflL¬~ x_Request ¡ _ ' ítplicâcan" i _ xšesrsnse ~ llsr¿âri‹.:s_ z . _ corifirmadoflipode ser MMS confirmado ' MMS confirmado são: pedido de execução do serviço X. . indicação de aceite (x_Con_firm +) ou recusa (x_C0nfirm-) do serviço X. indicação de _ um pedido de serviço X. :aceite (x_Response+) ou recusa (x_Response-) de execução do serviço X. ' 55 As PDUs ("Protocol Confirmed_Request : Confirmed_Response : Confirmed_Error : Data Units") trocadas entre entidades do protocolo significam: pedido de serviço confirmado. indicação de aceite. indicação de recusa. O cancelamento de um pedido de serviço confirmado comporta-se do mesmo modo, Cancel_Confirm+ e Cancel_Confirm-, e das PDUs através das primitivas Cancel_Request, Cancel_Request_PD U, Cancel_Response_PDU e Cancel_Error_PDU: Cancel lnziication Câncelišespúnse Cancellšê-gfuc-st Ca.ncelConl`irn -_~h- |.,¡___.__ - I' 11111111 111 L" I Êêfqâiisitor Fig. 4.2: Í -1 Usuarios G;-1 1 icacao -11n---- I- Cancel_Request_P!*il Cancel l-Íespr-nse - -¬-- -------------Í PRU Cancel__Err~1:‹r_P5U Meio de comunicacao 1..... -- 1 Eespanrledcr Cancelamento de pedido de serviço MMS confirmado Será aqui estudado o comportamento no caso de pedido de cancelamento por parte do requisitor. Para tal será construído um modelo do protocolo em RdP, a partir dos modelos das entidades e dos meios de comunicação. A descrição do protocolo, incluindo as máquinas de estados das entidades, é encontrada na norma [ISO 9506]. 4.1.2. Modelagem das Entidades MMS em Redes de Petri A construção do modelo de um protocolo de comunicação segue uma metodologia bem definida. Seguindo o princípio de estruturação de protocolos 1 em camadas, definido 56 pelo modelo de referência da ISO, cada camada (N) fornece (N+ 1) através de funçoes realizadas emseu (N-1) [Courtiat 87]. interior um serviço (N) à camada usando serviços da camada-inferior ç A fig. 4.3 representaa forma geral 'de uma camada (N) de um protocolo: Servico Servico (N) (Lâêââda (ll+l) fi (li) ¿ Casada (N) 5 z zt ` Entidàäcfi }¿`ÍÍ1 P¡`ʧ°)'°°l°í tieio de Comunicacao ' Fig. 4.3: *ii Entida‹leB ¡ Modelo de protocolo em camadas A partir do modelo em RdP de cada entidade e do meio de comunicação, construirse-á o modelo global do protocolo no caso do serviço MMS confirmado. a. Requisitar do Serviço O modelo do norma [ISO requisitor do- serviço, 9506], é apresentado indicações de envio (!) na baseado na máquina de estados. indicada na fig. 4.4. A cada transição do modelo são associadas e recepção (?) de mensagens (primitivas de serviço sl: ? x_Request / Conflrmed_Request_PDU sz: ? Confirmed_Response_PDU / !x_Confirm + S3: ? C0nfim1ed_Error_PDU/ !x_Confirm- s4: ? Cancel_Request / Cancel_Request_PDU ss: ? Cancel_ErTor_PDU / Cancel_Confirm- ! ! ! ç ou PDUs): só: ? -! CanceI_Response_PDU & Confirmed_Enor_PDU / & x_Conflrm- Cancel_Confirm + V |‹ ` ® 1 l › 523» Y ' 'I' «__ 5, --mas Ú ll «- lƒl 'í .› Req_ldle U3 rn. *S v_P_end_Req *U"' agf.. ppm»-1 ..._ n-'nuns “JL U! ___...-._p.. L 11» Canceljeq n mlk. __|«»- m Modelo do requisitor Fig. 4.4: Para simplicidade do modelo, os eventos S2 e s3 foram reunidas em um unico evento S23, cuja ocorrência é modelada pelas transições s23A e s23B. Respondedor do Serviço b. O modelo do respondedor é apresentado na fig. 4.5, cujas transições correspondem aos seguintes eventos: Íll ? ' - Confirmed_Request__PDU / ~ !'x_Indication ?x_Response+ / Confirmed_Response_PDU t2. ! ts ?x_Response- / C0nfirmed_Error_PDU l ! .t4 ? _Cancel_Request_PDU / Cancel_Indication ! ts ? Cancel_Resp0nse_- / _ ÍÕI ? ! Cancel_Response+ ! Cancel_Error_PDU & x_Response- / Cancel_Resp0nse_PD_U & C0nƒírmed_Enor_PDU , ? Í"-®`¬ Uaziu¡ m m 5% ConfimedRequestPDU i _ _ ? CancelRequestPDU i i ›Q no veio ' 21 Cancelfie *IU estPI>U no Fig. 4.6: No (Ionfir-:âedY:equestPDU Í __ Ê Cunfi2¬-HedI_%eque5,tPDU 5:; ~ q q q z=- Cance1RequestPI>U 9 sem Meio no sentido requisitor-respondedor fluem sentido respondedor-requisitor as- PDUs Confirmed_Response_PDU Confim1ed_Error_PDU, Cancel_Response_PDU e Cancel_Error_PDU. As duas primeiras uma serão consideradas requisitor e só, devido às uniões de eventos s23 e't23, nos modelos do do respondedor: ' - “ Uazioz ~ É É m í-›o¬fi%¬ V (laafir#.e‹íP1esponsePBU m C-ânce1ResponsePDU è P 3° .'.- !Cance1En¬urPi1!J É i V Em ® pu  1 ? Confir.~‹:ê;BesparzsêPÉ*§.! i i P,*il xRêspon5ePI2ä HD ëêlü P": 'I m (La:melF§esponsePIi×U ..;;1|_._....... Í' (larzcê-iEx¬r‹›r=PB%1 ysx .| _ ...._.._..‹...__...¬_ no seis ~‹ É Cê.ncê1Er=r'-cú*FÊ⧠Fig. 4.7: ..__...-.. . na saiu Meio no sentido respondedor-requisitor 60 e PDUS, O modelo global é construído por fusão das transições entre as entidades e os meios de comunicação (a transição plz é duplicada, devido à existência das transições s23A e s23B). Requisitor S1 + É efetuada a fusão entre as seguintes transições: Respondedor _ + <l11 <l12 + P11 S23A + P12 52313 + P12 + S4 + <121 + P31 S5 + P32 + P21 ¬Só “+P22 4.1.3. de emissão e recepção das (122 ' , Análise do Modelo Global A análise do modelo global obtido para a parte do protocolo _MMS serviços confirmados busca' comportamento com F-.._xF. que trata .dos comprovar sua correta construção e a equivalênciadet seu as especificações constantes na norma, que guiaram a modelagem. Esta verificação garantiria a correção do modelo' da implementação. a. Validação do Modelo Global Obtido Analisando o modelo obtido através do módulo de análise via construçãoí do grafo de acessibilidade do ARP constata-se um bloqueio, observado no grafo de estados obtido: 61 se â t te 0 ° 5: ã ti A ~ Fig. 4.8: ,-/` S* ~ -^ V 0 ff Sê t, i * _ I - 52'? Grafo de estados do modelo global marcação na qual ocorre o bloqueio é M8: {Req_Idle, Rsp_Idle, ,Vazio2, CancelRequestPDU}, que pode ser alcançada pela seqüência de disparos {s1, tl, S4, t23, s23B}. -O pedido de cancelamento Cancel_Request_PDU, não recebido pelo respondedor (esta situação é geralmente impede o requisitor de utilizar o bloqueando 0 sistema [Pinho O denominada "recepção não especificada" [Courtiat ítem 6.4 Cancel_Request_PDU da meio de comunicação para um novo V ~ _ norma [ISO a pedido de serviço, ' 88]. referente 871), um pedido de um desconhecido, o respondedor deve enviar uma 9506] indica que Cancel_Error_PDU ao emissor do pedido de cancelamento. O "na recepção usuário do serviço nao é infomiado sobre o ocorrido". Portanto deveria ser incluído à especificação e ao modelo do respondedor . um novo evento possível t7: t7: ? 4 CancelRequest_PDU / Cancel_Error_PDU ! 62 Uazio tv ã Ua1io_ Resäonder l . l+ le ‹_l H te I Ita 1 I t, txt SLMIE CancelErrorPDU no-Heio I I flçâlšy ¿ :Í ÇancelHequestPDU no nexo Fig. 4.9: Alteração Caso o comportamento do no modelo do respondedor requisitor não seja redefinido, o mesmo problema ocorrerá pela recepção não especificada de Cancel_Error_PDU. Segundo o ítem 6.3.11 de [ISO 9506]: "se após o pedido de cancelamento uma Confirmed_Error_PDU ou uma Confirmed_Response_PDU for recebida, o cancelamento uma .Cancel_Error_PDU .deve requisitor ser recebida". é considerado como tendo falhado Desta forma, a especificação e o modelo do devem incluir um novo evento s7: s7: ? e . Cancel_Error_PDU Uazxoz A ~ `````` de l___% Rê _ _ 'z 1 stsr lille 5: '51 '52 1%? Câm:êlErro1¬P§U no :àeio ` V . P_ Lme 'ss Fig. 4.10: Alteração no modelo do requisitor Analisando-se o modelo global modificado do protocolo, através do se que possui as propriedades básicas, (limitação, vivacidade portanto elirninado 0 bloqueio anteriormente observado. ea ARP, observa- reiniciação) estando 63 b. Verificação do Modelo Global A observação das propriedades básicas não implica na correção do comportamento do modelo frente às especificações de referência. Esta correção pode ser verificada através do módulo de verificação de equivalência de linguagem do ARP. ' Para a verificação do_ comportamento do requisitor, são considerados somente os eventos relacionados às primitivas doserviço que fornece global modificado. no modelo Obtém-se então o autômato de estados que representa seu comportamento e verifica-se sua equivalência com a O (sl a só), visíveis especificação. autômato de estados obtido pelo módulo de verificação de equivalência de linguagem do ARP' para o requisitor é indicado na na norma [ISO fig. 4.11, e coincide com o apresentado 9506]: ' 5221 to t ' fé ' ` Szsâ Fig. 4.11: ç®ë ' ~ sa.- 55 Autômato do requisitor Parao respondedor (eventos visíveis: estados, çi tl também coincindindo com o desejado: a t6), o -ARP obtém o seguinte autômato de V (S4 0 ta F 4 1 ë < ts tas Fig. 4.12: Da verificação ta _ i Autômato do respondedor acima efetuada pode-se Concluir que o modelo global do protocolo (modificado) executa corretamente o serviço conforme especificado. As modificações efetuadas no modelo global para sua correção foram baseadas no texto da 9506], o que indica inconsistências entre seu texto e as máquinas de estados que apresenta, usadas para a construção dos modelos 4.1.4. norma [ISO iniciais das entidades. Conclusões Este exemplo buscou mostrar a utilização de ferramentas do ARP na verificação de uma parte do protocolo MMS, que trata dos serviços co_n_firmados. 'Demonstrou-se que a verificação de equivalência de linguagem é uma ferramenta importante, pois permite destacar o comportamento de cada entidade do comportamento global do modelo e compará-lo com a especificação. Desta forma garante-se a correção do modelo da implementação obtido a partir da descrição fornecida na norma. Do exemplo pode-se também destacar uma metodologia para a abordagem da verificação de protocolos, que consiste das seguintes etapas: - Modelagem de cada entidade valídando os 'do ` protocolo (incluindo os meios de comunicação), modelos obtidos via grafo de acessibilidade e verificando a 65 conformidade dos grafos de estados gerados para cada entidade com o respectiva especificação. - - Construção, a partir dos modelos das entidades e do meio, de protocolo, utilizando por exemplo a fusão de transições ~ um modelo global do como meio de interação entre os modelos. - Validação do modelo global, detectando comportamentos anômalos, e modificações nos modelos das entidades, baseadas na análise do modelo global. - Verificação do comportamento descrito pelo protocolo, do ponto de serviço (visto 4.2. vista A _ p modelo global que representa 0 de sua conformidade com a especificação do mesmo da camada superior). ` Uso do Ambiente ARPina Avaliação de Desempenho: Aplicação ao Serviço de Troca de Mensagens com Reconhecimento do Protocolo de Instrumentação Fabril FIP Este exemplo busca demonstrar a potencialidade da ferramenta de avaliação de desempenho do ambiente ARP. Para tal será medida a eficiência mensagens com reconhecimento do protocolo de instrumentação do serviço de troca de fabril FIP [FIP 87], em um meio de comunicação com perdas. Será estudada a eficiência do serviço provido pelo protocolo para vários_ níveis diferentes de 'perdas no meio, considerando entre as diversas estações do sistema. também as diferentes disposições relativas _ 66 4.2.1. Descrição da Aplicação A comunicação de dados em controle digital de processos, nos níveis inferiores de _ uma planta de fabricação, evolui na direção do_ uso de redes locais interconectando os equipamentos, como sensores, atuadores, velocidade (Field-Bus). _ de barramentos etc, através seriais de alta V - O protocolo FIP (Factory Instrumentation Protocol) é uma das propostas de Field- bus, hoje sendo analisadas pelos órgaos de normalização internacionais (ISA, IEC), para poder se tornar um padrão. Ele se baseia na difusão de 'dados entre estações produtoras e consumidoras destes, via rede de comunicação [FIP E 87]. Existem no FIP três tipos de estações: o árbitro (único), que controla o acesso ao barramento das demais estações; a produtora, que difunde seus dados a pedido do árbitro e a consumidora, que recebe os dados difundidos. Este exemplo visa avaliar _a eficiência “ do serviço SDA (troca de mensagem com reconhecimento) do FIP considerando o meio de comunicação como tendo perdas A eficiência será medida em função do percentual de 'perdas efetivas de físicas. mensagem no meio e do número máximo de retransmissões permitidas pelo árbitro de barramento. Serão apresentadas ao atendidos) em função final curvas estimanido as das perdas físicas perdas médias finais (pedidos não edovnúmero de retransmissões. Este estudo será realizado para os vários casos correspondentes às diferentes disposições relativas entre as estações (árbitro, produtor e consumidor). a. Descrição do Serviço No FIP SDA do FIP cada estação «se comunica com as demais buscandovalores de variáveis oriundas dos dispositivos monitorados ou controlados. Essa comunicação é coordenada pelo árbitro de barramento, que possui o seguinte ciclo global de funcionamento (macroeiel9)¡ 67 Atualização cíclica (ou periódica) de variáveis. - Atualização de variáveis requisitadas, de forma acíclica (ou aperiódica). - Troca de mensagens requisitadas. Cada etapa do macro-ciclo ' ~ possui uma janela de tempo respectiva, com duração definida na configuraçao do sistema: ‹ä-- Janela cíclica -% ê- Janela acíclica -Ê É- Janela de lj_)!lÍ1_UJll!IšlíLUlliUllLllllll êerâsâgens l Hlllil E äêcre ciclo serviço SDA troca cíclica de dados, (troca de com um mensagem com išiililllllll ll i-í-í--F-1 Fig. 4.13: Macro-ciclo O 'll -le; .É do FIP reconhecimento)_inicia-(se na janela de pedido de envio de mensagem pelo produtor da mesma. Este pedido é armazenado pelo árbitro e atendido posteriormente na janela de mensagens (fase MA) pelos seguintes passos: A - _ Envio do quadro ID_MS G pelo _ árbitro, identificando o produtor da mensagem. - Recepção do ID_MSG pelo produtor e todos os consumidores possíveis. Envio do quadro RP_MSG_ACK pelo produtor, com a mensagem e seu destino. Recepção de RP_MSG_ACK pelo Envio do quadro árbitro e pelos consumidores. RP_ACK (reconhecimento) pelo consumidor destino. Recepção de RP_A CK pelo árbitro e pelo produtor Caso o reconhecimento (RP_ACK) não chegue ao este retransmite o _ mesmo ID_MSG da mensagem. árbitro, por um motivo qualquer, para repetir todas as etapas acima, na tentativa de 68 assegurar a troca de mensagem. na norma, devendo _ O O número máximo de retransmissões nmax não é fixado ser escolhido pelo projetista. comportamento das estações (árbitro, consurnidor, produtor) é descrito pelos autômatos de estado apresentados na norma [FIP 87] e na fig 4.14: 2 P.P_âziz T i Arbitro ea repnuso .,,¬ . 9 Espera ID_H5g `i`.I`0 RP_Hsg_Rcl‹ P.P_ficl: . _ tina-out ' n :: n+1 ' i Í ID ässi Ê Í n ) nl”, '"^ __ ' tuâe-out Rfínta c- vans. w›_zzz< il? ip Prflcessa ?l§_l%5g Prmlutor _ea ` Espera ' Wit. n :I B , '_' RP_li5g_Acl‹ = á RU* ? (emu rê1:=flu5o ~ Í ID_ä;-75 Espera !VRP_ã5§_í¡ck ' ' EI-`_fick f (quadro incnrre to) er-ro Produter , I tiáe-out zmm s l V Consuiâiéar ? lD_l~*ég en repouso _ . ? RP_F5§_§ck . _' 43% 'Wi -Prrocessa É l¡!P_Hsg_Ilck . l Fig. 4.14: considerado somente Espera RP_Fl5g_flcl4 tiras-out Í Podem ocorrer = Cnnsuni Mu n Comportamento das estações FIP três disposições distintas entre as estações no barramento, caso seja um produtor e um consumidor, que é o› caso deste exemplo: 69 ~ ÉÉ 13* ~ Dispusicao QFC Disposicao MIP Dispnsicao PRC Fig. 4.15 Disposições entre as estações : b. Definição dos Time-Outs do FIP ' Abaixo d e f'mem-se os time-outs relevantes a este estudo. propagação entre as estações TXY é o atraso de X e Y, e Tret o tempo de resposta de cada estação. Tm: permite ao árbitro a detecção da não recepção de uma resposta: => + Tret + Tot > ...q¡||__ 11 I pm 11 'rw TH ae ârzizizz 111 11111111 1 I 1u11 111I11 111111111111 É ' 1 É I-il . Hs :1 _.-|p› ftä :fl 11: 1»‹-1-›‹› 1::1~1;;1 1:1-'-‹:: D-1 'T5 -rf-O ›_. O '¶ ¿ Tan* lr-ec›:-pcào produtor pelo Fig. 4.16: Cálculo _ I I 1 _¡_ TÉT _....._..T. T 1. Tot > Tret.+ Í Tm ¿ lezwio pela de Tot 1 L 7 t %r=êcepsào pela ax*-bi tm _ _ t permlte a estaçao produtora-consumidora a detecção da não recepção deçuma _ ICSPOSÍEII - V fe: +TPc =>T'>T rem* TAP+TPc'TAc 1 70 A envio pelo larln tm r-iír recepcgâo pelo fin de T lconsum dor TM ----------------------- --1 Ti kt ...___ Tm _-p- l envio pelo Tur irecepcao pelo pmdutor arbxtr-o p Í *_ I I Trc fenuio pelo produtor Fig. 4.17: Cálculo de irecepcgw pelo consumdor T1 Para este exemplo, arbitra-se Tret = 15 uS e os seguintes atrasos de propagação, para cada disposição, obtendo-se os respectivos time-outs (valores TAC: ACP! TAC= 2 TPC= 3 TAP: PAczTAP= 2 TAC= 3 TPC=_ APCITAP= 2 3 5 -> T0t> 19 em uS): T1) V 15 -> T0tv> 25 T1>. 21 5 -> T0,> 19 r1> 19 Adotar-se-á Totz 30 uS e T1: 25 uS, para satisfazer as condições das três disposições. 4.2.2. “ que as Modelagem da Fase MA do Serviço SDA_ Serão modeladas isoladamente as estaões P artici antes e o meio de comunica ão interliga. Considerar-se-á simplificação do Ao 'final modelo e da somente o atendimento a avaliação. será construído um um pedido de mensagem, para - modelo global para cada disposição entre estações, pela interligação de forma adequada entre os modelos das estações e os meios de comunicação. ` 71 a. Árbitro de Barramento O modelo proposto para o árbitro, a ser utilizado neste estudo, inclui o mecanismo normal de transmissão e recepção de quadros, um mecanismo O valor "nmax" e detecção de recepção não especificada (erro grave). máximo de O retransmissões permitidas. retransmissões possíveis dentro do estado de retransmissão, time-outs define o número o fim das transmissões e "final" indica mesmo ID_MSG: i ' 'P' E O n-4 E fz "lI" ›-1. O Ú É ê ? EP_RCK 'W' Tefiiãtivií flfiáx 1 em .-0 V'-§Il2Sfl'!V |-¬›-‹ _m ›._.u..r› Fig. 4.18: .q Cl! Efetuâdâs n >Orm; ê:P_â‹:ê: V _ ff .- Egg tl íëpéfzzzfiziz š? _ f.|> b. *CL fi ' _-zw. :I 2 ›1âr_ëêz__âcx Eêrêrâësg ÊEYEÊÊG Iârz[Ter] Errsâraue _; Efêsiste ilefl HÊÉ . Modelo do árbitro em RdPT Produtor / Consumidor Os modelos do produtor e do consumidor são apresentados nas figs. respectivamente: Hr ' sf;r_âê‹â_ecx .. Tifiê-out [Til I ~ I f . .__,...@)..,__. _ fiâëêaso vi Prâcessalfi if_.,= "”'_1 - __ _, Ezyâraâski u Fig, 4.19: Modelo do produtor em RdPT P»câck ? EF_âCH 4.19 e 4.20, Í722 0 ‹_ Espemñsg ?RP_HSG_fiCK ?ID MSG _ *I Repouso *I Pmcessañsg A l Fig. 4.20: c. O ÊRPJCH el [T¡¡_l ^ rim-out nz] Modelo do consumidor em RdPT Meio de Comunicação O meio é 0 responsável pela interação entre as estações circulam os quadros que definem o serviço. Como do sistema, no qual , f serão respeitados os time-outs definidos para cada estação, e será modelada somente 0 atendimento a um único pedido de mensagem, não há necessidade de representar 0 controle de fluxo e a detecção de colisão nesta modelagem dos meios de comunicação. Somente será modelada a perda de quadro, de interesse para este exemplo: X M 11. Fig. 4.21: ' “ xiii Modelo do meio de comunicação TX representa a transferência de informação, ser repetido X. T, [T_l e PX sua perda. para cada quadro circulante entre as estações. as estações é efetuado da seguinte forma: ' O modelo acima deve O acoplamento entre o meio e 73 n› "¬ ...J iãfin ... >C rx x, UP1 4 1.-.... gi; Fig. 4.22: 4.2.3. Avaliação de *Q ' xa n*,1 ~ ..._ ~`› >€ ¡__..... _ Acoplamento entre estações Desempenho do Serviço Para a consideração dos percentuais de perdas no meio de comunicação, atribuirse-á a cada conflito PX-TX 10%, Oe2. uma probabilidade de disparo (Pf) para PX variando entre 0 e em relação a TX. O número máximo de retransmissões (nmax) será considerado entre n ~ _ Como evento inicial de cada avaliação será definida a transição EnvID do árbitro, como destino único a transição RecAck do produtor, indicando o sucesso da execução do de avaliação improdutivos (não alcançando este destino) serão considerados serviço. Ciclos execuções' fracassadas. V médias As avaliações serão efetuadas finais. A ~ medindo o percentual de ciclos improdutivos (perdas Pmed) para cada combinação Pf versus nmax e para cada entre estações. As e disposição relativa ' _ curvas resultantes das avaliações estão apresentadas nos gráficos a seguir (figs 4.23 a 4.26). O último gráfico (fig 4.26) apresenta uma média dos valores obtidos para cada disposição entre estações, indicando o desempenho médio do protocolo. Para cada avaliação (ponto do gráfico) foram realizados cerca de 1000 ciclos de avaliação. 74 50 Pmed 1 _ _- Pmed 1 so' Á ¡°. Nmax= O //Êfnmaxa 2 Qv (~ *_ max: 20. v 10 . 0° 2 s 4 Fig. 4.23: Disposição Pmzú S0 'z \ Nmaxfl to ' Pf 1 :Ia ACP fo i \ \ Nmax= O N|nax= l \\ // .\ 0 4 2 4 Fig. 4.25: Disposição 4.2.4. _ Pf 1 a s - "J APC 4 Pmed Z 50 . *O Nmaxz 3° p/í////ƒšušišgí/:1:::::::::Í .. .2°¬ 9/,1z×/zzf/×zz¿ J//////;;;i;;;:í::::£ššší:/il s s 2,/ 2 10 2 1 Fig. 4.2_4:¿Disposição 2 10 o M//X. /f ~ - p fz za ' ^ o PAC '‹- z , s _a Fig. 4.24: Valores rf: fo Médios Conclusões Em todas as curvas obtidas para o exemplo estudado observa-se um percentual de perdas finais Pmed maior que retransmissões. Isto se deve execução do serviço. o de perdas em parte físicas Pf, mesmo utilizando-se de ao grande número de quadros que circulam para a 75 Ao contrário das demais disposições, observa-se uma baixa eficiência do mecanismo de retransmissão na disposição disposição APC (fig. 4.24), ACP (fig. 4.23). Sua maior eficiência é observada na que é a menos afetada pelas perdas físicas comportamento deve-se aos trajetos a serem realizados pelas diversas do meio. Esse PDUS do protocolo. Um estudo mais profundo sobre 0 desempenho do FIP (e de outras propostas ao padrão Field-Bus), também utilizando o Sistema ARP, pode M p O módulo de avaliação de desempenho do ARP mostra-se útil no levantamento de R curvas de desempenho, que podem complexidade do sistema modelado. É ser de difícil obtenção analítica, conforme a ' ' - i . importante a correta fixação dos estados ou eventos que irão delimitar a avaliação (origem e destinos), que devem identificar completamente o comportamento estudo. Para a determinação de tais estados ou eventos pode serautilizada .a em análise via " grafo de acessibilidade ou a simulação. Uso do Ambiente ARP na Análise Estrutural de Redes de Petri: Aplicação à Otimização de Sistemas de Manufatura Flexível Este exemplo visa demonstrar a capacidade do Ambiente estrutural de Redes de Para Petri. sistema flexível de manufatura A sistema, será em ' [Aguiar 89]. 4.3. encontrado ser tal ARP para a análise será estudado o problema de otimização de um com seqüências de fabricação pré-determinadas. otimização consistirá na maximização davelocidade de processamentodo com minimização do estoque sob processo. A análise estrutural de Redes de_Petri empregada na validação do modelo obtido para o sistema e-na determinação dos ciclos de funcionamento do mesmo, informação necessária ao método de otimização proposto. V ` _ 76 4.3.1. Descrição da Aplicação Um sistema de manufatura flexível medem que processam, transportam e CNC, ' esteiras, etc. Em geral, (FMS) consiste peças de diferentes de um tipos, conjunto de máquinas como ' _ em um FMS as peças são processadas seguindo em determinada. Cada peça tem etapas de processamento receber distintas peças para processar. uma objetivo deste um FMS "gargalo" (aquela que podem Um FMS é dito de alimentaçao periódica (SMAP) exemplo é otimizar o comportamento distribuindo pallets seqüência pré- várias máquinas, quando uma seqüência fixa de peças 0 alimenta, ciclicamente [Cury 901. O robôs, máquinas no mesmo, ,forçando a plena ' . em regime permanente utilização de de uma máquina que limita a velocidade de produção, por ser mais lenta ou mais O método de otimização aqui descrito é apresentadoicom detalhes em [I-Iillion atarefada). i 891. Satisfazendo-se essa condição obtém-se a máxima taxa de produtividade do sistema. Deve-se considerar ainda a redução do número de pallets envolvidos no processo, minimizando o estoque 4.3.2. em processamento. Modelagem de um O SMAP sistema a ser estudado (extraído de [Cury 90]) é formado por 2 máquinas (m1,m2) que processam 3 tipos de peças fabricação (seqüência de máquinas a utilizar, definem -' ` uma tarefa: (p1,p2',p3). com Cada peça respectivos e seu processo de tempos de processamento) l ` ' ' _ ` _ P11(m1/3›fHz/5) Pz¡(H1z/Õ›m1/4) P32(f_111/7›m2/3) 77 A seqüência de entrada de peças no sistema é (p1,p2,p3) e a ordem de seu processamento pelas máquinas é ml: (p1,p2,p3) e~ m2: (p1,p2,p3). _ deuma peça pelo circuito dado -na fig. 4.27. O processamento de uma peça, o respectivo pallet é Modela-se o processo de fabricação modelo considera que, ao término do imediatamente liberado para o processamento de outra peça. O ›I E oi: *I pa transições indica a entradade O de fabricação de Fig. 4.27: Processo As n¡ *I pb na uma peça mi indicam o processamento da peça pela máquina i; a transição E uma nova peça no sistema; os lugares pa, pb e pc indicam a situação da peça no sistema: ` ` pa: peça antes de ser processada. pb: peça após primeiro processamento. pc: pallet pronto para novo processamento (peça pronta). Para simplificar a representação, cada transição mi do modelo acima abstrai estmtura como a definida na vez fig. 4.28, em cada máquina, com duraçao T: que representa o processamento de ç uma uma peça por _.Q_. -› OCUPhDâ --+|-+ -› ~ =› [T] (DI m.a1 u.n_ HLIURE Fig. 4.28: . Representação interna de uma máquina Interligando os processos referentes às peças através dos circuitos das máquinas obtém-se o modelo do sistema acima descrito, na fig. 4.29: © rx ua: I n n I u vv 1 -¬ i 1 | n 1| __: Í | zr o* 'U sit/ ® n... __., ml *I ___: 51 O N o mo d elo da máquina mi. As f' lg. ` 42 9, uma transiçoes . E Í I 1›3a Fig. 4.29: ›I4I 3 | J __: o"*” I P- |\_ I Ô Í ® L- .... ‹ O ,--I `: n . .I *I n zPz fêl _ 7:-L:Êšãi> Í *_ ,ãm FÉ vu I, 'O K 31 .' _ I' MI ® nza H b L.. É 51 1 I I :Pa E3 I/ 'I ›' na _ I __ ¡.._____¬ 0 nar,/fiäl - 11,11 P Zcr ll ...J SBO' m Ú n¡a A ¡.__.-.._-__` [B] O .--\ 3 E ›- ärp, P,a ¡__ VI 'U '_ . 3/ N/ I _-| í ._ O ~ ~ _' P3b \"~ ._ '> 'V n¡p3 c›_ :-1 u_u I 11 ._ c|un ¡_- Modelo global do sistema " translçao m-p- indica a peça p- sendo processada pela 11 J indicam o l ançamento periódico e seqüenciado de peças Os 79 traços contínuos representam os processos de produção de cada peça, e os pontílhados o seqüenciamento de comando das máquinas ou de alimentação de peças. Os lugares mia, mib, mic e si indicam ofseqüenciamento de operação das máquinas e de alimentação de peças. 4.3.3. Análise › ' do Modelo Obtido A análise do modelo visa inicialmente provar suas propriedades básicas a partir da V análise estrutural, pois a marcação inicial do portanto indefinida. O mesmo é o objeto da otimização, estando ' . _ processo de otimização proposto a seguir está calcado sobre o estudo-das máquinas de estados elementares que compõe a estrutura da rede. Cálculo dos Invariantes a. Através do módulo de análise estrutural do sistema possui somente um invariante ARP, verifica-se de transiçao, contendo todas' as transiçoes da rede (portanto a rede é potencialmente viva), e que esse-invariante é Sao obtidos também 30 invariantes de Todos os lugares da rede pertencem a que o modelo do um grafo de eventos. lugar, todos eles 'sendo máquinas de estados. algum invariante, indicando a limitação da rede. ' A lista dos invariantes de lugar obtidos é dada a seguir, classificados de acordo com _ sua interpretação física:  Invariantes de comando das máquinas: 1: {m2a, mzb, m2c} 2: {m1a, m'1b, m1c} Invaríantes das peças: 31 {p1a,p1b,p1¢} 4= {pza, pzb, Pz¢} 5= {p3a, pgb, p3¢} Invariante de alimentação de peças: ' 62 {S_1, S2, S3} Invariantes mistos (combinaçqes dos anteriores) 7: {mla, mlc, lmzb, plb, p2b} 8: {mla, mlb, m2c, 9: {mla, mlb, p2c, p3a, 10: . 121 s3}l mzb, m2c, plb, p3a, p3c} {m1a, mzb, p1b, pzb, Pzc, 1238, S3} 13: 'hnlaa 14: pzc, p3a, p3c} {mla, mlc, plb, plc, pza, p2b, s2} 11: {rnla, - p2a', ‹ mzca {mla, plb, plc, p3a, 15: {rnlb, p3a› p3c› S2} plc: sz, s3} mlc, pla, p3b, p3c, sl} 16: {mlb, mlc, m2a,:pla,_plc, p3b} 17: {mlb, m2a, mzc, pla, plc, pza, p2c} 18: {mlb, mza, pla, plc, pzc, p3a, p3b, s3} 19: {mlb,_m2c, pla, p2a, pzc, p3c, sl} pla: p2c› . S]_› ~ S3} 212 {II11C, I1'12fl, I1`12b, 22: {mlc, mza, plc, p2a, pzb, p3b, s2} 23: {1rilc, rn2b, pla, plb, pzb, p3b, p3c, sl} 24: {mlc, pza, pzb, p3b, p3c, sl, s2} 25: 26: {m2a, mzb, pzb, pzc, p3a, p3b, s3} mzca p1c› pzaø S2} _ 81 27: {m2a, plc, p3a, p3b, sz, s3} 232 {IT12b, 11129 P121, P1b, P3C› S1}` 292 {ITl2b, pla, pzb, p2C, S1, S3} 30: {m2c, pza, p3c, sl, s2} b. Otimização do Sistema O processo de otimização empregado neste exemplo é proposto em [Hillion 891, e baseia-se no estudo das durações (tempos de ciclo) associadas aos circuitos (máquinas de estados) da rede que modela o e das durações das transições que o compõe. O circuito marcação do sistema. Essas durações são função da com o máximo-tempo de ' ciclo é denominado "circuito crítico", e em corresponder ao da máquina gargalo, para a máxima taxa de produtividade permanente. tal tal ciclo inferiores ao da ~ é construído circuitos obtidos, um programa linear cujas restrições são formadas a partir dos e cuja função a minimizar é o número método ao exemplo total de peças em processamento. em estudo é obtida a seguinte marcação: M: {m1a, m2c,p1c, O número de peças em processamento ciclo regime V máquina gargalo. Aplicando-se deve O processo de otimização consiste portanto em distribuir fichas nos circuitos da rede (na mínima quantidade possível) para tomar seus tempos de Para circuito p2b,.p3b, s1} O tempo de de ambas -as é o mínimo: 3 (plc, pzb, p3b). do sistema também corresponde ao mínimo (14, tempo de ciclo máquinas), e pode ser constatado no grafo de estados acessíveis obtido pelo essa marcação inicial: " . ARP, para 82 Ex [31 nipl “EPE “ipi ' 3 nãpã Hxpš [3_l äipzml ' ¿ eai-*B _ iH¡pE [41 « Ei i Fig. 4.30: adotar ' “ ` É interessante c "° [61 5 Grafo de estados do sistema como marcação inicial do sistema não a inicialmente obtida, mas uma de suas sucessoras, por não apresentarem o transitório de inicio de operação. 4.3.4. Conclusões ARP na determinação de circuitos de um Sistema Flexível de Manufatura, como parte de um processo de otimização Apresenta-'se neste exemplo a utilização do do funcionamento do mesmo. acessibilidade, início Também Ambiente é importante ressaltar a construção do grafo de na validação da marcaçãoinicíal obtida e na minimização do de operação do sistema. Embora este exemplo de _ esteja voltado a ressaltar a importância da__análise estutural bem como transitório um como assunto bastante específico, deve-se auxílio à validação de Redes de Petri, como ciclos para o estudo de características específicas de seu comportamento, de funcionamento e componentes conservativas. 83 4.4. Conclusão Este capítulo buscou demonstrar a aplicabilidade das ferramentas do Sistema ARP ao estudo de problemas de real interesse, nas áreas de Automação Industrial e Sistemas Informáticos Distribuídos. O desenvolvimento ~ ~ de cada exemplo buscou delinear de problemas usando Redes de Petri, uma desde a modelagem do objeto de estudo até a interpretação dos resultados obtidos pelas diversas ferramentas do Deve-se observar que a utilização do ambiente citadas, visto que _os modelos metodologia de estudo ARP. ARP não se restringe às áreas acima em estudo são tratados de forma genérica. p A integração existente entre as ferramentas do ambiente ARP permite a utilização conjunta de várias ferramentas efetuado em um mesmo em todos os exemplos estudados. problema, de um modo simples. Isto foi 84 Conclusão e Perspectivas 5. Neste trabalho procurou-se conceber e implementar um ambiente orientado para a modelagem, análise do comportamento e do desempenho e simulação de sistemas ' _ modelados por Redes de Petri ordinária, com Temporização .¬ e com Temporização Extendida. Inicialmente o modelo Rede de Petri foi ,formalmente descrito, bem como aquelas extensões a serem utilizadas no ambiente. Discutiu-se a metodologia de concepção de sistemas utilizando Redes de Petri. ' Apresentou-se o Ambiente ARP, destacando para cada ferramenta implementada seus objetivos, implementações e resultados. Além disso, buscou-se através de exemplos demonstrar a potencialidade e praticidade de uso de cada ferramenta. Como principais perspectivas a curto e médio prazo para o presente visando sanar deficiências ou aumentar o poder e flexibilidade do sistema, indicadas as seguintes: - Utilização de i - podem ser ' ` . uma linguagem de descrição conceito de modularidade na trabalho, de Redes de Petri que permita explorar 0 modelagem de sistemas, abordado no cap. 2. Tal . linguagem tem - Introdução das relações GJ-k entre transições enumeração de - características similares à descrita classes de estados tj em [Cantú 90). e tk sensibilizadas em paralelo, na classes de de Redes de Petri com Temporização. Introdução, no módulo de verificação, equivalência (forte e observacional). dadeterminação de novas ' 85 ARP como parte de um ambiente Utilização do mais complexo, como o descrito em em Redes de [Farines 891, .que permita tratar problemas mais complexos, descritos Petri de alto nível extração de (RdP a Objeto). Redesde Petri ordinárias A técnica de projeção [Çantú 90] permite a da RdP a Objeto em estudo, que podem então ser analisadas no ARP. Outrossim, alguns módulos do ARP modelo como o de verificação de podem ser empregadas sem inicial, modificações equivalência, e são independentes do em outros ambientes. Migração do sistema' para um análise de sistemas complexos. equipamento mais poderoso, que permitirá agilizar a ' 86 Anexol: Linguagem de Descrição de Redes de Petri A linguagem de descrição usada no ARP possui umasintaxe semelhante à do Pascal, permitindo a identificação de lugares e transições por caracteres aceitos são: nomes' quaisquer. Os ` V z$c.za..z0..9_:'.›+-#@^% A estrutura de uma descrição de rede é a seguinte: REDE nome__da_rede ; _ declaração de constantes ' declaração dos nodos (lugares e transições) declaraçao da estrutura (arcos) FIM. Podem ser definidas constantes da seguinte forma: CONST ' Num_Vagas = 7; - Num_Envios = 10 ; = 45 ; Time_Out A declaração NODOS é dividida em duas partes: a declaração de transições e a de lugares (maximo de 150 nodos de cada tipo). A declaração de lugares faz-se da seguinte forma (0 valor entre parênteses indica a marcação Oe máximo 254): ` ~ inicial dos lugares declarados, c/ default 87 Robot_Parado,Torno_Operando : _ Robot_Ligado,Torno_em_Espera ; ' : Pecas_Esperando - LUGAR LUGAR (1) LUGAR (Num_Vagas) : ; ; A declaração de transições é de forma similar. No caso de redes com temporização segundo o modelo de Merlin, podem ser definidos o "Static Latest Fire Time" (SLFT), com default "Static Earliest Fire Time" (SEFT) e o em [0,0]. Também pode ser definida a curva de densidade de probabilidade associada a esse_interva1o, por default uniformez” :TRANSICAO; Robot_Solta_Peca V Inicia_Usinagem : _ chegada_P¢¢a ~ z Robot_Pega_Peca Nos definidas. - TRANSICAO [5,Ti'me_Out] com média no ; ser constantes préë mó_'dulo_' de avaliação de - _ - _ centro do intervalo e forma definida pela razão k entre o valor -da curva no centro e nos extremos do intervalo (1 - podendo ~ Uniforme, por default. Normal, ; TRANSICAO [2,8] NORMAL (5) Ascurvas de densidade de probabilidade (usadas pelo aceitas sao: ; TRANSICAO [0,51¡'E>nëoN (10) intervalos são aceitos inteiros entre 0 e 32000, desempenho) - : M; 5 k 5 10000). Exponencial, com. forma definida pela razão k entre o valor da curva no início e no final do intervalo (0.0001 5 k 5 10000). ` ' - Observa-se que adefinição das curvas não depende de valores absolutos mas apenas da razão entre os valores máximo e mínimo. Através da declaração ESTRUTURA são aos lugares e vice-versa. Sua forma geral ' - descritos os arcos q°ue “ligam as transições é:- ' ) 88 Transição: (lugares de entrada) , de saida) (lugares Essa estrutura deve ser repetida para cada transição da rede. são separados por vírgulas. ; Os nomes dos lugares No caso de arco com peso não unitário temos: Transicao: * ,peso Lugar, ) , ( ) ; onde o peso pode ser um valor numérico ou uma constante pré-definida, entre 0 e 254. O exemplo a seguir (fig.A1.1) ilustra a linguagem. A rede modela um sistema com- posto de um torno e um robô que 0 alimenta, carregando e descarregando peças de um armazém: Rraazen z I' .......... Y ‹. Tome r livre , . O . Pega peca nova `` ``' . Carregando Carrega tomo il [5,15l Bescarr*-Eça o " Wo 1 ao [1,i§§l 7 torno 1 1 1-i--i--Â-É' id Solta Ps-ca mfltfi¡ n... Usinzmclo [5,l5l Bêscarrêâaaàs [3,5l A ` ' +: kbo Fig. A descrição da rede da fig A1.1 livre All: Rede de Petri através da linguagem de descrição de redes acima apresentada, é indicada na listagem a seguir: 89 Rede Exemplo_da_Linguagem ; Const Pecas_Entrada = 2 ; armazem de pecas } { peças na entrada da máquina } Nodos { Armazem { : nodos do robo que alimenta o torno Lugar (Pecas_Entrada) ; } Robo_Livre : Lugar (1) ; Robo_Carregando, Robo_Descarregando : Pega_Peca_Nova _: Solta_Peca_Pronta : Lugar; Transicao [1,10] Transicao [3,5] Transicao [5,15]- ; ; Carrega_Torno, Descarrega__Torno { nodos do torno : : Torno__Livre { controle do robo ' : } Lugar V; ; Lugar (1) ; * Pega_Peca_Nova (Armazem,Robo_Livre), (Robo_Carregando) Carrega_Torno (Robo_Carregando,Torno__Livre), (Usinando,Robo_Livre) Descarrega_Torr_1o (Usinando,Robo__Livre), (Robo_Descarregando,Torno_Livre) Solta_Peca_Pronta Fim. (5) } Usinando Estrutura Normal ; ; (Robo__Descarregando), (Armazem,Robo_Livre)'; 90 Bibliografia ,_ [Agerwala 79] T. Agerwala: "Putting Petri Nets to Work". Computer, dec. 1979 pags 85-94. IEEE, Inc. ' p [Aguiar 89] M.C. Aguiar: "Análise Comparativa de Desempenho da Dados do ProfiBus do FIP, Propostas Candidatas ao Padrão FieldBus". e EEL-UFSC, Dissertação de Mestrado, [Aho Aho, 73] A. Hopcroft, J. Camada Enlace de J. 1989. Ullman: "The Design and Analysis of Computer Algorithms". Addison-Wesley, 1973. [Aho 86] A. Aho, R. Sethi, J. Ullman: "Compilers: Principles, Techniques and Tools". Addison-Wesley, 1986. [Ayache 85] J.M. Ayache, _ J.P. Courtiat, M.Diaz, G.Juanole: '~'Utilisation Petri pour la modélisation et la Validation des Protocoles". Informatiques, vol. 4, n° [Azema P. ] Azema, Validation and 1, 1985. J.C. Lloret, PROLOG de Réseaux, de Technique et Science ' ' G. Papapanagiotakis, F. Vernadat: "ESTELLE Interpreted Petri Ne_ts". The Formal Description Technique Estelle, Results of the ESPRIT/ SEDOS Project. North-Holland, 1989. [Azema 85] P. Azema, F. Vernadat: "Requirement Analysis for Communication Protocols". [Berthelot 82] G. Berthelot, R. Terrat: "Petri Nets Theory for the Correctness of Protocols". IEEE Transactions on Communications, vol. Com-30, n° 12, December 1982. [Berthomieu 79] B. Berthomieu: "Analyse Structurelle des Réseaux de Petri: Méthodes 0utils". [Billington V] _ Thèse de Doctorat. Université Paul Sabatier de Toulouse, France, 1979. J. [Billington 88] et Billington: "Protocol J. Billington, Petri Net Tool Protocols". for Engineering and Nets". G.R. Wheeler, M.C. Wilbur-Ham: "Protean: A High-Level the Specification and Verificáation on Communications IEEE Transactions of Software Engineering, march 1988, vol.14, n.3. 91 [Bolognesi 87a] T. Bolognesi, E. Brinksma: "Introduction to the Language LOTOS". Computer Network and ISDN Systems ISO Specilication North-Holland, 14, ~ 1987. 1 [Bolognesí 87b] T. Bolognesi, S.A. Smolka: "Fundam_ental Results for the Verification of Observational Equivalence: a Survey", VII Conference on Protocol Specification, Testing and Verification, pgs. 165- 179, may 1987. ~ [Bougé 88] L. Bougé: "Sémantique du Parallélisme: un Tour u n° 88-6, École Normale Supérieure, [Brauer 86] - Théorie : 1986. 89] J.M. - Lectures Notes in "Uma Abordagem para a Representação, Simulação e Implementação Objetos'_'. Dissertação de Mestrado DEEL- 1990. Colom, M. Silva: "Convex Geometry and «Semi-Flows in P/T Nets. A Comparative Study of Algorithms for Computation of Minimal P-Semi-Flows". 10th International Conference on Application and Theory of Germany, june 1989. Petri Nets, Bonn - ' [Courtiat 84] J .P. Courtiat, J .M. Ayache, B. Algayresz "Petri Nets are Computer Communications Review, * Ed. _~ de Sistemas Baseada na Rede de Petri a UFSC, março 2)". Reisig, G. Rozenberg: "Advances in Petri Nets 1986, Part I e II Proceedings of an Advanced Course", Ed. Springer-Verlag [Cantú 90] E. Cantú: V Pratique (tomes 1 et . Computer Science, No.255, Sept [Colom et 1983, France. W. Brauer, W. LIENS Paris, France, juil. 1988. [Brams 83] G.W. Brams: "Réseaux de Petri Masson rapport d'I-Iorizon", 14, Good for Protocols". ng 2, 1984. [Courtiat 87] J .P. Courtiat: "Contribution à la Description Formèlle de Protocoles". Thèse A de Doctorat d”État, Université Paul Sabatier de Toulouse, France, 1987. [Courvoisier 80] M. Courvoisier, R. Valette: "Systèmes de Description, Analyse et Realisation". Editions SCM, Commande en Temps Réel. 1980. Paris, France. 92 em [Cury 90] J.E. Cury: "Lançamento e Escalonamento de Tarefas Sistemas de Manufatura com Alimentação Periódica". Submetido ao 8° Congresso da Sociedade Brasileira de Automática, [Diaz ] Belém-PA, 1990. ç M. Diaz: "Aplying Petri Net Based Models [Diaz 82] in the Design of Systems". M. Diaz: "Modeling and Analysis of Communication and Cooperation Protocols Using Petri Nets Based Models", Proceedings of IFIP Protocol Specification, Testing and Verification, ÁDiaz 86] M. Diaz: "Petri may Ed. Springer-Verlag, [Dufau 84] V J. Petri". _" Net Based Models in the Specification and Verification of Protocols", Lecture Notes in ' 1982. Computer Science 254: Advance in Petri Nets, Part sept. 1986. I, ' Dufau: "Un Outil pour la Verification des Protocoles Décrits par Réseaux de Thèse de Doctorat, Université Paul Sabatier de Toulouse, France, 1984. [Esteban 85] P. Esteban:"Sur la Recherche d'Algorithmes Simplifiés d'Analyse des Réseaux ' de Petri". Thèse de Doctorat. LAAS Toulouse, France, 1985,. _ g [Esteban 86] P. Esteban, R. Valette, M.,Courvoisier: "Simplified Algorithms for Petri Nets Analysis", Proceedings of IECON'86. y [Farines 89] J .M. Farines, E. Cantú, H. Garnousset, C.A. Maziero: "ARP: para o Desenvolvimento de Software Franco-Brasileiro [FIP 87] "FIP - Aplicações Distribuídas". Seminário em Sistemas Informáticos Distribuídos, a Standard Proposal for FieldBús". Club FIP 1987. [Freedman em 88] P. « uma Ferramenta Fpolis-SC, 1989. ENSEM/Nancy, France, n' d A . Freedman, A. Malowany: "The Analysis and Optimization of Repetition within Robot Workcell Sequencing Problems". 1988 IEEE International Conference on Robotics and Automatíon,'Philadelphia Pennsylvania - USA. -. 93 [Freedman Freedman, A. Malowany: 89] P. Events". Research Intelligent "Petri Nets and the Modelling of Repetitive Report TR-CIM-88-5, march McGill Research Centre 88, for Machines, McGill University, Montréal, Québec, Canada. [Hillion 89] H.P. Hillion, J_.M. Proth: "Performance Evaluation of Job-Shop Systems Using Timed Event-Graphs". IEEE Transactions on Automatic Control, vol AC-34, no 1989. . [Hopcroft 79] ' J. Hopcroft, J. Ullman: "Introduction to Automata Theory, Languages and Computation". Addison-Wesley, 1979. [Huber 89] 1, P. _ Huber, K. Jensen, R. Shapiro: "Hierarchies in Coloured Petri_Nets". 10th International Conference Germany, june on Application and Theory of Bonn Petri Nets, - 1989. [ISO 9074] "Estelle, a Formal Description Technique Based on an Extended State Transition Model", ISO-DIS 9074, jun. 1987. [ISO 8807] "LOTOS - a Formal Description Technique Based on the Temporal Ordering of Observational Behaviour", ISO-DIS 8807, jul. 1987. [ISO 9506] ISO/DIS Draft International Standard 9506-2, 11/88, Manufacturing Message Specification [J ard ] (MMS). C. J ard: "Introduction a la Verification des Algorithmes Distribués". [Jensen 85] K. Jensen: "An Introduction to High Level Petri Nets". Computer Science Department, Aarhus University, Denmark, DAIMI 1985. [Jensen 86] K. Jensen: "Computer Tools for Construction, Modification ` Petri Nets". and Analysis of GMD Advanced Course on Petri Nets, Bad Honnef, sept. 1986. [Juanole 89] G. Juanole, J.L. Roux: "On the Pertinence of the Extended Model PB-197, for Analyzing [Lloret 88] J .C. Lloret, P. Time Petri Net Communication Activities". 1989 Azema and F. Vernadat: "Réseaux PrT Labellés: Structuration H Composition", rapport no 88350 LAAS/CNRS, Toulouse, France, nov. 1988. et 94 [Menasche 82] M. Menasche: "Analyse des Réseaux de Petri Temporisés et Aplication aux Systèmes Distribués". Thèse de Doctorat. Université Paul Sabatier de Toulouse, France, 1982. b A [Menasche'83] M. Menasche, B. Berthomieu: "Time Petri Nets for Analyzing and Verifying Time Dependent Communication Protocols". Protocol Specification, Testing Verification IFIP, North-Holland, 1983. ç and V [Menasche 85] M. Menasche: "Parede: an Automated.Tool for the Analysis of Time(d) Petri Nets". 1985 ` 1 [Merlin 76] P.M. Merlin, D.J. Farber: "Recoverability of Communications Protocols". IEEE Trans. on Communications, sept. 1976. [Novali 86] J. Novali: "Modeles d'Observation pour les Architectures Multicouches de Protocoles de Communication". Thèse de Doctorat, Institut National des Sciences Apliquées de Toulouse, France, 1986. _ [Peterson 81] J.L. Peterson: "Petri Net Theory and Hall Editions, 1981. [Pinho 88] A.N. Pinho: (MMS) tlie Modelling of Systems". Prentice` V "Um Estudo da I Especificação de Mensagem da Manufatura do Protocolo de Comunicação para Ambientes Industriais MAP". Dissertação de Mestrado, EEL-UFSC, 1988. V [Pradin 79] B. Chezalviel-Pradin: "Un Outil Graphique Interactif pour la Validation des Systèmes à Evolution Parallèle Décrits par Réseaux de Petri (Ogive)". Thèse de Doctorat, Université Paul Sabatier, Toulouse, France, 1979. [Roux 85] ' J.L. Roux: "Modelisation Petri Temporels". et Analyse des Systémes Distribués par Thèse de Doctorat. Toulouse, France, 1985. les Institut National des Sciences ~ . Réseaux de Apliquées de 95 [Roux 87] J.L. Roux, G. Juanole: "Functional and Performance Analysis Using Extended Petri Nets", International Workshop on Petri Nets and Performance Models, aug 1987. ~ [Schreiber 74] T.R. Schreiber: "Simulation using GPSS", Ed. Wiley, 1974. [Sibertin 85] C.Sibertin-Blanc: "High-'level Petri Nets with _ Data Structures", õth European Workshop on Applications and Theory of Petri Nets, Helsinki, Finland, jun. [Souissi 89] Y. Souissi, G. Memmi: "Composition of Nets via a Communication Mediüm". 10th International Conference on Application and Theory of Petri Nets, Germany, june 1989. - III in Petri Nets, Part [Vissers 88] C.A. Vissers: V [Wang "FDTs Computer Science Ed. Springer-Verlag, pgs. 191-217, sept. II, for Distributed Systems". Wang, K Gildea, A. Rubenstein: MMS". [Wang 89b] F. 1.986. Research into Networks and Distributed Applications, North-Holland, 1988. 89a] F. 1 _ [Valette 86] R. Valette: "Nets in Production Systems", Lecture Notes in Advance - Escola Brasileiro-Argentina de Informática, Curitiba-PR, 1988. .255: Bonn ` [Tazza 88] M. Tazza: "Análise Quantitativa de Sistemas". * 1985. _ "A Note on" the Confirmed Services in . Wang, K. Gildea, A. Rubenstein: "A Coloured Connection Management Services in r MMS". Petri Net Model for