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

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

Flora-2 Aula de Laboratório Arquivo do Exemplo  Baixar os arquivos “safari.flr” de ~apln/aulamci em um diretório acessível pelo unix (subpasta no diretório.

Apresentações semelhantes


Apresentação em tema: "Flora-2 Aula de Laboratório Arquivo do Exemplo  Baixar os arquivos “safari.flr” de ~apln/aulamci em um diretório acessível pelo unix (subpasta no diretório."— Transcrição da apresentação:

1

2 Flora-2 Aula de Laboratório

3 Arquivo do Exemplo  Baixar os arquivos “safari.flr” de ~apln/aulamci em um diretório acessível pelo unix (subpasta no diretório pessoal).  Mudar para este diretório  Abrir os arquivos baixados num editor de texto (Context por exemplo)

4 Executando o Interpretador Flora  Executando o XSB  Conectar-se via ssh a buique.cin.ufpe.br  Mudar para o diretório onde estão os arquivos ‘.P’  Executar  /home/robocup/program_files/linux/XSB/bin/xsb  Carregando o Flora  Interpretador de Flora é carregado como um programa normal do XSB  [flora2].  Shell do Flora:  flora _shell.  Sempre lembrar do ponto no final!!!

5 Shell do Flora  Carregando um programa  ?- [nome_do_programa].  [safari].  Flora é case sensitive!!!  ?- flHelp.  Help do Shell.  Consultando:  Digitar premissas separadas por virgula, seguido de um ponto. Pressionar return para obter o resultado.  ?- G:grupo[animal->A,local->L].

6 Trace  Trace  ?- flTrace.  Ativa o trace sistemático de todos os predicados.  CALL: entrada no predicado/objeto  EXIT: retorno com sucesso  REDO: invocação do mesmo objetivo causado por backtracking  FAIL: não foi possível provar objetivo  ?- flNoTrace  Desativa o trace

7 Imprimindo na Tela  Imprimindo Strings formatados  fmt_write(formato,args(arg 1,..., arg n ))@flora(io).  Formato tem sintaxe similar a println de C: “ numero:%d \n”  %d: inteiro, %s: string, %S: termos  G:grupo[local->L], fmt_write(“Local do %S eh %S \n",args(G,L))@flora(io).

8 Pretty Print  Impressão formatada de classes e Objetos  Imprimir objetos de uma classe  Classe[#pp_class(modulo)]@flora(pp).  Ex: grupo[#pp_class(main)]@flora(pp).  Imprimir instâncias e hierarquias  Ex: Classe[#pp_isa(Modulo)]@flora(pp).  Ex: animal[#pp_isa(main)]@flora(pp).  Imprimir Objeto  Objeto[#pp_self(Modulo)]@flora(pp).  Ex: grupo1[#pp_self(main)]@flora(pp).

9 Exercício  Criar atributo safariValido na classe grupo  Implementar regras que atribuam os valores sim e nao para o atributo  Verificar se o habitat do animal corresponde ao local de caça do grupo  Consultar quais grupos são ou não válidos

10 Finalizando  flHalt  Sai do flora e do XSB  flEnd  Sai do flora  halt  Sai do XSB

11 JEOPS Aula prática

12 Tutorial: Configurando o Exemplo 1.Criar um diretório base no temp da máquina Chamaremos este diretório de ; Não colocar espaços ou caracteres especiais no caminho! 2.Criar o diretório \safari já que as classes estão neste pacote. 3.Baixar no diretório criado o fonte das classes de www.cin.ufpe.br/~bjs/mci/aulaJeops/classes.zip www.cin.ufpe.br/~bjs/mci/aulaJeops/classes.zip AnimalAquatico.java, Animal.java Local.java, LocalAquatico.java GrupoSafari.java Veiculo.java,VeiculoAquatico.java Pessoa.java, Motorista.java Exemplo1.java

13 Tutorial: Configurando as ferramentas 1.Criar o diretório \jeops 2.Neste diretório, baixar os arquivos do Jeops de: http://www.cin.ufpe.br/~jeops/v21/download.html...ou daquidaqui 3.Configurar o prompt do MS-DOS para Java Ajustar o path: set path=%path%; \bin; Ajustar o classpath: set classpath=%classpath%; ; \jeops\JEOPS.jar ; \jeops\JeopsRE.jar Importante: Não deve haver espaços em branco no path ou classpath, pois podem causar problemas no reconhecimento dos diretórios especificados nessas variáveis.

14 Tutorial: Compilando as classes 1.Compilar as classes: a partir de, digitar no prompt: javac safari/.java O Exemplo1.java não compilará por causa da base que ainda não existe. 2.Dica: Comentar a parte do Exemplo1.java que se refere à base. Compilar usando javac safari/*.java

15 Tutorial: Criando a base de regras 1.Baixar o arquivo de regras para \safari: Baixar daqui o SafariRulesReduzido.rulesdaqui 2.Executar o JEOPS: dentro de, digitar no prompt: java jeops.compiler.Main safari/SafariRulesReduzido.rules Será criado um arquivo.java para essa base de regras

16 Tutorial: Rodando o exemplo 1.Compilar as classes: dentro de, digitar no prompt: javac safari/*.java Não esquecer de reativar as chamadas à base de regras no exemplo! 2.Obs.: No j.d.k 1.4.1a palavra assert é reservada da linguagem. Neste caso existe uma versão de Jeops que usa tell no lugar de assert para baixar em: http://www.cin.ufpe.br/~jeops/v21/aulas/JEOPS_TELL.zip http://www.cin.ufpe.br/~jeops/v21/aulas/JEOPS_TELL.zip 3.Executar o programa de testes: dentro de digitar java safari.Exemplo1

17 Exercício 1.Criar uma classe para veículos terrestres O veículo pode se locomover em locais fechados ou não 2.Criar uma classe para locais terrestres O local pode ser fechado ou não  Locais abertos: savanas, desertos...  Locais fechados: florestas sem trilha, mangues, pântanos...

18 Exercício 3.Criar uma regra que insere o veículo terrestre no grupo; Observar se o grupo já tem veículo; Observar se o local é aberto ou não e se o veículo corresponde a esta característica; 4.Alterar o código de Exemplo1 para que a regra seja disparada;

19 Referências: Regras JEOPS n Rule ::= "rule" "{" "}" n Rule Body ::= ? n Declarations ::= "declarations" ( ("," )* )* n Local Declarations ::= "localdecl" ( "=" )* n Conditions ::= "conditions" ( )* n Actions ::= (Action)+ n Action ::= "assert" "(" ")" | "retract" "(" ")" | "modified" "(" ")" |

20 Referências: Regras JEOPS package safari; public ruleBase RuleBaseDefinida { rule nome_regra { declarations... conditions... actions... } rule nome_regra2 {... }... }


Carregar ppt "Flora-2 Aula de Laboratório Arquivo do Exemplo  Baixar os arquivos “safari.flr” de ~apln/aulamci em um diretório acessível pelo unix (subpasta no diretório."

Apresentações semelhantes


Anúncios Google