Programação

  • Introdução (Aula 1)

    fábrica da Rima ImpressorasRdP da circulação de AGVs na fábrica da RIMA

    A figura mostra a antiga fábrica de impressoras RIMA cujo fluxo de material transportado por AGVs foi projetado e analisado pela Escola Politécnica em 1990. 


    Desde a sua criação em 1962 as redes de Petri só fizeram ampliar o seu escopo de aplicação. Parelelamente, o formalismo também foi ampliado e aperfeiçoado, e várias extensões surgiram para atender a domínios de aplicação localizados (embora muito importantes). Assim, a chegada do século XXI marca um período de grande profusão e até alguma confusão, sobre o formalismo base das redes de Petri, o que é também um requisito para a difusão das Redes de Petri, especialmente no meio industrial, que precisa de uma certa unidade para investir em produtos (CLPs, SDCDs, por exemplo) que possam fazer uso deste formalismo.
    Um comitê de pesquisadores passou a discutir a padronização formalismo base, culminando com a proposição de uma norma, premido pela grande difusão das RdP inclusive para a área de software, análise de requisitos, planejamento automático, verificação formal, model checking, etc., além do seu uso normal como esquema para a modelagem de sistemas discretos e simulação destes sistemas.

    Nesta primeira aula veremos uma breve introdução, ainda intuitiva, sobre as redes de Petri, e especialmente sobre os conceitos da modelagem de sistemas discretos.Também serão abordados brevemente os paradigmas de modelagem e análise, sempre priorizando os sistemas dinâmicos discretos segundo o paradigma de modelagem estado/transição.
  • Modelando processos simples

    Nesta semana tratamos de forma mais concreta do processo de modelagem de sistemas discretos, primeiro de uma forma mais intuitiva. Para isso tomaremos o problema dos trens que ligam Lucerne, Engelsbert e Stans (a foto acima é da estação de Stans), que, embora seja de fato um problema real, é pequeno o suficiente para o nosso propósito nesta parte do curso.

    Vimos portanto os princípios de modelagem e como usá-los concretamente de modo a modelar um sistema de controle para o problema dos trens que ligam as estações de Ski da Suiça de modo a garantir a segurança do processo e a impossibilidade de acidentes graves, como o choque das composições no trecho unificado.

    Associado à resolução deste problema temos a nossa primeira lista de exercícios.

  • Modelando sistemas produtivos

    Nesta semana faremos uma breve revisãodo que já vimos até aqui, especialmente na definição de propriedades e atributos das Redes Elementares, enfatizando o tipo de modelagem que se pode fazer com estas redes. Veremos que se trata de uma modelagem abstrata, com ações simples, e explorando muito pouco dos aspectos distribuídos dos sistemas.

    Veremos em seguido os desafios para modelar sistemas produtivos, especialmente os sistemas de manufatura, e ainda de forma mais destacada os sistemas de manufatura flexível. Neste caso a concorrência entre linhas por uma mesma máquina, que por sua vez pode desempenhar várias funções, acrescenta uma considerável complexidade ao processo de modelagem. Por outro lado aparece aí a necessidade de modelar não somente o controle ou o fluxo de controle mas também o fluxo de ítens no processo, ainda na hipótese da indistinguibilidade das marcas.

    Assim, introduziremos as redes lugar/transição, ou Place/Transition, como a rede mais abstrata entre as redes clássicas, de onde todas as demais podem ser derivadas impondo restrições de segurança e capacidade dos lugares. A introdução estas redes será feita por um exemplo reaístico, para depois introduzir o formalismo.

    Para a próxima aula se recomenda colocar a modelagem     

    do processo de fabricação no PIPE2 e formalizar a

    proposta do artigo cujos ítens estão ao lado.

    Os itens para submissão do artifo final são:
    Título
    Abstract (em inglês)
    Relação de palavras-chave
    Introdução explicando e motivando o tema
    Bibliografia preliminar
  • Redes Place/Transition

    Nesta aula vamos abordar de forma mais direta as redes Place/Transition, mostrando que para modelar sistemas onde seja necessário ter em conta o workflow, isto é, o fluxo de itens e de controle, é necessário mais do que pode prover as redes Elementares. Estendemos portanto o conceito inicial para uma rede mais abrangente, que pode ter as redes elementares como caso especial, onde se reduz o peso dos arcos a no máximo 1, assim como a capacidade dos lugares. Este é o entendimento da norma de redes de Petri ISO/IEC 15.909.

    Os problemas para simulação da rede foram inteiramente resolvidos com um teorema associado à construção das redes completas que discutimos na aula passada. A justificativa formal para relaxar a condição de disparo estrita e ter um jogador de marcas baseado na equação de estado, ficou também estabelecido. Também se analisa o comportamento das redes P/T com a condição de disparo estrita e não-estrita com a capacidade dos lugares liberada para crescer de forma irrestrita. Isso nos habilita a detectar o crescimento monotonico da marcação e portanto alguma falha no controle/automação do sistema sendo analisado, embora não nos seja realmente possivel modelar um sistema com marcação infinita (mesmo que cresça de forma discreta).

    Finalmente se discute as possibilidades e os recursos de modelagem que temos até este momento e que serão usados na resolução dos exercícios da lista 2.

  • Redes de Alto Nível

    Nesta aula vamos introduzir a discussão sobre as redes não-clássicas, especificamente as redes de alto nível. Começaremos pela discussão do problema de simetria e do dobramento das redes, para logo depois introduzir as redes Predicado-Transição. Estas têm uma grande importância (histórica) no estudo das redes de Petri, por guardar consigo a idéia bastante atraente de utilizar os invariantes (facts) no próprio processo de modelagem ao invés de ser uma propriedade a ser analisada depois de ter um modelo pronto.

    Apesar das dificuldades formais esta idéia é ainda atraente e pode ser levada adiante em outras classes de rede. Outra coisa imprtante é a própria exploração da simetria criand um novo sistema híbrido, composto por uma rede mais reduzida e um conjunto de inscrições e sorts, agora inseparáveis da rede em si.

    Portanto uma questão importante pode ser levantada, qual seja: quando devemos optar pela modelagem usando redes clássicas e quando devemos optar por uma rede de alto nível. Esta questão aparecerá como um exercício da lista no. 3 distribuida na semana que vem.  

    Procurem atualizar até esta próxima sexta-feira a lista de exercícios 2 e o milestone do artigo. Depois disso o link será fechado pontualmente à meianoite da sext-feira 13. Portanto dá azar não entregar os exercícios e o milestone!

  • Redes Coloridas

    Um caso especial das redes de alto nível são as redes coloridas. Estas redes surgiram nos anos 80 justamente com a proposta de estender o escopo de aplicação das redes de Petri para o design de sistemas, e portanto associar a modelagem gráfica e algébrica à linguagem de especificação funcional Standard ML (Milner). Com isso se poderia ampliar o nivel de abstração das redes, explorar simetrias - sempre uma perspectiva tentadora no design de sitemas e no design em geral.

    No final dos anos 80 e inicio dos anos 90 surgiu o ambiente Design CPN proposto e mantido pelo grupo da Ahrus, Dinamarca, associado ao proponente das redes CPN, Kurt Jensen. Este ambiente evoluiu para o hoje ambiente integrado CPN Tools. (A foto acima mostra a modelagem no CPN Tools do problema de alocação de recursos em fábrica.)

    Mas o importante é entender que as redes coloridas são um caso especial das redes HLPN e portanto devidamente incorporadas no novo padrão das redes. O grande desafio é abdicar do apelo bem mais intuitivo das redes clássicas e aprender a modelar sistemas diretamente nas redes CPN, o que é o foco da nossa discussão esta semana.

    Como leitura da semana um artigo com uma introdução prática às redes CPN do Kurt Jensen.

  • Redes HLPN

    Nesta aula passaremos à discussão das redes de alto nível, incluindo agora a definição do padrão ISO/IEC 15.909-1 e o modelo semântico das redes de alto nível. Como sempre, o nosso objetivo é adquirir conhecimento e habilidade no manuseio das redes de Petri para aplicar na modelagem e design de sistemas em geral. Portanto uma questão fundamental é se o processo de projeto destes sistemas deve ser iniciado com uma rede P/T e depois gerar uma rede HLPN ou se, ao contrário existem casos onde a modelagem direto na redes HLPN é mais promissora.

    No final desta aula apresentaremos um exercício simples onde esta questão pode aparecer de forma bem menos trivial do que pode parecer em princípio. Trata-se da aplicação da modelagem em redes para problemas de planejamento de atividades, no caso a montagem de blocos utilizando um robô manipulador. Para evidenciar a inversão no processo de projeto este caso deve ser tomado como um exercício (a lista 4) e deve ser resolvido como listado na última nota de aula, juntamente com as perguntas adicionais.

    Fica também como exercício para a aula que vem o Milestone no.2 (repetimos o primeiro) onde o artigo final deve ser ampliado agora para acrescentar ao ítens já inseridos (Titulo, abstract, introdução), uma seção de background, onde se discute as teorias envolvidas no artigo (além das redes de Petri), se discute que tipo de rede será usado, e uma seção com a proposta de como as redes de Petri seriam inseridas no trabalho.

    Na leitura da semana temos o artigo que resume a última versão da norma ISO/IEC 15.909-1 antes de ser publicada em 2004.

  • Propriedades das Redes Clássicas e de Alto Nível

    Esta semana discutimos sobre as propriedades das redes clássicas e de alto nível sempre voltado para a possibilidade de obtenção de novos recursos para a modelagem e o design de sistemas automatizados discretos.

    As propriedades das redes clássicas se dividem em dois blocos: as propriedades comportamentais, que dependem da marcação inicial, e as propriedades estruturais, que dependem mais da estrutura relacional da rede. Em ambos os casos, sistemas reais podem ser mapeados com respeito a propriedades dita desejáveis e que se enquadrem em um destes blocos. Assim, uma das estratégias de análise dos modelos é justamente a análise destas propriedades. As redes de alto nível possuem propriedades semelhantes, mas a forma de calcular estas propriedades é distinta e em alguns casos mais interativa.

    Certamente, um dos problemas dignos de nota é a dependência que ainda temos (até este nível da exposição sobre redes de Petri) dos métodos voltados a atingibilidade ou ao grafo de cobertura. A rede de alto nível introduz algo semelhante, conhecido como O-Graph. Vamos avançar um pouco mais na discussão sobre propriedades na aula que vem, depois de tentar aplicar estes métodos a um problema de modelagem e design mais realístico.   Para a aula que vem portanto teremos que avançar significativamente nesta modelagem e no artigo final.

  • Modelagem Análise e verificação com Redes de Petri




    Nesta aula vamos entrar no detalhe sobre os processos de modelagem e análise (e verificação) de sistemas discretos usando Redes de Petri, usando tanto as redes P/T quanto as redes de alto nível (ou coloridas) com sues prós e contras. Veremos a diferença nestas duas opções de rede, dado que nem todas as propriedades têm equivalente - pelo menos não com a mesma interpretação - nas duas redes. Além disso a existência de algoritmos para o calculo automatizado das propriedades também não é garantido para redes clássicas de de alto nível (coloridas). Portanto a possibilidade de verificação formal nao é equivalente nos dois casos embora seja possível. 

    Outra possibilidade muito interessantes é o uso das redes de Petri no processo de design, especificamente na análise de requisitos. Especialmente no caso de sistemas dinâmicos - que é o caso de sistemas automatizados - é importante antecipar a formalização do design, e especificamente dos requisitos. Faremos uma discussão sobre este tópico, que de fato é assunto de pesquisa e um problema ainda em aberto, mesmo para abordagens clássicas de representação (semi-formal) de requisitos como a UML. Veremos alguns trabalhos da literatura tratando este problema. 

  • Tópico atual

    Perspectivas de modelagem em Redes de Petri


    Chegamos ao final da disciplina, mais atribulado que os anteriores, que transcorreram sem percalços e foram muito mais estruturados. Neste ano passei por alguns contratempos e problemas de saúde que perduraram até quase o final de outubro e não pude fazer as mudanças que pretendia.

    Entretanto vamos fazer um balanço final agora projetando a modelagem em redes de Petri para sistemas de grande porte, e além disso, para sistemas de sistemas. Nesse caso, além dos aspectos distribuídos e abstratos temos também que retomar a discussão sobre o uso da modelagem em redes de Petri para sistemas instrumentados de automação. A modernização destes sistemas pode no entanto nos colocar de volta no dilema da síntese de linguagens, como ladder e outras, ao tempo em que a norma ISO/IEC 61131 diversifica a especificação do controle discreto para diagramas alternativos. Veremos que em paralelo há também a tendência de usar interfaces interativas com HMI e dispensar a programação de baixo nível. Temos ainda a mistura destas duas tendências formando um leque de alternativas bastante diversificado. A saída pode ser focar no comportamento e na lógica de controle ao invés da programação dos controladores. 

    Veremos brevemente como fazer isso já que os detalhes estão fora do escopo da disciplina, mas o suficiente para vislumbrar as alternativas e a força do formalismo de redes de Petri, inclusive para a modelagem e design de sistemas de tempo real. 

     =======================================================================================================================


    Atenção para a re-edição dos prazos para a entrega da versão definitiva do artigo que fica agora para o dia 6 de dezembro e a versão final (depois de processada a revisão do artigo) para o dia 13 de dezembro. Não teremos mais nenhum adiamento.