Prévia do material em texto
Máquinas de estados finitos Apresentação Diariamente, você se depara com equipamentos digitais nos mais diversos setores. Esse tipo de tecnologia, aliada a métodos e ferramentas de modelagem matemática de problemas, torna possível a vida como se conhece em sociedade. Dito isto, é perceptível a necessidade do engenheiro eletricista de estar alinhado com ferramentas de modelagem de sistemas. Uma ferramenta usualmente empregada na modelagem de problemas lógicos até uma determinada complexidade é a máquina de estados finitos ou autômato finito. Estas máquinas de estados são utilizadas para modelar matematicamente programas de computadores ou circuitos lógicos. Exemplos simples são máquinas de vendas, elevadores, semáforos, armários com tranca digital, etc. Dessa forma, torna-se indispensável o conhecimento do profissional acerca do desenvolvimento e a avaliação dessas ferramentas frente aos diferentes problemas apresentados em campo. Nesta Unidade de Aprendizagem, você vai aprender a definir as máquinas de estados, bem como descrever as suas principais características. Além disso, você será capaz de ilustrar diferentes exemplos de máquinas de estados. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir máquinas de estados finitos.• Descrever as características de máquinas de estados finitos.• Ilustrar exemplos de máquinas de estados finitos.• Desafio No desenvolvimento de projetos, são fundamentais a análise e a modelagem correta de sistemas. Sendo assim, o engenheiro eletricista precisa estar a par dos diferentes métodos de modelagem, de maneira a garantir as exigências do cliente da maneira mais eficaz. Considerando isso, você, como engenheiro eletricista, recebe o seguinte projeto: seu cliente necessita de um elevador industrial que percorra três andares (térreo, primeiro andar e segundo andar). Além disso, ele precisa conter um painel, no qual o andar de destino é selecionado juntamente com uma sinalização luminosa (verde, amarelo, vermelho) apontando o respectivo andar. Estabeleça uma representação binária para os valores de estado, de entrada e de saída. Além disso, o cliente necessita de um diagrama de transição de estados acompanhado da tabela de transição para esse sistema. Infográfico O desenvolvimento de máquinas de estados finitos é uma poderosa ferramenta na modelagem de sistemas dinâmicos. Sendo assim, é imprescindível para o profissional eletricista estar atento aos diferentes tipos de máquinas de estados, bem como as suas representações. Neste Infográfico, você vai entender as diferenças entre as máquinas de Moore e Mealy, bem como as suas diferentes representações. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/a915d855-cbce-43b6-9319-391e05e9a8f5/2558c77d-7607-4c89-b0fe-f82921c3482d.png Conteúdo do livro No desenvolvimento de circuitos digitais é fundamental o conhecimento de máquinas de estados finitos. Esse conceito permite que problemas que apresentam estados bem definidos possam ser modelados de maneira a apresentar a sua transição de um estado para o outro dado um determinado evento de entrada. Devido ao grande número de aplicações possíveis para esse tipo de ferramenta, torna-se fundamental o conhecimento por parte do engenheiro eletricista dos detalhes dessa metodologia. No capítulo Máquinas de estados finitos, da obra Circuitos digitais, você irá conhecer mais sobre as máquinas de estados finitos, como podem ser agrupadas, suas aplicações práticas e irá se aprofundar no estudo das máquinas de Moore e Mealy, muito utilizadas nas áreas de engenharia. Além disso, você irá aprender os diferentes tipos de representação que podem ser utilizadas para representar a dinâmica desses sistemas. Boa leitura. CIRCUITOS DIGITAIS Eduardo Scheffer Saraiva Máquinas de estados finitos Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Definir máquinas de estados finitos. � Descrever as características de máquinas de estados finitos. � Ilustrar exemplos de máquinas de estados finitos. Introdução Diariamente em nossa sociedade, deparamo-nos com circuitos digitais mesmo sem saber, como máquinas de refrigerante, elevadores, semáforos, etc. Muitas aplicações presentes no dia a dia do cidadão fazem uso de lógicas digitais que possibilitam a vida moderna, que seria inviável caso utilizássemos circuitos analógicos. Para a modelagem desse tipo de sistema, é comum usar em ciências da computação e engenharia elétrica máquina de estados. As aplicações que fazem uso de máquinas de estados apresentam características em comum, como o número finito de estados. Para repre- sentar esses sistemas a fim de compreendermos mais profundamente o problema em questão, em geral adotamos o diagrama de transição de estados, ou diagrama de máquina de estados, uma metodologia que consiste na representação do estado ou da situação que o objeto pode se encontrar no decorrer da execução de processos de um sistema. Neste capítulo, você aprenderá sobre as principais características que definem as máquinas de estados e entenderá as principais diferenças en- tre seus tipos. Por fim, apresentaremos diferentes exemplos de máquinas de estado, tanto de Mealy quanto de Moore. 1 Máquinas de estados Uma máquina de estados finitos, é uma representação matemático utilizado para descrever o comportamento do sistema em todas suas situações possíveis. São largamente utilizadas em tarefas de controle de sistemas e segundo WAGNER (2006) uma máquina de estados é a responsável lógica que dita o comportamento do sistema. Sistemas estes que podem ser classificados como sistemas combinatórios em que a saída depende exclusivamente da entrada, ou, sistemas sequenciais quando o sistema necessita de informações a respeito da sequência de entradas para determinar a saída. Diversos dispositivos que usamos diariamente apresentam máquinas de estados para o seu controle. É o caso de maquinas de vendas, catracas de ônibus, semáforos, portões de garagem, dispositivos de controle de temperatura, entre diversos outros. Independentemente de sua aplicação, as máquinas de estado apresentam um funcionamento que se baseia em receber um determinado número de entradas da aplicação e utiliza de ferramentas lógicas para determinar a saída que irá afetar diretamente esta aplicação. O profissional terá de estar atento as características do projeto, de modo que aplicações que apresentam muito estados podem ser complexas para a representação por máquinas de estados PEDRONI (2013). Máquinas de estados podem ser divididas em dois tipos, descritos a seguir (WAGNER,2006; VIEIRA,2006). � Aceitadores/reconhecedores: esta máquina de estados apresenta estado final e estado inicial bem definidos. Além disto, existe apenas uma transição para cada estado. Isto significa que esta máquina não é sensível a entrada do sistema, levando o sistema do ponto inicial até o final sempre pelo mesmo caminho. � Transdutores: esta máquina de estados apresenta uma saída que depende do estado atual da máquina e da entrada do sistema, ou seja, para diferentes entradas e diferentes estados o sistema apresenta diferentes transições. Este tipo de máquina é largamente utilizado em aplicações de controle, através das máquinas de Mealy e Moore como veremos adiante. Outra distinção se dá entre autômatos determinísticos e não determinísticos. Onde uma máquina de estados determinística apresenta apenas uma transição de estado possível para cada entrada, isto significa Máquinas de estados finitos2 que, o sistema apresentará um estado futuro que será determinado pela combinação do estado atual da máquina de estados e a entrada no sistema. Outra distinção se dá entre autômatos determinísticos e não determinísticos. Onde uma máquina de estados determinística apresentaapenas uma transição de estado possível para cada entrada, isto significa que, o sistema apresentará um estado futuro que será determinado pela combinação do estado atual da máquina de estados e a entrada no sistema. É preciso se atentar para o fato de que existem diversas formas de representar máquinas de estado, como matrizes de transição, diagramas de transição, gráficos de fluxo, tabelas de transição de estados e combinações destes como apresentado em Harel (1987). A representação de Harel foi desenvolvida para representar sistemas discretos complexos e se baseia em substituir os tradicionais diagramas de estados por noções de hierarquia, concorrência e comunicação. Outras formas de representação especificas são possíveis e dependerão da aplicação com a qual se está trabalhando. Para a correta modelagem de sistemas complexos, torna-se necessário adotar uma formalidade matemática para garantir o correto desenvolvimento do projeto. Dito isso, uma máquina determinista de estado finito ou aceitador determinístico de estado finito é dada por: M(Σ, S, s0, δ, F) onde: � Σ: conjunto finito de símbolos de entrada; � S: conjunto finito dos estados; � S0: estado inicial; � δ: função da transição de estado δ: S × Σ → S; � F: conjunto de símbolos de saída. 3Máquinas de estados finitos Para máquinas de estados finitos determinísticos e não determinísticos, convenciona-se permitir que a função de transição de estados seja uma função que não precisa ser definida para todos os pares de entrada e estado possíveis. Se uma máquina de estado finito estiver em um estado, no qual a entrada leva para um estado que não está definido, então a máquina de estados pode anunciar um erro ou ignorar as entradas. Um exemplo de diagrama de blocos está presenta na Figura (1). Figura 1. Máquina de estados. Condição para transação de estados Estado Saídas Um transdutor de estado finito é dado por: M(Σ, Г, S, s0, δ, ω) onde: � Σ: conjunto finito de símbolos de entrada; � Г: conjunto finito de símbolos de saída; � S: conjunto finito dos estados; � s0: estado inicial � δ: função da transição de estado δ: S × Σ → S; � ω: função da saída. Máquinas de estados finitos4 Se a função de saída depender do estado e do símbolo de entrada, essa definição corresponderá ao modelo Mealy, podendo ser modelada como uma máquina Mealy. E, se a função de saída depender apenas do estado, essa definição fará referência ao modelo de Moore e poderá ser modelada como uma máquina de Moore. Uma máquina de estado finito sem nenhuma função de saída é conhecida como sistema de transição. Representações Existem diversas maneiras de representarmos uma máquina de estados finitos, sendo a mais comum a tabela de transição de estados. É possível realizar a descrição da máquina de estados incluindo informações completas sobre ações usando tabelas de estados, como apresentado no Quadro 1. Estado atual → Entrada ↓ Estado 1 Estado 2 Estado 3 00 Estado 2 Estado 3 Estado 1 01 Estado 3 Estado 1 Estado 2 10 Estado 1 Estado 2 Estado 3 Quadro 1. Tabela de transição de estado Assim, dada uma entrada, ela altera o valor do estado atual e o leva para o seu próximo estado. No Quadro 1, dada a entrada 00 para quando o sistema se encontra no estado 1, seu estado passa a ser o estado 2, e assim por diante. Em eletrônica digital e ciência da computação, o uso de tabelas auxilia desde a redução de operações booleanas básicas até correlações simples de entradas a saídas, sem o uso de portas lógicas ou código, o que facilita o desenvolvi- mento do projeto. 5Máquinas de estados finitos Outra maneira de representação se dá por meio de diagramas de transição de estados, também chamados de diagramas de máquina de estados, uma representação do estado ou situação em que um objeto pode estar no decorrer da execução de processos de um sistema. Com isso, o objeto pode passar de um estado inicial para um estado final por uma transição. Para exemplificar, na Figura 2 é apresentado o diagrama de transição de estados para uma possível máquina de estados de um painel de elevador, que deve mostrar se ele está subindo, descendo ou parado. Figura 2. Exemplo de diagrama de transição de estado para um painel de elevador com três estados. desce sobe desce sobe Subindo Parado Descendo Existem outras maneiras de representar máquinas de estados que não serão abordadas ao longo do capítulo, como a representação de máquinas de estados UML (Unified Modeling Language), que unifica as características das máquinas Mealy e Moore, na qual ações que dependam de mais de um estado do sistema e da entrada são suportadas. Outra refere-se à máquina de estados SDL (Specification and Description Language), adotada pela união internacional de telecomunicações e não se incluem ferramentas gráficas que auxiliam a descrever ações de transição. Máquinas de estados finitos6 Neste tópico, fizemos uma introdução às máquinas de estados finitos, apre- sentando suas aplicações e a necessidade de o profissional eletricista entender esses conceitos. Além disso, você pôde aprender sobre os diferentes métodos de representação de máquinas de estados, compreendendo sua importância para o desenvolvimento de projetos na área de desenvolvimento de software e circuitos digitais. A seguir, aprenderemos mais sobre as máquinas de estados finitos mais conhecidas, a de Moore e a de Mealy. 2 Máquinas de Moore e de Mealy Em 1956 era apresentado o artigo “Gedanken-experiments on sequential machines”, cujo conceito acabaria por levar o nome do seu criador Edward F. Moore anos mais tarde MOORE (1956). O conceito introduzido por este artigo era o de uma máquina de estados finitos cuja saída dependia exclusivamente do estado presente da máquina de estados. Porém, esta não foi a primeira vez que um conceito semelhante era apresentado. Em 1955, George H. Mealy em “A method for synthesizing sequential circuits” introduziu o conceito de uma máquina de estados em que sua saída não dependeria somente do estado atual da máquina, mas seria igualmente dependente da entrada do sistema MEALY (1955). As diferenças entre as duas máquinas são apresentadas na Figura 3. Toda máquina de Moore é equivalente à máquina de Mealy com os mes- mos estados, transições e a função de saída, alterando apenas sua notação. De maneira semelhante uma máquina de Mealy poderá ser convertida em uma máquina de Moore, geralmente está conversão pode levar a um número maior de estados, uma vez que nas máquinas de Mealy um estado pode apresentar múltiplas saídas. Máquinas de Mealy tendem a ter menos estados que as de Moore, porém, obviamente, apresentam um número maior de saídas. Nas máquinas de Mealy, a alteração da entrada pode causar alteração na saída assim que a lógica é concluída. Além disso, elas reagem mais rapidamente a essas entradas, geralmente reagindo no mesmo ciclo em que a entrada ocorre sem a necessidade de esperar pelo sinal de clock, ou seja, são máquinas assíncronas PEDRONI (3). Considerando esses aspectos, podemos nos perguntar: qual a utilidade da máquina de Moore se a máquina de Mealy apresenta diversas vantagens em relação à concorrente? 7Máquinas de estados finitos Figura 3. Diferenças entre a máquina de Moore e a máquina de Mealy. (a) Para uma máquina de Moore, cada nó (estado) é rotulado com um valor de saída. (b) Para uma máquina de Mealy, cada arco (transição) é rotulado com um valor de saída. Entrada Estado Saída Q1 1 Q0 0 Entrada Estado (b) (a) 0 1 Saída Q1Q0 As máquinas de Moore estão menos propensas a erros lógicos uma vez que as saídas ocorrem apenas na extremidade do sinal de clock, ou seja, sempre um ciclo após a entrada. Aqui, cabe ao engenheiro eletricista entender as necessidades de seu projeto e dimensionar corretamente sua máquina de estados. Para aplicações reais, é preciso ser eficiente quanto ao número de estados adotados para resolver o problema, processo ao qual se dá o nome de otimização,em que se encontra a máquina de estados finitas que apresenta o menor valor possível de estados em que se efetuam as mesmas funções. Máquinas de estados finitos8 Até agora, apresentamos as mais “famosas” máquinas de estado finito — a de Moore e a de Mealy —, estabelecendo as principais diferenças entre os métodos e de suas representações no diagrama de transição de estados. A seguir, observaremos diferentes exemplos nos quais são aplicados os con- ceitos aprendidos neste capítulo. 3 Exemplos de máquinas de estado Em virtude da extensão da utilização de máquinas de estado finito, preten- demos agora ilustrar algumas aplicações práticas e problemas que podem ser resolvidos com os métodos apresentados ao longo do capítulo. Exemplo 1 Um sistema de segurança aciona o alarme se a seguinte sequência de bits é apresentada: “0 1 1 1”. Considerando o alarme desligado como saída “0”, o alarme ligado como saída “1” e como entrada os valores possíveis “0” e “1”, desenhe o diagrama de transição para esse sistema: Inicialmente, definimos o tipo de máquina e ilustramos os estados possíveis para o sistema. Q0 0 Q1 0 Q2 0 Q3 0 Q4 0 Definimos uma máquina de Moore, com todos os possíveis estados para esse sistema. Agora, definimos as transições para uma entrada “0”: Q0 0 Q1 0 Q2 0 Q3 0 Q4 0 0 0 0 0 0 9Máquinas de estados finitos Estas transições foram definidas, já que o primeiro bit da sequência chega com o valor “0”, e o estado “Q0” passa para o estado “Q1”. Como os demais estados estão esperando o valor “1”, caso recebam o valor “0”, retornam para o estado “Q1”. Com isso, podemos passar para as transições quando o valor da entrada é “1”. Q0 0 Q1 0 Q2 0 Q3 0 Q4 0 1 1 1 1 10 0 0 0 0 Assim, o diagrama de transição que ilustra o problema apresentado está completo. Exemplo 2 Para o exercício do Exemplo 1, elabore a tabela de transição para esse sistema. Para iniciar, esboçaremos a tabela da seguinte maneira: Estado atual Entrada Saída 0 1 Q0 Q1 Q2 Q3 Q4 Máquinas de estados finitos10 Agora, podemos definir o próximo estado como a combinação do estado atual com o valor de entrada. a) Dado o estado atual para uma entrada “0”, preenchemos a coluna com os respectivos valores para o estado futuro. Assim, obtemos: b) Agora, descrevemos a transição do estado atual para o estado futuro dada a entrada “1” para o sistema. 11Máquinas de estados finitos A seguir, basta escrevermos os valores de saída associados aos estados, quanto obteremos a seguinte tabela preenchida: Estado atual Entrada Saída 0 1 Q0 Q1 Q0 0 Q1 Q1 Q2 0 Q2 Q1 Q3 0 Q3 Q1 Q4 0 Q4 Q1 Q0 1 Exemplo 3 Como já abordamos sobre a conversão entre as diferentes máquinas de estados, agora, para ilustrar, efetue a conversão da máquina de Moore apresentada no Exemplo 2 em uma máquina de Mealy. Para resolvermos o problema, precisamos observar o diagrama de transição da máquina de Moore, considerando inicialmente os primeiros estados. Q0 0 Q1 0 0 1 Para convertermos essa representação para a máquina de Mealy, precisamos associar o valor da entrada ao da saída para a qual a transição está levando. Por exemplo, para esses dois primeiros estados, quando Q0 recebe “1”, a saída de Q0 é “0”, e, quando Q0 recebe “0”, devemos analisar a saída do estado Q1. Máquinas de estados finitos12 Assim, a transformação dessa parte do diagrama para a máquina Mealy fica da seguinte maneira: Q1Q0 1 0 0 0 Extrapolando para todo o sistema, a resolução do problema é dada por: Q0 Q1 Q2 Q3 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 Como podemos observar, a conversão para a máquina de Mealy simplifica o modelo, sem haver mais a necessidade do estado Q4. Neste capítulo, foi apresentado o conceito de máquina de estados com suas principais características e tipos, além de introduzidos os diferentes métodos de representação para esse tipo de modelagem. Por meio dessas ferramentas, diversos problemas de lógica matemática e circuitos digitais podem ser re- solvidos, o que leva à necessidade de o profissional eletricista conhecê-las. 13Máquinas de estados finitos HAREL, D. Statecharts: a visual formalism for complex systems. Science of Computer Programming, North Holland, v. 8, n. 3, p. 231-274, 1987. KELLER, R. M. Computer science: abstraction to implementation. Claremont: [s. n.], 2001. Disponível em: https://www.cs.hmc.edu/~keller/cs60book/%20%20%20All.pdf. Acesso em: 11 jun. 2020. VIEIRA, N. J. Introdução aos fundamentos da computação: linguagens e máquinas. São Paulo: Cengage Learning, 2006. Leituras recomendadas MEALY, G. H. A method for synthesizing sequential circuits. The Bell System Technical Journal, New Jersey, v. 34, n. 5, p. 1045-1079, 1955. MOORE, E. F. Gedanken-experiments on sequential machines. Automata Studies, Prin- ceton, v. 34, p. 129-153, 1956. ROTH JR., C. H.; KINNEY, L. L.; JOHN, E. B. Fundamentals of logic design. 7. ed. Boston: Cengage Learning, 2020. Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Máquinas de estados finitos14 Dica do professor A utilização de máquinas de estados finitos é encontrada diariamente no desenvolvimento de projetos de engenharia. Existem diversas maneiras de elaborar as representações para essas máquinas de estados. Para facilitar a vida do engenheiro, diversos softwares oferecem ferramentas para a implementação de máquinas de estados. O software MATLAB, apor meio da ferramenta simulink, propicia a criação de máquinas de estado. Para utilizar essa ferramenta, o aluno deverá escrever "simulink" na janela de comando do MATLAB e pressionar "enter". Nesta Dica do Professor, você irá aprender como implementar essas máquinas utilizando essa ferramenta. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/b513dc7a3f717681337f339596ea334f Exercícios 1) O desenvolvimento de máquinas de estados finitos é de vital importância para o projeto de circuitos digitais, sendo assim, é papel do engenheiro eletricista ter conhecimento das ferramentas de representação de máquinas de estado. Portanto, projete o diagrama de transição de estados para um sistema que produza "1" na saída, caso detecte a sequência "101" em sua entrada para as máquinas de Mealy e Moore: A) B) C) D) E) No cotidiano do engenheiro eletricista é comum este receber projetos em um determinado formato e necessitar de sua conversão para outro. Dessa forma, considerando a máquina de Mealy apresentada a seguir, determine a tabela que representa a sequência projetada: 2) A) B) C) D) E) Para o desenvolvimento de projetos de sistemas digitais é necessária a correta aplicação das ferramentas de modelagem de sistemas. Dessa forma, é de suma importância o conhecimento do engenheiro em métodos de representação das máquinas de estados. Sendo assim, desenhe o diagrama de estados de uma máquina Mealy de acordo com a tabela a seguir: 3) A) B) C) D) E) A conversão entre as diferentes máquinas é usual e depende da aplicação que o projeto irá atender. Para evitar retrabalho, é importante que o engenheiro eletricista esteja apto a fazer essa conversão. Dessa forma, utilize a tabela para máquina de Moore a seguir e a converta para o seu 4) equivalente para a máquina de Mealy: A) B) C) D) E) 5) No desenvolvimento de projetos na área de circuitos digitais, é de vital importância o uso correto das ferramentas. Sendo assim, indique a alternativa correta a respeitodo emprego de máquinas de Mealy e Moore: A) Máquina de Mealy: apresenta maior número de estados e um número maior de saídas. B) Máquina de Moore: está mais sujeita a erros lógicos, uma vez que as saídas ocorrem no momento da entrada do evento. C) Máquina de Mealy: apresenta menor número ou um número igual de estados à máquina de Moore, no entanto, apresenta um número maior de saídas. D) Máquina de Moore: reage mais rapidamente a sinais de entrada, geralmente atuando no próximo ciclo de clock. E) Máquina de Moore: apresenta menos estados em relação à máquina de Mealy e apresenta também um número menor de saídas. Na prática Entre os desafios diários do profissional eletricista está o desenvolvimento de projetos. Uma vez que diferentes projetos exigem diferentes soluções, é necessário para o profissional o conhecimento de ferramentas que o auxiliem nesse desenvolvimento, como, por exemplo, as máquinas de estado. Na Prática, você verá o caso de Marcelo, engenheiro eletricista responsável pelo projeto de um contador de código Gray de 3 bits. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://statics-marketplace.plataforma.grupoa.education/sagah/68d14052-ba79-4dd1-ad7f-4f03d40a1bb3/da970732-0cbb-4c1b-8687-5ff8d1e3cd2c.png Saiba + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Uma estratégia para a minimização de máquinas de estados finitos parciais Nesta tese, o autor Alex Donizeti Betez Alberto define uma metodologia para a diminuição de estados redundantes em máquinas de estados finitos. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Máquina de estados em linguagem de descrição de hardware Neste vídeo, o engenheiro Wagner Ramb apresenta as máquinas de estado em linguagem de descrição de hardware, por meio do código desenvolvido ao longo do vídeo. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. Modelagem de sistemas químicos como máquinas de estados finitos para fins de verificação formal O autor Filipe Alves Coelho apresenta em sua tese o desenvolvimento de máquinas de estados finitos para processos químicos para fins de verificação formal. Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar. https://teses.usp.br/teses/disponiveis/55/55134/tde-08062009-105244/en.php https://www.youtube.com/embed/ogjjk4OrA9c http://repositorio.unicamp.br/jspui/bitstream/REPOSIP/332402/1/Coelho_FilipeAlves_D.pdf