PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES GRÁFICAS DE SISTEMAS
Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24...
Transcript of Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24...
![Page 1: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/1.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 1/24
![Page 2: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/2.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 2/24
![Page 3: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/3.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 3/24
Roteiro
� Introdução
� Fundamentação teórica
� Desenvolvimento
� Resultados
� Conclusões
![Page 4: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/4.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 4/24
Introdução
�Contexto
�Objetivos
![Page 5: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/5.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 5/24
Contexto
� Motivação (novo desafio na área de I.A.)
� Equipe de agentes jogadores de futebol
![Page 6: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/6.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 6/24
Objetivos�Desenvolvimento da linguagem declarativa que
permita formalizar comportamentos dos jogadores
de um time de robôs que jogam futebol;
�maior velocidade de implementação e alteração no
funcionamento dos agentes e na estratégia de jogo
do time.
![Page 7: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/7.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 7/24
Fundamentação Teórica
�Robo World-Cup (RoboCup)
�Sistemas Multi-Agentes (SMA)
�Ambiente TeamBots™
�Compiladores
![Page 8: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/8.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 8/24
Robo World-Cup (RoboCup)
�Origem da RoboCup
�Categorias
�Simulado
�Pequeno Porte (F-180)
�Médio Porte (F-2000)
Fonte: (LCMI, 2000)
Fonte: (LCMI, 2000)
![Page 9: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/9.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 9/24
Sistemas Multi-Agentes (SMA)
Agentes
Comportamento(Goleiro)
SMA
![Page 10: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/10.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 10/24
Ambiente TeamBots™
�TBSim�Como implementar o controle do Agente
�Características do TeamBots
ControlSystemSS
init()
(f rom abstractrobot)
ControlSystemS(f rom abstractrobot)
Simple
unique_id : int
(from abstractrobot)
SocSmall(f rom abst ract robot)
<<Interface>>
+abstract_robot
#abstract_robot
AgenteJogador
![Page 11: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/11.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 11/24
Compiladores
�Compiladores
�Fase da tradução
�Análise léxica
�Análise sintática
�Backus-Naur Form (BNF)
�Análise semântica
Fonte: Adaptado de Neto (1987)
![Page 12: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/12.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 12/24
Compiladores (cont.)
�Java Compiler-Compiler (JavaCC)
�O que é JavaCC ?
�Ferramentas
�Javacc
�Jjdoc
Texto-Fonte
(BNF no padrão JavaCC)
JavaCC Parser (Fontes do compilador para a
linguagem)
![Page 13: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/13.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 13/24
Desenvolvimento�Requisitos
�Especificação e Implementação
�Visão Geral do sistema
�Descrição de Comportamentos
�Linguagem de Comportamentos para Objetos
�Arquivo de Comportamentos
�Arquitetura do Agente (AgenteJogador)
![Page 14: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/14.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 14/24
Requisitosa) usuário tem que poder descrever o campo de futebol ;
b) verificar o estado do agente jogador;
c) descrever comportamentos para os agente jogador;
d) criar ações primárias do agente jogador;
e) descrever rotinas que utilizem as ações primárias do agente;
f) controlar a ativação de comportamentos diferentes para o mesmo agente;
![Page 15: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/15.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 15/24
Visão Geral
Com
pila
dor
Robô 1
Robô 2
Robô 3
Robô 4
Robô 5
T B
S I
M
Inte
rfas
e G
ráfic
a (v
isua
l) Comportamento 1
Comportamento 2
Comportamento 3
Comportamento 4
Comportamento 5
Descrição do
Ambiente
Des
criç
ão d
e C
ompo
rtam
ento
s
![Page 16: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/16.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 16/24
Descrição de Comportamentos
• Definição do Campo
• Definição do Jogador– Área de Atuação
– Controle Principal
– Comportamentos
• Definição das Rotinas
DimensaoDoCampo(5,5);AreaDeAtuacao("defesa",3,1);AreaDeAtuacao("meioCampo",3,3);AreaDeAtuacao("ataque",3,5);
Goleiro MeioCampo
Situação do Jogo
VaiParaBola
SeguirBola
![Page 17: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/17.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 17/24
Utilizando a linguagemDimensaoDoCampo(1,1);DefinicaoDoJogador ( 1 )Inicio
AreaDeAtuacao("jogar",1,1);ControlePrincipal Inicio
se (bolaNaArea("jogar")) entao ativa ( jogar );Fim;comportamento jogar Inicio
Andar(1);chama(VaiPraBola);
fim;Fim;
![Page 18: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/18.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 18/24
Linguagem de Comportamentos para Objetos
Texto-Fonte(BNF no padrão
JavaCC)
JavaCC
Parser (Fontes do compilador para a
linguagem)
CompiladorTexto-Fonte(Descrição
Comportamentos)
Objetos (Comportamentos)(Comportamentos salvos em
arquivos .obj)
![Page 19: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/19.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 19/24
Arquivo de Comportamento
ExpressaoLogica : Condicao
SE
Ação : Então
“OU”
ExpRelacionalLogica
ExpressaoLogica : ExpEsq
ComPoseDaBola()
JogadorNoAngulo(Ângulo)
AnguloDoGol()
valor
ExpRelacionalNumerica
valor valor
LimiteDoCampo(lado)
50
Se
ChutaBola()
Rotina
Rotina
Instanciação de Objeto
Palavra Res. + Instância de Objeto
Ponteiros / Atributos
Leg
enda
String : Operador ExpressaoLogica : ExpDir
ExpRelacionalLogica
ExpressaoLogica : ExpEsq String : Operador ExpressaoLogica : ExpDir
ExpressaoNumerica : Angulo
ExpressaoNumerica : ExpNum
“E”
ExpressaoNumerica : ExpEsq
String : Operador
ExpressaoNumerica : ExpEsq
“<=” ExpressaoNumerica : ExpNum
String : lado
“Lado_Direito”
Float : valorFixo
Float
Stack : comandos
String : nome “Entao”
String : nome “Rot_1”
Stack
ExpressaoLogica : Condicao
ExpRelacionalLogica
ExpressaoLogica : ExpEsq
ComPoseDaBola()
Ação : Então
Se
ChutaBola()
Rotina
Rotina
Stack : comandos
String : nome “Entao”
String : nome “Rot_1”
Stack
ExpressaoLogica : Condicao
ExpRelacionalLogica
ExpressaoLogica : ExpEsq
ComPoseDaBola()
Ação : Então
![Page 20: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/20.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 20/24
Arquitetura do agente
T B
S I
M
Percepção Memória Controle
Co
mp
ortam
entos
Ro
tinas
Comportamento Ativo
Executor Ação
AgenteJogador
![Page 21: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/21.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 21/24
Resultados
• Comparações
• Sobre a plataforma de desenvolvimento Java
• Utilização da ferramenta JavaCC
• Ambiente TeamBots™
![Page 22: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/22.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 22/24
Conclusões
• Objetivo– Linguagem de descrição de comportamentos
– Propriedades• Facilidade de utilização;• Facilmente a implementação de um novo
comando;• Arquitetura de agentes que executa a linguagem;• Agente situado.
![Page 23: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/23.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 23/24
Extensões
a) variáveis e estruturas de dados;
b) funções escritas pelo usuário;c) comunicação entre os jogadores;
d) robôs físicos;e) estender a linguagem para estratégias
globais.
![Page 24: Slide: 1/24dsc.inf.furb.br/arquivos/tccs/apresentacoes/2002-1edsonelmarschlei… · Slide: 6/24 Objetivos Desenvolvimento da linguagem declarativa que permita formalizar comportamentos](https://reader033.fdocumentos.tips/reader033/viewer/2022060408/5f0ff48b7e708231d446b806/html5/thumbnails/24.jpg)
AlunoEdson Elmar Schlei
IX – Semestre BCCMatutino – 12/07/2002
OrientadorJomi Fred Hübner
Slide: 24/24
Fim da apresentação
• Obrigado pela presença de todos ☺