Kursthemen

  • 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, propostas na tese de doutorado de Carl Adam Petri,  vêm ampliando o seu escopo de aplicação. O formalismo tem sido ampliado e aperfeiçoado, e várias extensões surgiram para atender a domínios de aplicação específicos. A chegada do século XXI foi marcada por um período de grande profusão e até alguma confusão, sobre o formalismo e uso das redes de Petri, o que contribuiu para sua difusão, especialmente no meio industrial, e também trouxe alguma dificuldade de aplicação prática. Isso porque as aplicações industriais demandam uma certa uniformidade para dar suporte a produtos (CLPs, SDCDs, por exemplo) e sistemas. Em 2000 foi formado um comitê de pesquisadores passou a discutir a padronização das Redes de Petri, culminando com a proposição de uma norma, que atendesse à sua grande difusão das RdP  - inclusive para a Engenharia de Software, análise de requisitos, planejamento automático, verificação formal, model checking, etc. - e que por outro atendesse à demanda prática do meio industrial. 

    O nosso curso será norteado nesta norma, a ISO/IEC 15.909-1, que define os modelos clássicos de Redes de Petri: as redes Place/Transition, as redes de Alto Nível (que tem como modelo mais difundido as redes coloridas). Trataremos brevemente do modelo de transferência, a ISO/IEC 15.909-2  que permite que modelos possam migrar entre plataformas e software usando uma descrição das RdP em XML, o PNML (Petri Nets Markup Language), e discutiremos brevemente algumas extensões - ISO/IEC 15.909-3 - como os gates inibidores, os lugares de conexão, e o modelo hierárquico. 

    Nesta primeira aula faremos uma breve introdução intuitiva às redes de Petri e discutiremos, sua aplicação na modelagem de sistemas discretos priorizando os sistemas dinâmicos discretos e o paradigma estado/transição.

  • Modelando processos simples

    Nesta semana tratamos de forma mais concreta do processo de modelagem de sistemas discretos de uma forma ainda 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.

    Na aula passada discutimos os princípios de modelagem, agora vamos ver 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ão do que já vimos até aqui, especialmente a definição de propriedades e atributos das Redes de Petri clássicas, enfatizando o tipo de modelagem que se pode fazer com estas redes. Veremos que se trata de uma modelagem abstrata, com ações simples, explorando os aspectos distribuídos dos sistemas. Portanto é preciso dar uma certa atenção à modelagem formal baseada em propriedades e á análise baseada na equação de estados. Com este desafio, voltaremos a discutir os aspectos formais e conceituais das redes de Petri, incluindo a definição dos sistemas completos e a eliminação dos problemas de contato da rede.

    Finalmente, vamos introduzir a modelar de sistemas produtivos, especialmente voltada para os sistemas flexíveis de manufatura. Neste caso, temos vários produtos em uma mesma linha de produção. O uso de uma mesma linha para fabricar produtos diferentes gera a concorrência de vários processos para usar uma mesma máquina (ou outro recurso). Geralmente trata-se de máquinas de comando numérico que podem desempenhar várias funções,  e isso acrescenta mais 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. Isso nos leva a introduzir as Redes Place/Transition com a possibilidade de ter múltiplas marcas nos lugares mantendo a hipótese da indistinguibilidade entre estas marcas.

    Encerraremos com a definição formal das redes Place/Transition (P/T), como a rede mais abstrata entre as redes clássicas, de onde todas as demais redes clássicas podem ser derivadas, impondo restrições de segurança e capacidade dos lugares. A introdução destas redes será feita com um exemplo realístico, ligado à manufatura flexível.


     

    Para a próxima aula:

    Definição do artigo final 

      Cada um deve definir um tema para o artigo final e depositar um documento (pdf) com título e abstract (em inglês). 
  • Redes Place/Transition

    Nesta aula vamos abordar de forma mais direta as redes Place/Transition, especialmente na modelagem de sistemas onde é necessário ter em conta o workflow, isto é, o fluxo de itens e de controle. Nesse caso é necessário mais do que pode prover as redes Elementares. Estenderemos portanto o conceito de Redes de Petri para uma formulação mais abrangente, que pode ter as redes elementares (e condição/evento) como caso especial. Esta formulação é a base da norma ISO/IEC 15.909, que unifica entre academia e aplicações, o uso das redes de Petri.

    Os problemas referência para observadores distintos podem ser resolvidos com um teorema das redes completas (S-completa) já mencionada na aula passada. Veremos também como relaxar a condição de disparo estrita e ter mais flexibilidade para explorar a  atingibilidade e o jogo de marcas. Introduziremos também a análise de propriedades da rede incluindo os invariantes de lugar e transição. Finalmente, discutiremos 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. Esses conceitos têm uma grande importância no estudo das redes de Petri, por estarem intimamente ligadas ao processo de modelagem de sistemas em geral. Mais tarde poderemos associar este conceito aos invariantes.

    A exploração da simetria cria um formalismo híbrido, usando propriedades mais abstratas, e resulta em uma rede reduzida no que se refere à representação gráfica, mas com o acréscimo de um conjunto de inscrições, agora inseparáveis da rede em si. Portanto trata-se de uma outra forma de representar formalmente os sistemas dinâmicos discretos, com o mesmo poder de expressão. Fica a pergunta: quando devemos optar pela modelagem usando redes clássicas e quando devemos optar por uma rede de alto nível ou rede colorida?. Voltaremos a esse tema na próxima aula!

  • 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, com a introdução de um formalismo capaz de absorver simetrias, associando a modelagem gráfica e algébrica à linguagem de especificação funcional Standard ML. Desse modo, é possível ampliar o nível de abstração das redes e explorar simetrias - uma perspectiva muito forte no design de sistemas e no design em geral.

    No final dos anos 80 e inicio dos anos 90 surgiram as redes coloridas e o ambiente Design CPN , proposto e mantido pelo grupo da Universidade de Aarhus, Dinamarca, associado ao seu criador, Prof. Kurt Jensen. Este ambiente evoluiu para o ambiente integrado CPN Tools, que usaremos nesta disciplina. (A foto acima mostra a modelagem no CPN Tools do problema de alocação de recursos em fábrica.)

    As redes coloridas são um caso especial das redes HLPN (High-Level Petri Nets) e estão devidamente integradas ao padrão ISO/IEC 15.909 que vimos na aula passada. O grande desafio é abdicar do apelo intuitivo das redes clássicas e aprender a modelar sistemas diretamente nas redes CPN, o que é o foco da nossa discussão esta semana.

    Discutiremos um caso prático, a modelagem da automação de um posto de gasolina, e tentaremos sintetizar a dinâmica desse sistema diretamente em redes coloridas, sem uma modelagem prévia em Redes P/T. 



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

    Nesta aula vamos tratar das propriedades das redes clássicas e de alto nível (coloridas) sempre em busca de novos recursos para a modelagem e o design de sistemas discretos automatizados.

    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 da estrutura relacional da rede. Em ambos os casos, sistemas reais podem ser mapeados com  propriedades ditas desejáveis (reversibilidade, vivacidade, limitação, ...), e outras que devem ser evitadas (deadlock, gargalos, ...). Uma das estratégias de análise de sistemas se baseia na análise destas propriedades - associadas à representação formal - e de outras propriedades, associadas ao processo de modelagem (equanimidade, invariantes,...). Tanto as redes clássicas como as de alto nível (coloridas) possuem propriedades semelhantes, mas a forma de calcular, analisar (e usar) estas propriedades é distinta.

    Certamente, um dos problemas dignos de nota é a dependência - pelo menos nos métodos usados na prática -  dos métodos voltados a atingibilidade. A rede de alto nível (colorida) introduz o O-Graph, como o equivalente do grafo de cobertura para as redes clássicas. Na aula de hoje vamos nos concentrar nas propriedades básicas para as redes clássicas e coloridas. Na próxima aula ampliaremos esse escopo, agora associado aos métodos de modelagem e design.   



    O cronograma para a continuidade do curso é o seguinte




    A versão final do artigo fica então para o dia 5 de dezembro à meia-noite.

  • Análise de invariantes



    Na aula passada vimos as propriedades principais envolvidas em um processo de modelagem e design de sistemas (discretos) automatizados: limitação (boundedness), vivacidade (liveness), reversibility (reversibilidade) e exclusão mútua (mutex). Existem também outros conceito como equanimidade (fairness), que trataremos nas aulas seguintes. Nesta aula vamos introduzir o conceito de invariantes - sempre pensando em favorecer o processo de modelagem e design - e mostrar como o cálculo de invariantes (inicialmente sobre as redes clássicas) pode ser importante no processo de modelagem e design de sistemas, e também como método de prático de análise, servindo de base formal para a avaliação de outras propriedades. Existe na literatura vários métodos de cálculo de invariantes baseados em algoritmos especiais, usando programação matemática (SIMPLEX), pela análise de semiflows, ou baseados em métodos canônicos, como Gauss-Jordan. Estes algoritmos estão já fora do escopo da disciplina, mas abordaremos a inserção do cálculo de invariantes no processo de modelagem e design, confiando na capacidade dos ambientes de apoio para fazer o cálculo.

    Na próxima aula veremos com mais detalhes como tratar os invariantes nas redes coloridas e de alto nível.

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

  • Técnicas de modelagem de sistemas com RdP


    Ilustramos essa aula com uma imagem alusiva ao OPC UA (Open Platform Communication - Unified Architecture) um standard para a comunicação industrial segura, um suporte essencial para a Indústria 4.0. Aproveitamos para enfatizar que estes sistemas são mais do que um novo arranjo tecnológico avançado mas um novo modelo produtivo, necessário, automatizado, e sustentável. E a flexibilidade envolvida requer com mais força recursos de modelagem de processos, e de sistemas formais, como as redes de Petri.

    Trataremos nessa aula justamente das técnicas de modelagem, que podem ser aplicadas, tanto usando as redes clássicas P/T como as redes de Alto Nível ou coloridas. Como afirmamos antes, prosseguiremos nesta parte do curso com técnicas e métodos de modelagem de sistemas, suas respectivas demandas, usando seja um ou outro tipo de rede e comparando os prós e contras resultantes da opção escolhida. Sempre lembrando que podemos fazer a qualquer momento a conversão de um tipo a outro, seja por "folding" (transformando redes P/T em redes coloridas) ou "unfolding" (trnsformando redes coloridas em redes P/T). Portanto, a discussão é sobre qual é a melhor opção de modelagem utilizar para o problema em apreço. 

    Iniciaremos ampliando as propriedades básicas para incluir o "fairness" (mencionaremos brevemente a distância síncrona) e seguiremos adiante com a análise de invariantes nas redes coloridas e a introdução das técnicas de análise.

  • Modelagem formal de sistemas baseada no espaço de estados



    Chegamos ao foco da discussão sobre modelagem de sistemas com Redes de Petri, e agora, usaremos todos os princípios, métodos, teoremas (mesmo os que não foram demonstrados), propriedades, e as técnicas discutidas nas aulas anteriores, para compor métodos de modelagem e design de sistemas com redes de Petri. Estes métodos podem ser baseados no uso tanto das redes clássicas P/T como das redes coloridas (aqui representando a classe das redes de Alto Nível). 

    Temos basicamente dois métodos para a modelagem e análise das redes: o método orientado à análise do espaço de estados e os métodos orientados a eventos. O primeiro é usado na modelagem de sistemas em diversas áreas e se enquadra melhor com os métodos de design formal aplicados na automação da manufatura. O segundo método (que veremos na aula que vem) é mais familiar, e direcionado a workflow e modelagem de transações. Na prática ambos são usados, e em trabalhos recentes, combinados em abordagens híbridas, especialmente para sistemas (automatizados) de maior complexidade. 

  • Modelagem de Sistemas Orientada a Eventos


     

    Vamos considerar agora o método de modelagem de sistemas orientado a eventos, mais aderente ao Model-Based System Engineering. Um motivo para essa aderência é a ênfase na abordagem top down, típica para sistemas, ao lado da possibilidade de modelagem da dinâmica de forma distribuída. Assim, é possível combinar a divisão do sistema em partes (sub-sistemas) de forma estruturada, modelando o comportamento padrão e o protocolo de comunicação, separadamente dos detalhes internos, que seriam desenvolvidas posteriormente.  Isso facilita a reutilização de componentes, mesclando o desenvolvimento de novas partes com a inclusão de elementos já desenvolvidos. Portanto, podemos ainda usar a mesma abordagem na modelagem dos System of Systems (SoS). 




    Teremos um novo milestone para o artigo final:

    O novo milestone terá: i) título/autores; ii) abstract; iii) introdução (que pode ser revista); iv) background (que também pode ser revista); v) descrição mais detalhada de como as PN serão usadas na proposta descrita na seção anterior.


  • Tópicos de pesquisa em Redes de Petri

    Hervorgehoben

    Horizon Europe Work Plan 2023-2024

    Chegamos ao final do curso, e, na medida que o nosso interesse é na pesquisa (passada, presente, e também futura), vamos terminar com uma discussão sobre tópicos de interesse para futuros desenvolvimentos em Redes de Petri, e seu respectivo impacto em outras áreas e campos de estudo. Durante as aulas alguns destes tópicos foram inseridos, como o uso das Redes de Petri como linguagem de especificação de requisitos e de soluções, de modo a agilizar o processo de matching entre requisitos e possíveis soluções. Terminamos na aula passada introduzindo os conceitos de bissimilarity e bissimulation que estão efetivamente já fora do escopo do programa desta disciplina. 

    Alguns tópicos podem ter instigado curiosidade ou até dúvidas, como a introdução dos agentes e "objetos" coma respectiva demanda de comunicação entre eles, feita através de fusion places, fusion transitions ou arc addition.  A questão pode ser colocada de forma bem mais ampla, sobre a possibilidade de integrar o formalismo de objetos e de Redes de Petri.  Oura demanda semelhante é a relação (se é possível) entre Petri Nets e Lógica, seja relacionada ao tratamente algébrico clássico ou funcional. Finalmente, temos a demanda de tratar os sistemas temporizados ou de temo real, que novamente nos coloca ante uma ampliação significativa do formalismo de redes de Petri.



    O artigo final deverá ser submetido no e-disciplinas até o dia 12/11/2023 à meia-noite.