Execução de modelos de redes de Petri IOPT usando o conceito de contenda e computação paralela - Gabriel, Alexandre Luís de Sousa (2022)
O ambiente de desenvolvimento IOPT-Tools, disponível publicamente em http://gres.uninova.pt/IOPT-Tools/ e resultado das contribuições de um elevado número de investigadores e estudantes de doutoramento e de mestrado, permite, entre outras funções, a edição de modelos IOPT (uma classe de redes de Petri vocacionada para o desenvolvimento de controladores), a sua simulação e geração automática de código de execução para plataformas software (C), hardware (VHDL) e PLCs (IL). Dispõe também de ferramentas para a geração do espaço de estados associado ao modelo, bem como de um subsistema para obter informação sobre as propriedades do sistema a partir do espaço de estados criado. O primeiro objetivo do trabalho é o de tirar partido da identificação de contendas no modelo IOPT e de gerar código de execução melhorado (em C) relativamente ao atualmente gerado pelas IOPT-Tools. Dado que para modelos "comuns" é fácil atingir os milhões de estados, sendo a sua geração morosa e carente de recursos (ocupando o servidor por “demasiado” tempo), o segundo objetivo do trabalho é o de tirar partido de computação paralela, utilizando os "cores" disponiveis ou uma GPU instalada no PC onde o servidor das IOPT-Tools esteja em execução, permitindo realizar a computação do espaço de estados assistida por processamento paralelo. Pretende-se caraterizar os benefícios da sua utilização para diferentes tipos de modelos e dimensões do espaço de estados.