Exemplo de Java2D - Simulador de Autômatos  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Olá pessoal.

Essa semana estava sem internet em minha casa e para passar o tempo fui programar alguma coisa
Tive uma disciplina do mestrado (no início do ano passado) que tratava da linguagens formais. Já tinha visto um simulador bem completo, mas decidi fazer o meu, só para passar o tempo

Enfim, deem uma olhada, estou disponibilizando os fontes (projeto do NetBeans) e o .jar

Este simulador só trata autômatos finitos determinísticos. Se for adicionada alguma transição que o torne indeterminístico ele simplesmente não vai reconhecer a string fornecida. Tem várias coisas que não tratei na interface, como algumas confirmações e tal, mas está usável.

Pode ser útil para quem estiver estudando isso na faculdade e para quem quiser aprender algo sobre Java2D

Já aviso que o código não está lá aquelas coisas hehehe
CHEIO DE GAMBIARRAS

[]´s
 Nome do arquivo SimuladorAutomatos.zip [Disk] Download
 Descrição fontes
 Tamanho 28 Kbytes
 Baixado:  5202 vez(es)

 Nome do arquivo SimuladorAutomatos.jar [Disk] Download
 Descrição .jar do simulador
 Tamanho 52 Kbytes
 Baixado:  1109 vez(es)

This message was edited 3 times. Last update was at 17/09/2010 00:15:39


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

É cara, ficou simples mas legalzinho.
Aliás, é parecido com o TCC que estou planejando fazer pra esse ano.
Pro TCC pretendo deixar o usuário desenhar um grafo qualquer e escolher um algoritmo para executar sobre o grafo.
Pra isso pretendo usar a JGraph (www.jgraph.com) em conjunto com as classes Drag and Drop do java...só por curiosidade, vc já mexeu com JGraph?

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
Tchello
GUJ Master
[Avatar]

Membro desde: 07/06/2008 14:41:04
Mensagens: 1693
Online

Cara, esse grafo ta muito bonitinho!!!
Assim que eu puder posto meu simulador aqui, que fiz pruma iniciação científica.
É bem simples, são alguns algoritmos de contenção de falhas em cascata sobre redes complexas (tema do meu TCC e futuro mestrado pré encaminhado =P).
Tive que fazer de última hora e ficou faltando muita coisa na interface, as configurações tem que ser mudadas direto no código (sério, tive uma madrugada pra implementar tudo, foi f* e o prazo curto não foi culpa minha, não dessa vez uhahuahuahuauhauha).
É bem simples, em apenas 2 dimensões representada em uma matriz dinâmica. O próximo será com grafos bem mais complexos com algoritmos mais elaborados de contenção e espalhamento de falhas.
Pra ter uma noção, a visualização do espalhamento das falhas lembra aquelas imagens de colônias de bactérias se proliferando (inclusive várias pessoas que o viram rodando perguntaram: que legal!! é um câncer? >_>.

davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

rod.attack wrote:É cara, ficou simples mas legalzinho.
Aliás, é parecido com o TCC que estou planejando fazer pra esse ano.
Pro TCC pretendo deixar o usuário desenhar um grafo qualquer e escolher um algoritmo para executar sobre o grafo.
Pra isso pretendo usar a JGraph (www.jgraph.com) em conjunto com as classes Drag and Drop do java...só por curiosidade, vc já mexeu com JGraph?


Eu ia utilizar a API JGraph em um projeto, mas acabei não precisando usar.
Realmente está bem simples e com vários bugs, mas o propósito era só como passa tempo mesmo.

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
francislon
JavaEvangelist
[Avatar]

Membro desde: 07/02/2007 09:27:21
Mensagens: 372
Localização: Ilhéus-BA
Offline

Parabens pelo programa...
Vo dar uma estudada nele...

"Mais vale a lágrima da derrota do que a vergonha de não ter lutado."

http:/perlbrasil.blogspot.com
[Email] [WWW] [MSN]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

Tenho uma pergunta que pode parecer meio boba (de fato é bem simples mesmo):

É sobre as bordas dos panels que vc utilizou...analisando o código, vi que o setBorder de cada panel está dentro do initComponents que é criado pelo netbeans..
Como vc fez pra adicionar as bordas aos panels graficamente no netbeans?

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

Putz, acabei de achar a opção no properties do objeto. Valeu .

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
renan_
Java Ninja

Membro desde: 28/11/2007 23:35:27
Mensagens: 270
Localização: Minas Gerais
Offline

Fiz LFA (Linguagens Formais e Autômatos) no semestre passado.
Ficou bem legal seu programa!

Obrigado por compartilhar.
mrsmylle
JavaEvangelist

Membro desde: 20/05/2005 00:02:06
Mensagens: 432
Offline

What's Linguagem Formal de Autômatos?? !!
Sorry about my lack of acknowledgement!!
Looking for it!!

This message was edited 2 times. Last update was at 22/02/2009 20:37:29

davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

mrsmylle wrote:What's Linguagem Formal de Autômatos?? !!
Sorry about my lack of acknowledgement!!
Looking for it!!


Primeiramente, vamos usar o português? Afinal, somos brasileiros concorda?

Basicamente, na computação a área das linguagens formais trata de dispositivos matemáticos que têm poder computacional, ou seja, conseguem representar linguagens, reconhecendo sentenças (strings). Como exemplos de dispositivos estudados por essa área, podem-se citar os autômatos finitos, expressões regulares e gramáticas regulares (que tem poder para representar as linguagens regulares), os autômatos à pilha e gramáticas livres de contexto (que conseguem representar as linguagens livres de contexto), máquinas de turing (representam as linguagens recursivas e as linguagens recursivamente enumeráveis), etc.

Os autômatos também são conhecidos como máquinas de estado. Você já deve ter ouvido falar nelas.

Existem inúmeras aplicações para esses dispositivos, sendo que a mais utilizada talvez seja seu emprego nos analizadores léxicos das linguagens.

Mais informações você pode encontrar no livro "Introdução à Teoria dos Autômatos, Linguagens e Computação" do Hopcroft (http://www.submarino.com.br/produto/1/182106/introducao+a+teoria+de+automatos,+linguagens+e+computacao)

[] s

This message was edited 1 time. Last update was at 22/02/2009 23:11:20


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
mrsmylle
JavaEvangelist

Membro desde: 20/05/2005 00:02:06
Mensagens: 432
Offline

!!
Desculpa, assunto até então desconhecido pra mim!!
Vou dar uma boa olhada sobre isso!!
Jonathan46
What is classpath?

Membro desde: 28/07/2009 09:06:51
Mensagens: 5
Offline

Olá, agora eu vi q cada bolinha é um Jpanel vi o codigo tb do drag and drop mas teria como voce comentar
essa parte do codigo

davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Oi Jonathan, desculpa a demora para responder.

Isso ai chama gambiarra
O certo seria passar uma referência do frame para o painel de desenho, mas como fui fazendo o programa por fazer, teve muita coisa que ficou MUITO feia

O que eu faço com esse monte de getParent encadeado, é chegar ao JFramePrincipal.

[]´s

This message was edited 1 time. Last update was at 17/09/2010 00:12:06


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

Bem interessante o programa. Mais tarde tentarei ver o código.

Parabéns.

57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
guibiri
Smalltalk
[Avatar]

Membro desde: 20/12/2011 14:18:58
Mensagens: 1
Offline

Maravilha! Estava procurando um algoritmo que tratasse Linguagens formais !

Parabéns e, meu sincero agradecimento!
[Email] [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team