A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Simulador de uma "Coke Machine" utilizando Teoria dos Autômatos Anderson de Rezende Rocha, Flávio Luiz Alves, Júlio César Alves, Rodrigo Nazaré da Silva.

Apresentações semelhantes


Apresentação em tema: "Simulador de uma "Coke Machine" utilizando Teoria dos Autômatos Anderson de Rezende Rocha, Flávio Luiz Alves, Júlio César Alves, Rodrigo Nazaré da Silva."— Transcrição da apresentação:

1 Simulador de uma "Coke Machine" utilizando Teoria dos Autômatos Anderson de Rezende Rocha, Flávio Luiz Alves, Júlio César Alves, Rodrigo Nazaré da Silva Leite Disciplina: Linguagens Formais e Autômatos Prof.: Jones Oliveira Albuquerque Coke Machine Simulator

2 Introdução Aplicando os conceitos básicos da Teoria dos Autômatos, procuramos simular, neste trabalho, uma "Coke Machine. O funcionamento tanto da máquina física quanto da máquina simulada seguem a mesma premissa: receber moedas, disponibilizar refrigerantes e voltar troco.

3 O problema Representação da máquina como um autômato: O problema consiste em traduzir as operações e os estados de uma máquina real para um autômato, mais precisamente uma Máquina de Moore. Dado que um autômato consiste de um conjunto de estados, um alfabeto e uma função de transição, partimos para a representação da Máquina de Coca-Cola neste contexto.

4 A ligação da teoria com a prática Os estados consistem nos estados reais que a máquina pode assumir, tais como: quantidade de dinheiro, falta de dinheiro, liberação de refrigerantes, etc. O alfabeto consiste em todas as ações que o usuário pode realizar na máquina, tais como: inserção de moedas, requisição de troco e de refrigerantes, bem como, a ação de pegar os mesmos. A função de transição consiste na relação entre cada ação que o usuário pode executar com cada estado que máquina pode assumir.

5 Um exemplo:

6 Partindo do que foi dito, pensamos, primeiramente, em solucionar o problema de modo direto, com a utilização de uma matriz estados por alfabeto. Uma primeira abstração... Por um lado, esta seria uma boa abstração, uma vez que, a matriz seria completa, ou seja, todo estado tem produção para qualquer símbolo do alfabeto. Entretanto, esta seria uma solução dependente deste problema, o que limitaria a reusabilidade do trabalho.

7 Deste modo, resolvemos implementar um autômato finito genérico, ou seja, um autômato útil para qualquer problema inerente a ele. A solução do problema está, então, numa aplicação especializada que utilizaria o autômato desenvolvido. A idéia implementada

8 A nível de implementação pensamos na representação de um autômato por um conjunto de estados e pela função delta (consumir um símbolo). A idéia implementada E, por fim, o autômato é template em relação ao alfabeto, ou melhor, o alfabeto pode ser definido pelo usuário da classe autômato. O estado, seria representado por uma mensagem de saída (Máquina de Moore), um conjunto de ligações para outros estados e uma identificação de estado final ou não. Já a ligação entre um estado e outro teria um símbolo a ser consumido e uma referência ao estado de destino.

9 Partimos, então, para a implementação da Máquina de Coca-Cola ® propriamente dita. Para isso criamos uma classe clSimbolo (representação do Alfabeto) que abstrai as ações de um usuário em relação à máquina. Além de, é claro, modificarmos a base de dados para este problema. A idéia implementada

10 Interface do programa

11 Conclusões Concluímos que o mais interessante neste trabalho foi a implementação do autômato genérico, uma vez que a Máquina de Coca-Cola® é apenas uma instância do mesmo. Vimos, então que nosso trabalho é reutilizável para outros fins, bastando mudar as classe de aplicação e de definição do alfabeto, além da base de dados.

12 Sugestões para trabalhos futuros: Implementação de um autômato que unifique a abordagem das máquinas de Mealy e de Moore, diminuindo o número de estados (espelhos). O autômato poderia ser modificado de modo que as mensagens de saída (Moore) fossem templates, permitindo maior liberdade de representação das saídas

13 i) MENEZES, Paulo Blauth. "Linguagens Formais e Autômatos", ed. Sagra Luzatto, RS - Brasil. ii) SUDKAMP, Thomas. "Languagens and Machines", ed. Addison Wesley, USA. iii) Documentação da biblioteca wxWindows [www.wxwindows.org] Referências


Carregar ppt "Simulador de uma "Coke Machine" utilizando Teoria dos Autômatos Anderson de Rezende Rocha, Flávio Luiz Alves, Júlio César Alves, Rodrigo Nazaré da Silva."

Apresentações semelhantes


Anúncios Google