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

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

Simulador de uma "Coke Machine" utilizando Coke Machine Simulator

Apresentações semelhantes


Apresentação em tema: "Simulador de uma "Coke Machine" utilizando Coke Machine Simulator"— Transcrição da apresentação:

1 Simulador de uma "Coke Machine" utilizando Coke Machine Simulator
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
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. 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. 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 Uma primeira abstração...
Partindo do que foi dito, pensamos, primeiramente, em solucionar o problema de modo direto, com a utilização de uma matriz estados por alfabeto. 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 A idéia implementada 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.

8 A idéia implementada 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). 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. 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.

9 A idéia implementada 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.

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 Referências 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]


Carregar ppt "Simulador de uma "Coke Machine" utilizando Coke Machine Simulator"

Apresentações semelhantes


Anúncios Google