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.

Slides:



Advertisements
Apresentações semelhantes
Python: Entrada e Saída
Advertisements

Python: Funções Claudio Esperança.
Programação em Java Prof. Maurício Braga
Java e OO – Isso é só um roteiro de aula
Paulo Marques Hernâni Pedroso
Prof. Thiago Pereira Rique
Aula 4 – Sumário Linguagem assembly do MAC-1 A pilha
Shell Script Professor: João Paulo
Programação para Engenharia I
Processos no Unix e Linux
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Programas Utilitários Básicos
Rodar XSB Prolog no Unix Shell
Introdução a Linguagem JAVA
Introdução ao JavaScript
Introdução a Programação JAVA
Estrutura de Dados em Java
O Portal do Estudante de Computação
JAVA: Conceitos Iniciais
O Portal do Estudante de Computação
Introdução a linguagem Python
Rodrigo Cristiano Silva
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
JAVA Linguagem Ambiente de Desenvolvimento
Introdução a Java: Classes, métodos e variáveis Eduardo Figueiredo 24 de Março de 2010 POOAula 05.
Programação I Aula 2 (Métodos)
Chamada Remota de Procedimentos
Linguagem de Programação JAVA
Prof. Daniel Aula 03.  Criar Projeto  Criar Pacote  Criando classes  Meu primeiro programa  Compilar  Comentários  Variáveis.
Um Framework Para Testes
Concorrência e Java RMI
JEOPS Java Embedded Object Production System
LPII Professora Lucélia. Pacotes Um pacote em Java é um diretório onde ficam armazenadas uma ou mais classes. Geralmente as classes com a mesma afinidade.
By Ducheno Kelly Centro de Formação São Domingos.
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
3. Introdução à Linguagem C
Implementação Orientada a Objetos – Aula 03
Linguagem de Programação C#
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Java RMI João Gabriel (jggxm).
Aula Prática 4 Monitoria IP/CC (~if669).
Análise Léxica Prof. Alexandre Monteiro
+ Java Básico Aula 1 por Flávio Juvenal. + Histórico Green Project (1991) Desenvolver plataforma para eletrodomésticos inteligentes Tentaram usar C++
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Programação I Aula 1 Prof. Gilberto Irajá Müller Última atualização 2/3/2009.
Linguagem I Strings.
JAVA Sintaxe.
Capítulo 9 Arquivos JAR.
Professor Esp. Diego André Sant’Ana Disciplina: Sistemas Operacionais II Sistemas de Arquivos- Tipo de arquivos – Cap
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Rodar XSB Prolog no Unix Shell Conectar-se em qualquer maquina SunOS5 (ex,Caruaru) Concatenar /home/robocup/solaris/XSB/bin/ na variável de ambiente PATH.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
XSB Prolog Aula de Laboratório. * Conectar ao UNIX(caruaru.cin.ufpe.br de preferencia) * Baixar os arquivos ‘.P’ de /~eaa/prolog para um diretorio acessivel.
XSB Prolog Aula de Laboratório. * Baixar os arquivos ‘.P’ e ‘.ecl’ de ~kss/aula em um diretório acessível pelo unix (subpasta no diretório pessoal). *
RMI Remote Method Invocation
Igor Steinmacher, MSc. Java!!!!
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Ferramentas para desenvolvimento Java
Shell Script Parte 2.
Laboratório de Programação II Método main Dados e Métodos de Classes.
Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Linux – Prática Regiane Kawasaki
Implementação Orientada a Objetos – Aula 09 Pacotes Prof. Danielle Martin Universidade de Mogi das Cruzes
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Implementação Orientada a Objetos – Aula 02 Introdução ao Java Prof. Danielle Martin Universidade de Mogi das Cruzes.
Conhecendo o Ambiente de Programação Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática,
Transcrição da apresentação:

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 pessoal).  Mudar para este diretório  Abrir os arquivos baixados num editor de texto (Context por exemplo)

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!!!

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].

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

Imprimindo na Tela  Imprimindo Strings formatados  fmt_write(formato,args(arg 1,..., arg n  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

Pretty Print  Impressão formatada de classes e Objetos  Imprimir objetos de uma classe   Ex:  Imprimir instâncias e hierarquias  Ex:  Ex:  Imprimir Objeto   Ex:

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

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

JEOPS Aula prática

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 AnimalAquatico.java, Animal.java Local.java, LocalAquatico.java GrupoSafari.java Veiculo.java,VeiculoAquatico.java Pessoa.java, Motorista.java Exemplo1.java

Tutorial: Configurando as ferramentas 1.Criar o diretório \jeops 2.Neste diretório, baixar os arquivos do Jeops de: 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.

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

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

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: Executar o programa de testes: dentro de digitar java safari.Exemplo1

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...

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;

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" "(" ")" |

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