UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani...

105
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DE COMPUTAÇÃO SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF por Giovani Marin Anita Maria da Rocha Fernandes, Dra. Orientadora São José, julho/2014

Transcript of UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani...

Page 1: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

UNIVERSIDADE DO VALE DO ITAJAÍCENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DE COMPUTAÇÃO

SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF

por

Giovani Marin

Anita Maria da Rocha Fernandes, Dra.

Orientadora

São José, julho/2014

Page 2: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

ii

UNIVERSIDADE DO VALE DO ITAJAÍCENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF

Giovani Marin

São José, julho/2014

Orientadora: Anita Maria da Rocha Fernandes, Dra.

Área de Concentração: Inteligência Artificial

Linha de Pesquisa: Sistema Especialista

Palavras-chave: Inteligência Artificial. Sistema Especialista. Surf. Diagnóstico de formação de ondas.

Número de páginas: 105

RESUMO

A composição geográfica do litoral catarinense mostra-se favorável à prática do surf, porém não há disponível um método de diagnóstico e previsão de ondas automatizadas até o momento. Este estudo propôs o desenvolvimento de um software que realize tal tarefa por meio da utilização da técnica de Inteligência Artificial (IA) denominada Sistema Especialista. Para o desenvolvimento do projeto adotou-se a pesquisa bibliográfica com o intuito de buscar os melhores conceitos de IA a serem aplicados no desenvolvimento do software, além de levantar itens que influenciem no diagnóstico das características das ondas. O desenvolvimento deste software apontou que é possível realizar o diagnóstico das ondas por meio da combinação entre o conhecimento de especialistas na área e a tecnologia computacional. Os resultados obtidos com este estudo mostraram 57% de assertividade do tipo convergente, ou seja, exatamente o previsto, entre os diagnósticos disponíveis atualmente e aqueles realizados pelo software desenvolvido por meio deste estudo. Além disso, obteve-se 34% de diagnósticos considerados aproximados, em virtude da diferença de horários entre a disponibilização dos boletins eletrônicos e os dados meteorológicos. Logo, se futuramente forem realizados em horários idênticos, podem passar a serem diagnósticos convergentes.

Page 3: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

iii

ABSTRACT

The geographical composition of the shoreline in Santa Catarina (Brazil) has shown to be favorable to surfing activities; however, there is not an automatic method for diagnosis and wave forecast available until this day. This study proposes to develop a software which is able to do such activity using Artificial Intelligence (IA) technique named as Expert System. A bibliographical research was performed with the purpose of finding the best AI concepts to be applied at software development, as well as pointing out items which influence the diagnosis of wave characteristics. The software development showed that it is possible to perform the diagnosis of wave formation considering the combination between the knowledge of experts and computer technology. The obtained results showed 57% of assertiveness in the convergent type, that means, exactly as predicted, among the electronic diagnoses provided nowadays and the ones performed by this software. Other than that, 34% of the diagnoses were considered approximate, because of the time difference between electronic diagnoses available and the weather forecast. So, if in the future, the diagnoses be performed at the exact same time, these results might be considered as convergent diagnoses.

Key-words: Atificial Intelligence. Expert System. Surfing. Wave formation diagnosis.

Page 4: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

iv

LISTA DE TABELAS

Tabela 1. Análise de características ....................................................................................................15Tabela 2. Dimensão das ondas ...........................................................................................................27Tabela 3. Variáveis e seus possíveis valores .......................................................................................44Tabela 4. Características dos trabalhos relacionados...........................................................................45Tabela 5. Dados cadastrais da praia da Joaquina.................................................................................78Tabela 6. Dados cadastrais da praia da Mole (centro) .........................................................................79Tabela 7. Dados cadastrais da praia da Mole (canto norte)..................................................................80Tabela 8. Resultados comparativos.....................................................................................................80

Page 5: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

v

LISTA DE FIGURAS

Figura 1: Exemplo de site de previsões meteorológicas ......................................................................11Figura 2: Exemplo de site de boletim visual .......................................................................................12Figura 3: Exemplo de site misto .........................................................................................................13Figura 4: Exemplo de site de broadcasting .........................................................................................14Figura 5: Dispersão radial ..................................................................................................................25Figura 6: Exemplo de combinação de duas ondulações ......................................................................26Figura 7: Rebentação das ondas .........................................................................................................26Figura 8: Nomenclatura dos componentes de uma onda (Legenda: 1 Espuma; 2 Lábio; 3 Bolsa; 4

Crista; 5 Base; 6 Parede; 7 Ombro; 8 Sentido da rebentação; 9 Zona de impacto) .......................27Figura 9: Tipos de rebentação ............................................................................................................28Figura 10: Imagem dos tipos de rebentação........................................................................................29Figura 11: Refração na areia...............................................................................................................31Figura 12: Refração no promatório.....................................................................................................32Figura 13: Componentes do fundo......................................................................................................32Figura 14: Exemplo da configuração do fundo, Bingin Reef, Bali, Indonésia .....................................33Figura 15: Componentes de um SE ....................................................................................................39Figura 16: Estrutura de um SE ...........................................................................................................40Figura 17: Arquitetura de um SE com módulos adicionais..................................................................40Figura 18: Fluxo da informação do sistema ........................................................................................51Figura 19: Estrutura de pacotes ..........................................................................................................54Figura 20: Diagrama da classe Alimentador .......................................................................................55Figura 21: Diagrama da classe ParseWatherToObject ........................................................................55Figura 22: Diagrama das classes de mapeamento do World Weather Online ......................................56Figura 23: Diagrama da classe Diagnosticador ...................................................................................56Figura 24: Diagrama das classes de modelo........................................................................................57Figura 25: Tela de manutenção de estados..........................................................................................57Figura 26: Tela de manutenção de cidades .........................................................................................58Figura 27: Tela de visualização das praias cadastradas .......................................................................58Figura 28: Formulário de cadastro de praia.........................................................................................59Figura 29: Tela de visualização de previsões ......................................................................................59Figura 30: Tela de visualização de dados meteorológicos...................................................................60Figura 31: Tela de visualização de diagnósticos .................................................................................60Figura 32: Tela de visualização de detalhes de diagnósticos ...............................................................60Figura 33: Modelo de dados relacional...............................................................................................61Figura 34: Diagrama de sequencia da rotina principal ........................................................................62Figura 35: Rational Unified Process ...................................................................................................62Figura 36: Estrutura do DE.................................................................................................................65Figura 37: Mapa mental da textura do mar .........................................................................................71Figura 38: Mapa mental do tamanho da onda .....................................................................................72Figura 39: Refração da ondulação entrando na diagonal .....................................................................73Figura 40: Reflexo de ondas...............................................................................................................73Figura 41: Representação do efeito de sombra....................................................................................74Figura 42: Mapa mental da formação da onda ....................................................................................76Figura 43: Template do diagnóstico....................................................................................................77Figura 44: Praia da Joaquina ..............................................................................................................78

Page 6: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

vi

Figura 45: Praia Mole (centro) ...........................................................................................................79Figura 46: Praia Mole (canto norte)....................................................................................................80Figura 47: Percentual de assertividade................................................................................................82

Page 7: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

vii

LISTA DE ABREVIATURAS E SIGLAS

BC Base de ConhecimentoBPM Bussiness Process ManagingCEP Complex Event ProcessCPTEC Centro de Previsão de Tempo e Estudos ClimáticosCRUD Create, Read, Update, DeleteDAO Data Access ObjectDE Drools ExpertGFS Global Forecast SystemHTTP Hypertext Transfer ProtocolIA Inteligência ArtificialIDE Integrated Development EnvironmentJ2ME Java 2 Micro EditionJAXB Java Architecture for XML BindingJDK Java Developer KitJSF Java Server FacesJSON JavaScript Object NotationMI Motor de InferênciaMT Memória de TrabalhoMVC Model, view e controlREF Requisito funcionalREN Requisito não funcionalRP Regras de produçãoRUP Rational Unified ProcessSE Sistema EspecialistaSGDB Sistema Gerenciado de Banco de DadosSQL Structured Query LanguageTCC Trabalho de Conclusão de CursoUNIVALI Universidade do Vale do ItajaíXML eXtensible Markup LanguageW3C World Wide Web ConsortiumWCT World Championship TourWSDL Web Services Description Language

Page 8: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

viii

SUMÁRIO

INTRODUÇÃO ........................................................................................ 101.1 PROBLEMA DE PESQUISA........................................................................ 101.1.1 Solução Proposta .......................................................................................... 151.1.2 Delimitação de Escopo ................................................................................. 161.1.3 Justificativa .................................................................................................. 161.2 OBJETIVOS................................................................................................... 181.2.1 Objetivo Geral.............................................................................................. 181.2.2 Objetivos Específicos ................................................................................... 181.3 METODOLOGIA........................................................................................... 181.3.1 Metodologia da Pesquisa.............................................................................. 181.3.2 Procedimentos Metodológicos ..................................................................... 191.4 ESTRUTURA DO TRABALHO ................................................................... 21

2 FUNDAMENTAÇÃO TEÓRICA...................................................... 222.1 SURF ............................................................................................................... 222.1.1 Definição....................................................................................................... 232.1.2 Ondas............................................................................................................ 242.1.3 Estrutura da onda ........................................................................................ 272.1.4 Classificação ................................................................................................. 282.1.5 Direção da ondulação................................................................................... 292.1.6 Estrutura da costa........................................................................................ 302.1.7 Marés ............................................................................................................ 342.1.8 Vento............................................................................................................. 342.2 SISTEMA ESPECIALISTA .......................................................................... 352.2.1 Conceitos....................................................................................................... 362.2.2 Características.............................................................................................. 372.2.3 Classificação ................................................................................................. 382.2.4 Componentes ................................................................................................ 392.2.5 Conhecimento............................................................................................... 422.3 CONSIDERAÇÕES ....................................................................................... 44

3 TRABALHOS RELACIONADOS .................................................... 453.1 TRABALHOS RELACIONADOS AO NEGÓCIO...................................... 463.1.1 IN PARADISE.............................................................................................. 463.1.2 WINDGURU ................................................................................................ 463.1.3 WAVES......................................................................................................... 473.1.4 Veja ao vivo .................................................................................................. 473.2 TRABALHOS RELACIONADOS À TECNOLOGIA................................. 483.2.1 Sistema Especialista para apoio a paramédicos ......................................... 483.3 ANÁLISE COMPARATIVA......................................................................... 48

Page 9: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

ix

3.4 CONSIDERAÇÕES ....................................................................................... 50

4 DESENVOLVIMENTO...................................................................... 514.1 VISÃO GERAL DO SISTEMA..................................................................... 514.2 ANÁLISE DE REQUISITOS ........................................................................ 524.2.1 Requisitos Funcionais .................................................................................. 524.2.2 Requisitos não Funcionais ........................................................................... 524.2.3 Regras de Negócio ........................................................................................ 524.3 MODELAGEM DO SISTEMA ..................................................................... 534.3.1 Diagramas de Classe .................................................................................... 534.3.2 Telas do sistema............................................................................................ 574.3.3 Modelagem de banco de dados relacional................................................... 614.3.4 Diagrama de sequencia da rotina principal................................................ 614.4 DETALHAMENTO DO DESENVOLVIMENTO ....................................... 624.5 ENGENHARIA DO CONHECIMENTO ..................................................... 684.5.1 Entrevista...................................................................................................... 694.5.2 Extração do conhecimento........................................................................... 704.6 DESCRIÇÃO DOS EXPERIMENTOS ........................................................ 774.7 RESULTADOS............................................................................................... 80

5 CONCLUSÕES.................................................................................... 835.1 TRABALHOS FUTUROS ............................................................................. 84

REFERÊNCIAS BIBLIOGRÁFICAS................................................... 86APÊNDICE A........................................................................................................ 90APÊNDICE B........................................................................................................ 97

Page 10: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

10

INTRODUÇÃO

Atualmente, Santa Catarina está na rota de um dos principais circuitos do surf mundial, o WCT

(World Championship Tour), o que contribui para que o estado seja uma referência quando se fala do

esporte. A exemplo disso, atletas como Teco Padaratz e Guga Arruda são representantes do surf e do

estado conhecidos nacionalmente. Com um litoral de aproximadamente 500 km de extensão composto

por belas paisagens e praias, a prática do surf já se tornou parte integrante da cultura de Santa Catarina.

Em algumas praias, é possível encontrar escolas para os interessados em aprender a surfar,

visto que possuem águas mais calmas. Já em praias de mar aberto, as quais exigem mais preparo e

experiência do atleta, os surfistas estão presentes sempre que possível. Como exemplo disso, segundo

Moreira (2007), a qualidade da rebentação está diretamente relacionada à direção da ondulação,

estrutura da costa, marés e ventos. Assim, constata-se que não só há diferenças entre as praias, como

essas distinções influenciam diretamente a prática do esporte. Como agravante da dificuldade de

praticar o esporte, os atletas dependem não somente dessas variáveis, mas também, das combinações

possíveis entre elas e seu real resultado final.

Um nível de conhecimento mínimo da combinação dessas variáveis é necessário ao atleta e/ou

especialista para que haja um diagnóstico da condição das ondas. Esse atleta/especialista analisa as

características e agrega o diagnóstico visual para, respectivamente, decidir se entrará ou não no mar e

emitir um parecer para os boletins.

1.1 PROBLEMA DE PESQUISA

Como poucos podem estar próximo ao mar para analisá-lo, algumas alternativas foram

disponibilizadas para os surfistas a fim de evitar o deslocamento desnecessário. Entre as alternativas

para obtenção de diagnóstico de ondas está o boletim via rádio em horários específicos, como o

divulgado pela rede Atlântida (100.9 FM) de Florianópolis, em que um especialista descreve o mar e

dá sua opinião sobre a condição atual e prevista. Existem ainda sites especializados em disponibilizar

estes boletins, variando a forma como é apresentada a informação, sendo eles:

Site de Previsões Meteorológicas: apesar das informações meteorológicas

disponibilizadas, o usuário é quem precisa analisar e fazer um diagnóstico através dos

números apresentados. Como exemplo tem-se o WINDGURU.

Page 11: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

11

Este método é o que mais se aproxima do proposto neste trabalho, porém ele não faz

diagnóstico algum, apenas disponibiliza as informações meteorológicas, conforme apresentado na

Figura 1, e o trabalho que existe é o de atualização dos dados e formatação destes, o qual é feito

computacionalmente.

Figura 1: Exemplo de site de previsões meteorológicas

Fonte: WINDGURU (2012)

Site de boletim visual: apresenta fotos da praia, com informações descritivas e um breve

diagnóstico das condições para a prática. Como exemplo tem-se o IN PARADISE.

Page 12: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

12

Com a apresentação de vídeos e fotos das praias do leste de Florianópolis, o site IN

PARADISE apresenta uma proposta abrangente referente a boletins de ondas, porém limitada a três

praias. São dois boletins diários, diagramados conforme a Figura 2, um ao amanhecer e outro no início

da tarde, sem compromisso de horário. Esses boletins, comparados aos existentes, são os mais

completos devido à quantidade recursos visuais disponibilizados. Para obtenção das fotos e vídeos e

realização do diagnóstico, o responsável desloca-se até a praia, posteriormente publicando o conteúdo

no site e descrevendo um diagnóstico de forma não computacional.

Figura 2: Exemplo de site de boletim visual

Fonte: IN PARADISE (2014)

Page 13: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

13

Site misto: apresenta fotos e as informações meteorológicas, além de uma descrição do

diagnóstico, conforme exemplo da Figura 3 que apresenta o WAVES.

Figura 3: Exemplo de site misto

Fonte: WAVES (2014)

Page 14: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

14

Site de Broadcasting: oferece uma transmissão ao vivo da praia, para que o usuário

visualize e diagnostique a formação das ondas, conforme exemplo da Figura 4 que

apresenta o VEJA AO VIVO.

Figura 4: Exemplo de site de broadcasting

Fonte: VEJA AO VIVO (2014)

A proposta deste TCC visa suprir alguns dos pontos fracos dos boletins visuais, que são a

desatualização de diagnósticos das condições do mar e, o custo e logística envolvidos para a cobertura

de novas praias. Com a câmera 24hs transmitindo imagens da praia, por mais que o diagnóstico esteja

desatualizado, é possível ver imagens ao vivo da praia. Em contrapartida, os equipamentos que ficam

na praia necessitam de um cuidado especial, além do custo com a transmissão dos dados, fazendo com

que a multiplicação deste método se torne de alto custo.

Se analisadas as técnicas atualmente utilizadas, todas elas apresentam alguns obstáculos e

limitações os quais podem ser categorizados conforme disposto na Tabela 1.

Page 15: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

15

Tabela 1. Análise de características

Característica Site de vídeo Site de boletim visual ou misto

Site de Previsões Meteorológicas

TCC

Segurança de equipamentos

Câmeras suscetíveis a furto

Nenhum risco Nenhum risco Nenhum risco

Custos Diretos Alto Alto Baixo BaixoAtualização Constantemente

atualizado.Dois boletins diários (6h e 12h).

Atualizado de acordo com a alimentação automática

Atualizado de acordo com a alimentação automática

Diagnóstico Depende do conhecimento de quem visualiza a transmissão.

De acordo com o especialista que analisou.

Depende do conhecimento de quem visualiza as informações.

De acordo com as regras

Abrangência Proporcional ao investimento em câmeras

Limitada à mão de obra disponível

Dependente da alimentação das informações marítimas da praia.

Dependente da alimentação das informações marítimas da praia.

1.1.1 Solução Proposta

A proposta deste trabalho é o desenvolvimento de um Sistema Especialista (SE) diagnosticador

das ondas para a prática do surf. Como base conceitual para o SE, o trabalho visa utilizar a teoria de

Perotto (2000 apud MATTOS et al, 2002 p. 1), em que os “[...] sistemas tem como base o

conhecimento de especialistas, chegando às mesmas conclusões que estes chegariam à resolução de

problemas semelhantes, essa representação permite a modelagem do conhecimento para forma

computacional”.

Para tal, o analisador inteligente tem um módulo alimentador que buscará dados

disponibilizados por um conjunto de web services, que segundo a W3C (2014), é um software

designado a suportar a operabilidade entre aplicações através de uma rede. O software provedor tem

uma interface que descreve o formato, geralmente um WSDL (Web Services Description Language).

O outro sistema, o consumidor, interage com o web service processando as mensagens recebidas,

geralmente em tecnologias padrão de internet, como XML (eXtensible Markup Language) ou JSON

(JavaScript Object Notation) serializado via protocolo HTTP (Hypertext Transfer Protocol).

Este conjunto de web services é composto pelo web service do Centro de Previsão de Tempo e

Estudos Climáticos (CPTEC) e o web service do World Weather Online, serviço pago orientado à

longitude e latitude.

Segundo Lucci (1997 apud SCHWALBE, 1999, p. 26), “[...] as condições atmosféricas podem

mudar de um instante para o outro ou dentro de poucas horas, e nesse caso o tempo já não será o

Page 16: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

16

mesmo”. Com isso, o módulo alimentador irá se adaptar a estas alterações, registrando assim as

previsões e as condições reais do tempo.

Em um segundo módulo, os dados registrados são submetidos a uma série de regras: em um

primeiro momento coletadas em entrevistas com especialistas no esporte e estudos científicos. A

submissão desses dados às regras coletadas terá como objetivo a realização de um diagnóstico mais

próximo possível das reais condições das ondas para a prática do surf

1.1.2 Delimitação de Escopo

O escopo deste trabalho engloba um sistema web desenvolvido na linguagem JAVA que

permita (1) cadastrar novas praias; (2) buscar dados meteorológicos disponíveis na internet para cada

uma delas; (3) submeter estes dados a um sistema especialista; e (4) prover diagnósticos específicos

para a prática do surf, citando características próprias, tais como: formação da onda, textura do mar,

entre outros, para cada praia cadastrada e seu respectivo conjunto de dados.

No entanto, o escopo do trabalho não prevê a adição automática de novos provedores de dados

ou a adição dinâmica de novas regras ao sistema especialista. A edição manual de diagnósticos

também não está prevista.

1.1.3 Justificativa

Com base na consulta realizada sobre os métodos disponíveis para a previsão de ondas,

constataram-se deficiências que motivam o desenvolvimento do método proposto neste trabalho.

Quanto ao método de broadcasting, ao passo que disponibiliza visualização 24 horas da praia, em

contrapartida existe uma preocupação com os equipamentos de transmissão das imagens, além do

custo e manutenção dos mesmos.

Tanto o método de broadcasting quanto o método de boletim visual geram custo diretamente

proporcional à quantidade de praias cobertas pelos métodos. Assim, o custo com a transmissão de

dados e/ou deslocamento do responsável por obter as imagens da praia aumenta juntamente com o

número de praias que serão diagnosticadas. Portanto, este é um limitador da elasticidade de cobertura

de praias, visto que para maior abrangência, os mantenedores de boletins teriam obrigatoriamente um

custo maior, possivelmente tornando inviável o diagnóstico de todas as praias onde a prática do surf é

possível.

Page 17: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

17

Outra deficiência presente no método de boletim visual é a atualização, pois caso as condições

das ondas mudem no intervalo entre boletins, estes estarão diferentes da condição real. A atualização

dos boletins na solução proposta visa ser orientada a disponibilidade dos dados meteorológicos, sendo

assim, a cada nova remessa de dados fornecidos pelo módulo alimentador, um novo diagnóstico é

realizado.

Além das deficiências encontradas nos métodos atuais, outros fatores motivaram a formulação

da solução proposta, tais como o ineditismo no Brasil e a elasticidade de cobertura de praias. Quanto

ao ineditismo no Brasil, a proposta é caracterizada de tal forma por não haver outro trabalho

envolvendo previsão de ondas para a prática do surf com o uso de técnicas de Inteligência Artificial

(IA) no meio científico nacional. No entanto, existe uma tese de mestrado publicada pelo Instituto

Superior Técnico de Lisboa escrita pelo pesquisador Nelson Luna Silvestre e publicada em 2007. Até a

presente data a tese não esta presente por meio eletrônico, apenas fisicamente na biblioteca da

universidade onde foi publicada, por ainda não há como explicar o grau de similaridade entre os

trabalhos, mas os objetivos são semelhantes. Já no que permeia a elasticidade de cobertura de praias,

como o propósito da solução é definir regras baseadas nas características topográficas de cada praia,

consequentemente, praias semelhantes topograficamente poderão ser submetidas às mesmas regras.

O trabalho é classificado como de alta complexidade, pois envolve variáveis não controladas,

que são: a obtenção das regras e a confiabilidade das mesmas. Estas regras serão obtidas por meio de

literaturas relacionadas ao surf e entrevistas com especialistas sem comprovação científica de sua

experiência, mas que possuem conhecimento tácito e arraigado na comunidade praticante do esporte.

A solução proposta é viável quanto à estruturação dos módulos sugeridos, porém fica

diretamente dependente da obtenção, validação e volume de regras, bem como o histórico de dados

meteorológicos e diagnósticos assertivos armazenados no sistema.

Page 18: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

18

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo geral do trabalho é automatizar diagnósticos das condições atuais e futuras das

ondas para a prática do surf através da criação de um Sistema Especialista.

1.2.2 Objetivos Específicos

São objetivos específicos deste trabalho:

Analisar as variáveis envolvidas direta e indiretamente na prática do surf;

Criar uma base de conhecimento a partir da engenharia do conhecimento;

Estabelecer a inter-relação das variáveis;

Implementar o sistema como um todo; e

Validar e testar o sistema.

1.3 METODOLOGIA

Para a realização desse trabalho foi feita uma pesquisa bibliográfica voltada para o surf,

englobando a fundamentação do esporte, sua plataforma de execução, o mar, os fatores e

características que influenciam na formação da onda. Também foi feita uma pesquisa bibliográfica

para a técnica de Inteligência Artificial envolvida no trabalho, SE, para que uma fundamentação

teórica sobre as mesmas seja descrita e seja explícito o relacionamento de cada uma delas com a

solução proposta. Como o trabalho envolve a captação e documentação de um conhecimento que hoje

pertence aos especialistas e não está documentado, este foi realizado através de entrevistas e pesquisas

exploratórias em trabalhos científicos.

1.3.1 Metodologia da Pesquisa

Enquanto método científico, o trabalho fez uso do método hipotético-dedutivo, visto que, uma

vez definido o problema de pesquisa, definiu-se a técnica computacional, neste caso um Sistema

Especialista, para emprego na solução do problema (hipótese) com o intuito de investigar se a escolha

atende a demanda (dedução).

Page 19: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

19

Sob o ponto de vista de sua natureza este trabalho pode ser considerado como pesquisa

aplicada, visto que a proposta do estudo é levantar práticas para solucionar um problema específico,

uma vez encontrada a solução, mesmo que parcial este tende a gerar conhecimento na comunidade

científica para aplicação em outros casos de natureza semelhante.

Sob o ponto de vista da forma de abordagem do problema este TCC possui uma etapa de

pesquisa qualitativa contemplada, pois o levantamento de conceitos computacionais que pudessem

solucionar o problema de pesquisa foi necessário. Em uma segunda etapa, o trabalho faz uso de

abordagem baseada em pesquisa qualitativa, uma vez que trata as entrevistas com especialistas para

levantamento regras para promover experimento entre causa e efeito.

Sob o ponto de vista de seus objetivos este trabalho pode ser considerado como pesquisa

exploratória, no âmbito do levantamento de informações sobre formação de ondas, itens que atuem

diretamente sobre as mesmas e/ou influenciam-nas. A fase exploratória também foi utilizada para

pesquisa de técnicas computacionais adequadas para solução do problema.

1.3.2 Procedimentos Metodológicos

Os procedimentos metodológicos utilizados foram a pesquisa bibliográfica, a pesquisa

exploratória, a metodologia de análise e projeto de sistemas, bem como a metodologia de

implementação, testes e validação do sistema.

1.3.2.1 Pesquisa bibliográfica

Inicialmente pesquisaram-se trabalhos relacionados ao tema, e possíveis linhas de pesquisas

existentes com os mesmos objetivos. Em um segundo momento, buscou-se trabalhos científicos

voltados para o surf, independente de previsão, com o intuito de um aprofundamento teórico e

compreensão do esporte e nas variáveis que o cercam, possibilitando assim um maior senso crítico

para a definição das regras.

A pesquisa bibliográfica se estendeu à fundamentação do Sistema Especialista, módulo do

sistema que gerencia as regras documentadas e submete os dados meteorológicos para obtenção do

diagnóstico.

Page 20: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

20

1.3.2.2 Pesquisa exploratória (entrevistas)

Segundo Boni e Quaresma (2005, p. 70),

[...] o ponto de partida de uma investigação científica deve basear-se em um levantamento de dados. Para esse levantamento é necessário, num primeiro momento, que se faça uma pesquisa bibliográfica. Num segundo momento, o pesquisador deve realizar uma observação dos fatos ou fenômenos para que ele obtenha maiores informações e num terceiro momento, o pesquisador deve fazer contatos com pessoas que possam fornecer dados ou sugerir possíveis fontes de informações úteis.

Portanto, para contemplar o terceiro momento da investigação científica, este trabalho coletou

dados e regras que compuseram o motor de inferência por meio de entrevista com praticantes experientes,

“gurus” do esporte, surfistas aposentados, analistas e divulgadores de boletins, os quais detêm o

conhecimento sobre o comportamento do mar voltado para a formação da onda para a prática do surf.

Conforme Haguette (1997, p. 86), entrevista é um “processo de interação social entre duas

pessoas na qual uma delas, o entrevistador, tem por objetivo a obtenção de informações por parte do outro,

o entrevistado”. No TCC, a etapa em que se refere à extração da informação por meio da entrevista será a

que oferece o maior grau de incerteza, por isso a preparação da mesma é de fundamental importância e

exigem alguns cuidados como o planejamento, que visa os objetivos a serem alcançados; a escolha,

disponibilidade e confidência da identidade dos entrevistados; e a preparação específica do roteiro ou

formulário com as questões (LAKATOS; MARCONI, 1996).

Dentre os tipos de entrevista disponíveis para pesquisas científicas, aquele que melhor se enquadra

para o TCC é a entrevista semi-estruturada, uma vez que “O pesquisador deve seguir um conjunto de

questões previamente definidas, mas ele o faz em um contexto muito semelhante ao de uma conversa

informal” (BONI; QUARESMA, 2005, p. 75).

Para Manzini (1990/1991, p. 154 apud MANZINI, 2004), “a entrevista semi-estruturada está focalizada

em um assunto sobre o qual confeccionamos um roteiro com perguntas principais, complementadas por outras

questões inerentes às circunstâncias momentâneas à entrevista. Para o autor, esse tipo de entrevista pode fazer

emergir informações de forma mais livre e as respostas não estão condicionadas a uma padronização de

alternativas”.

Manzini (2003) cita alguns cuidados que o pesquisador deve ter ao formular as perguntas: quanto (1) à

linguagem; (2) à forma das perguntas; e (3) à sequência das perguntas. O item (3) é de grande relevância para a

entrevista deste trabalho, uma vez que existe uma relação de dependência direta entre as perguntas.

Page 21: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

21

1.4 ESTRUTURA DO TRABALHO

Este trabalho é composto por cinco capítulos. O primeiro capítulo é introdutório, explanando

sobre o problema de pesquisa, a solução proposta com suas limitações e a justificativa. Dentro deste

capítulo também há os objetivos gerias e específicos do trabalho, assim como a metodologia utilizada.

O segundo capítulo é responsável pela fundamentação teórica do trabalho, onde o estado da

arte, neste caso o surf e a formação da onda para sua prática é conceituado, juntamente com a técnica

utilizada, neste caso sistema especialista.

O 3º capítulo faz um comparativo de trabalhos relacionados. Primeiramente trabalhos

relacionados ao negócio, independente de tecnologia, ou seja, serviços que de alguma forma se

relacionam com o proposto no TCC, dos mais variados âmbitos. Ainda neste capítulo há um

comparativo com trabalhos relacionados com a tecnologia, onde sistemas especialistas que foram

desenvolvidos para outros contextos são comparados ao desenvolvido.

Detalhes do desenvolvimento são apresentados no quarto capítulo. Após apresentar uma visão

geral do sistema, requisitos funcionais, não funcionais e regras de negócio compõem o subcapítulo de

análise, assim como a modelagem do sistema apresenta os diagramas elaborados, telas do sistema e

estrutura do bando de dados e as tecnologias utilizadas para o desenvolvimento são citadas.

Complementando esse capítulo a engenharia do conhecimento á apresentada com a aplicação prática

do que foi fundamentado na metodologia do capítulo introdutório, mostrando como foi elaborada a

entrevista e a extração do conhecimento, resultante da execução desta. Por fim, este capítulo é

finalizado com a descrição dos experimentos realizados e seus resultados.

O último capítulo descreve as conclusões deste trabalho, discutindo sobre as experiências e

obstáculos encontrado no decorrer do trabalho e cita as oportunidades e possíveis incrementos para

trabalhos futuros.

Page 22: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

22

2 FUNDAMENTAÇÃO TEÓRICA

A fundamentação teórica abordará o surf como esporte, explicando seus conceitos e relação

com o mar, local onde o mesmo é exercido. Após será explicado a formação das ondas, sua estrutura e

origem e características que influenciam diretamente para a prática o surf.

Depois de explicado o estado da arte, uma abordagem de sistema especialista será feita,

acompanhada de conceitos de probabilidade, finalizando com a relação entre ambos, resultando na

fundamentação de um sistema especialista.

2.1 SURF

O surf é um dos esportes classificados como praticado na natureza e, consequentemente

dependente desta. Conforme Bessy e Mouton (2004, p. 57 apud MOREIRA, 2007), “Inicialmente, na

segunda metade do século dezenove, o termo utilizado era actividades de ar livre (“plein air”), tendo

como principal ideia o exercício em meio natural, com um ambiente saudável”. Assim encara-se este

momento como o início do surgimento de movimentos defendendo o retorno à natureza, ou mesmo, o

“interesse ecológico, tendo como objetivo a conservação e equilíbrio da mesma” (MOREIRA, 2007, p.

58).

O esporte apresenta basicamente duas dependências: a proximidade física do participante no

local para o surf, e as condições, sendo elas favoráveis ou não. Segundo Moreira (2007), no ano de

1988, em Portugal, um programa nacional de educação física sugeriu atividades de exploração à

natureza em algumas escolas. De acordo com a condição geográfica, às escolas próximas ao litoral

foram designadas atividades aquáticas, enquanto às escolas afastadas do litoral, montanhismo.

Já a segunda dependência pode ser justificada pela definição de Almada (1992 apud

MOREIRA, 2007), em que o autor classifica o surf como atividade de adaptação ao meio, visto que se

distingue “da dos grandes espaços por se conhecerem à priori o tipo de condições que poderão ser

encontradas”. Ainda surge outro termo, conforme apresentado por Moreira (2007, p. 61):

denominado por Marimon (2004) como “sistemas praxiológicos adaptativos, onde a dominante é a adaptação da conduta dos praticantes, à incerteza do meio físico, através da análise dos indícios de alteração do meio, de forma a antecipar os acontecimentos”. Esta denominação deixa clara a variabilidade que existe em torno do meio em que o esporte é praticado, diferenciando atletas que conseguem decifrar os padrões e adaptarem-se aos comportamentos que fogem destes.

Page 23: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

23

Moreira (2007 p. 62) ainda reforça esta ideia dizendo que:

não há dúvida que os desafios e as metas a ultrapassar são impostos pela natureza, muitas vezes de uma forma aleatória. Portanto o principal confronto é efetuado entre o Homem e a Natureza (Almada, 1992; Araújo, 1983), sendo necessária uma constante adaptação dos gestos, em função das alterações do envolvimento (Lacroix, 1985), independentemente de existirem adversários.

Inventado na Polinésia e desenvolvido nas ilhas Havaianas, o surf, como é conhecido

atualmente, teve sua origem por volta do século XI. O europeu, representado pelo Capitão James

Cook, teve o primeiro contato com o surf em 1778, porém este só é reconhecido como esporte e estilo

de vida após a Primeira Guerra Mundial, resultado da expansão no início do século XX (KAMPION;

BROWN, 1998; WARSHAW, 2003 apud MOREIRA, 2007).

O primeiro campeonato de surf foi realizado em 1964, em Manly, Austrália, marco no esporte,

que despertou para a evolução técnica, consequência de pranchas menores e mais leves, aparecimento

de acessórios como o leash, nacionalmente conhecida como cordinha, permitindo mais tempo de

prática e segurança, aumento de quilhas e aerodinâmica das pranchas (KAMPION; BROWN, 1998;

WARSHAW, 2003; CRALLE, 2001 apud MOREIRA, 2007).

O ano de 1992 é marcado pelo primeiro campeonato de surf, o WCT (“World Championship

Tour”), em que os 44 melhores surfistas disputam elevadas quantias em prêmios. Destaque para Kelly

Slater (10 títulos), Andy Irons (3 títulos), Lisa Anderson (4 títulos), Layne Beachley (7 títulos) e

Gabriel Medina, surfista brasileiro que é o mais novo campeão com apenas 17 anos.

2.1.1 Definição

O surf é basicamente a utilização da força da gravidade para deslizar na inclinação criada pela

formação da onda, em uma prancha, assim dependendo das condições do mar e do equipamento

utilizado, neste caso a prancha. Moreira (2004) denomina como a expressão do surf a particularidade

das execuções das manobras por cada atleta, tendo relacionado aspectos cognitivos e mecânicos, como

a força, velocidade, ângulo da manobra e características físicas do surfista (MOREIRA, 2004 apud

MOREIRA, 2007, p. 70).

Em termos de localização no mar, Henriquez (2004 apud Moreira, 2007) classifica como “line

up” o ponto entre o alto mar e a rebentação que os surfistas ficam esperando atentamente a

Page 24: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

24

aproximação das ondas para apanharem com o auxílio da remada para realizar o “take off”, transição

da posição de remada para a posição de pé, ou seja, iniciar as sessão de manobras.

2.1.2 Ondas

Segundo Moreira (2007, p. 71), “existem dois contextos distintos, para as ondas, o natural, no

mar e no rio, e o artificial, em piscinas e em estruturas especialmente imaginadas para o efeito”. O

estudo deste trabalho será focado no detalhamento das ondas exclusivas do mar.

Moreira (2007, p. 71) faz um apanhado teórico sobre a formação das ondas e coloca que

Tudo começa com a energia solar em contacto com a atmosfera, aumentando a temperatura do ar, que em conjunto com a força de Coriolis provoca uma tridimensional e complexa deslocação do ar. Isto porque na frente polar, o ar frio do pólo, encontra o ar quente vindo do equador, formando-se então a depressão de média latitude. Estas depressões, em contacto com a superfície do oceano, dão origem à formação da ondulação (Abbott & Baker 1989; Butt & Russell, 2002; Soultrait & Cazenave, 1995).

As ondas são geradas pelo vento. Existe uma transferência de energia do vento sobre o mar liso

(“flat”), formando pequenas ondas, as conhecidas marolas. Esse evento é o primeiro de uma

combinação de dois mecanismos para a formação completa da onda. O segundo evento é o

crescimento exponencial do tamanho, resultado da associação das ondas e dependente da força e

tempo que o vento sopra sobre. Dessa forma, a onda se forma e só não toma proporções infinitas em

função do ponto de saturação, equilíbrio entre o vento e a força da gravidade (ABBOTT; BAKER,

1989; ALDERSON, 1996; BUTT; RUSSELL, 2002; SOULTRAIT; CAZENAVE, 1995; MOREIRA,

2007).

Depois de formadas, as ondas propagam então pelo mar, em um movimento elíptico e vertical,

não horizontal e sobre a influência de fenômenos físicos como dispersão circunferencial, dispersão

radial e agrupamento de ondas (BUTT; RUSSELL, 2002; SOULTRAIT; CAZENAVE, 1995).

Estes conceitos de dispersão já foram estudados por Butt e Russell (2002 apud MOREIRA,

2007), que dizem que “a dispersão circunferencial é a expansão das ondas numa área progressivamente

mais ampla, observando-se um aumento do perímetro, diretamente proporcional à distância da origem

da ondulação”, fazendo com que a onda perca 30% de sua altura cada vez que dobra sua distância.

Como demonstrado na Figura 5, as ondas sofrem uma separação, pois seus comprimentos de

onda são diferentes, variando de 6 a 18 segundos (56 a 505m). Sendo assim, uma dispersão radial

Page 25: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

25

caracteriza-se pela relação entre a velocidade e comprimento da onda, aquelas com maior

comprimento, viajarão com mais velocidade que ondas com menor comprimento.

Figura 5: Dispersão radial

Fonte: Moreira (2007)

Essa informação influencia diretamente a formação das ondas e este dado já é fornecido pelo

CPTEC, porém as regras poderão ser associadas a essa informação, como a velocidade da onda e

ângulo de onda na rebentação.

Outro fenômeno que ocorre para formação de ondas é o Agrupamento, que permite a

formação de conjunto de ondas (‘Sets’). Segundo Butt e Russell (2002, apud MOREIRA, 2007, p. 74),

“quanto maior for a dispersão relativa à origem da ondulação, embora por vezes, já bastante longe, se

verifique uma ondulação desordenada e aleatória, devido à mistura de duas ou mais ondulações, que

chegam de diferentes origens”. Com base nesta informação, é possível concluir que a probabilidade de

o mar estar mexido no caso de ondulações dispersas é alta, porém, esta informação sobre as

ondulações seria necessária para poder chegar a tal conclusão.

Devido à complexidade deste fenômeno, pelas diferentes origens das ondulações, com

comprimento, direção e tamanhos distintos, há séries entre 2 e 15 ondas, de tamanhos e intervalos

diferentes. Essa combinação de ondulações gera um resultado que pode ser observado na Figura 6, em

que “no momento em que a crista e a base das ondas coincidem nas duas ondulações, temos uma

interferência construtiva, aumentando o tamanho da onda, mas se uma crista coincide com uma base,

da outra ondulação, temos uma interferência destrutiva, anulando-se a onda e surgindo um espaço

entre os agrupamentos” (BUTT; RUSSELL, 2002 apud MOREIRA 2007, p. 75).

Page 26: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

26

Figura 6: Exemplo de combinação de duas ondulações

Fonte: Butt e Russell (2002 apud MOREIRA, 2007)

Outro conceito que deve ser dada atenção é o conceito de Rebentação. O fenômeno da

rebentação é o momento em que a crista da onda ultrapassa sua base, devido à redução de velocidade

que a onda sofre ao seu contato com o fundo, como pode ser exemplificado na Figura 7.

Figura 7: Rebentação das ondas

Fonte: Moreira (2007)

Page 27: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

27

2.1.3 Estrutura da onda

A dificuldade da onda é definida pelos parâmetros de alguns componentes da onda. São eles (1)

a altura; (2) Ângulo de deslocamento da rebentação; (3) Intensidade da rebentação; e (4) comprimento

da secção, ilustrados na Figura 8 as nomenclaturas utilizadas, para melhor compreensão (HUTT et al,

2001; MEAD, 2003; SCARFE et al, 2003 apud MOREIRA 2007).

Figura 8: Nomenclatura dos componentes de uma onda (Legenda: 1 Espuma; 2 Lábio; 3 Bolsa; 4 Crista; 5 Base; 6 Parede; 7 Ombro; 8 Sentido da rebentação; 9 Zona de impacto)

Fonte: adaptado de Abbott e Baker, (1989); Guisado, (2003); Hutt, (2001) (apud MOREIRA, 2007)

O surf é praticado na onda prestes a rebentar, podendo variar de acordo com a manobra, o

surfista pode explorar desde o lábio da onda até o limite da parede, desde que tenha velocidade

suficiente. A altura da onda pode ser medida entre a base e a crista, sendo esta a forma científica de

quantificar este parâmetro, no entanto, existem outras formas de cálculo, assumindo valores díspares e

muitas vezes exagerados (ARMSTRONG, 2005; CRALLE, 2001; DIXON, 2001; SCARFE et al.,

2003; WARSHAW, 2003).

De acordo com Dixon (2001, apud MOREIRA 2007), as dimensões das ondas podem ser

classificadas de acordo com a Tabela 2.

Tabela 2. Dimensão das ondas

Ondas Pés Metros

Pequenas 1 a 2 0,3 a 0,5Médias 3 a 5 1 a 1,5Grandes 6 a 8 2 a 2,5Muito Grandes 9 a 14 3 a 4Gigantes > 15 > 5

Page 28: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

28

Um fator importante a ser levado em consideração na formação da onda é o ângulo de

deslocamento da rebentação, que é definido pela parede onda, zona onde o surfista se desloca, por

rebentar, e pelo espaço que liga as extremidades da espuma. Com isso, a velocidade de deslocamento é

o produto da velocidade da onda em direção à praia x a velocidade da rebentação. Esta seria a

velocidade que o surfista precisaria atingir para poder entrar na bolsa da onda (HUTT et al., 2001;

MEAD, 2003; apud MOREIRA, 2007).

2.1.4 Classificação

Para a boa pratica do surf, indicam-se ondas com a rebentação adequada. A literatura sobre o

tema classifica as ondas de acordo com a sua rebentação (Figura 9) em progressivas, mergulhantes e

espraiadas, sendo que somente as progressivas seriam favoráveis a prática. Estas ainda se dividem em

vertente e cavada, de acordo com sua velocidade e formação (ALDERSON, 1996; BUTT &

RUSSELL, 2002; MEAD, 2003; PEREIRA, 2001; WARSHAW, 2003).

Figura 9: Tipos de rebentação

Fonte: Moreira (2007)

De acordo com Moreira (2007, p. 81),

[...] a onda espraiada movimenta-se com velocidade e, com grande potência, entendendo-se pela a praia, em vez de rebentar. [...] A onda mergulhante, rebenta na totalidade, desmoronando-se em toda, ou quase toda, a sua largura, sendo, na gíria, uma onda fechada ou que fecha toda.

Portanto, estes tipos de ondas estariam inviabilizando a prática do esporte, restando ondas com

rebentação progressiva, que são aquelas que começam a rebentar em um ponto e continuam depois

pela sua largura, para esquerda ou para a direita (MOREIRA, 2007). A diferença entre os tipos de

ondas podem ser observadas na Figura 10, que ilustra cada um dos tipos de rebentação.

Page 29: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

29

Figura 10: Imagem dos tipos de rebentação

Fonte: Moreira (2007)

Para o mapeamento de regras envolvendo o contexto destas variáveis, existe o Número de

Irribarren, que considera a altura da onda, o período e o declive do fundo, sendo que o resultado da

expressão (1,25 x Altura da onda) x Período x Declive do fundo, no caso do resultado ser inferior a 0.4

caracteriza ondas vertentes, valores entre 0.4 e 2 ondas cavadas e para valores acima de 2, ondas

espraiadas (BUTT & RUSSELL, 2002; MEAD, 2003).

A seguir, o detalhamento dos condicionantes da rebentação da onda, no sentido de qualidade da

rebentação será apresentado.

2.1.5 Direção da ondulação

A direção da ondulação é um dos fatores que influenciam na qualidade da rebentação. De

acordo com a direção que a ondulação entra, e a posição geográfica da praia, possibilitará a boa

formação da onda para o surf, ou seja, a onda será progressiva ou não. Segundo Mead e Black (2001)

esta direção da ondulação define-se como direção ortogonal favorável, sendo o melhor alinhamento,

para cada local, que permite a criação de boas ondas em rebentação, para o surf. Quando esse

alinhamento não é garantido, as ondas rebentam muito depressa, ou ao invés, muito devagar, não

servindo, em ambos os casos, para um surf de qualidade.

A direção da ondulação é constante e paralela até o momento em que chega à costa, sofrendo o

processo que Moreira (2007) nomeia de Refração, que é a quebra da linha da ondulação, devido às

diferenças de profundidade, provocando um decréscimo na altura da onda. Portanto, condicionada

Page 30: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

30

pela forma da costa e pela batimetria, é dependente do período e verifica-se que quanto maior for o

comprimento da onda, maior será o ângulo de refracção (BUTT & RUSSELL, 2002; PHILLIPS et al,

2003).

2.1.6 Estrutura da costa

No estudo realizado por Moreira (2007), os locais onde rebentam ondas, boas para o surf,

podem ser classificadas pela estrutura da costa, em que se considera o tipo de fundo, forma da costa,

forma do fundo e declive do fundo.

Os tipos de fundos podem ser classificados em fixos e móveis, onde os fixos seriam de rocha

e/ou corais e os móveis, de areia. As ondas provocadas por fundo fixo, geralmente resulta em uma

onda cavada de alta potência, resultante de uma mudança repentina da profundidade. Segundo Butt e

Russell (2002) as ondas têm este comportamento devido à refracção côncava, concentrando a energia

no local onde se encontra o coral ou a rocha, tornando a onda maior e mais potente, para continuar

mais suavemente, nas zonas de maior profundidade. Já no caso de um fundo de areia, isto dependerá

diretamente da forma que o fundo tomou. Podemos então, de acordo com vários autores ter duas

situações: praias de declive reduzido, com a possibilidade da barreira de areia ser paralela à ondulação,

que provocam as ondas mergulhantes (ABBOTT & BAKER, 1989; BUTT & RUSSELL, 2002;

DIXON, 2001; HENRIQUEZ, 2004); praias com vários bancos de areia, separados por canais de

maior profundidade, rebentando a onda em vários pontos em simultâneo, devido à refração côncava

nas zonas de menor profundidade, provocando o aparecimento de muitas secções, o que permite a

formação de ondas com abertura para direita e esquerda, bem como uma distribuição mais equilibrada

dos praticantes ao longo da praia (Figura 11).

Page 31: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

31

Figura 11: Refração na areia

Fonte: Moreira (2007)

Pontos que devem ainda ser levados em consideração para a formação das ondas, que estão

relacionados à estrutura da costa, são os promatórios que podem gerar uma refração suficiente para

uma onda regular que longa (Figura 12). Este comportamento é associado à forte refração convexa,

que provoca uma dissipação da energia por uma grande área, como se referem Butt e Russell (2002) e

Henriquez (2004).

De acordo com Cralle (2001) e Warshaw (2003), a foz do rio, permite a acumulação de bancos

de areia que favorecem a rebentação das ondas nestes locais, à frente ou lateralmente à boca do rio.

Page 32: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

32

Figura 12: Refração no promatório

Fonte: Moreira (2007)

A forma do fundo é também uma condicionante, como comprova o estudo de Mead e Black

(2001a), sobre a batimetria de locais de surf de qualidade superior, reconhecidos a nível mundial, onde

classificaram os fundos observados, em função das suas componentes: rampa, “ramp”; plataforma,

“platform”; foco, “focus”; cunha, “wedge”; parapeito, “ledge”; relevo, “ridge”; cume “pinnacle”

(Figura 13).

Figura 13: Componentes do fundo

Fonte: Moreira (2007)

Page 33: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

33

Porém, os mesmo autores, mas em outro estudo, concluem que na prática os fundos não são

exclusivos, podendo haver misturas dos tipos de fundos, gerando fundos mais complexos. Como

exemplo de combinações pode haver rampa com cunha, rampa plataforma e cunha, rampa foco e

cunha, entre outros, que acabam gerando resultados diferentes, mas já observados (Figura 14).

Figura 14: Exemplo da configuração do fundo, Bingin Reef, Bali, Indonésia

Fonte: Mead e Black (2001 apud MOREIRA, 2007)

Existe outra condicionante associada ao fundo do mar, que é o declive do fundo que, de

acordo com Mead e Black (2001), tem uma relação direta com a intensidade de rebentação, ou seja,

como refere Pereira (2001), com um declive suave teremos ondas vertentes e com uma alteração

abrupta na profundidade do mar surgem ondas cavadas, ou mergulhantes, se a ondulação for paralela

ao declive. As ondas espraiadas, não chegam a rebentar, porque não perdem velocidade e não ganham

altura, devido à grande profundidade da água (PEREIRA, 2001).

Page 34: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

34

2.1.7 Marés

Sendo as marés consideradas condicionantes da onda, é fundamental conhecer alguns dos

aspectos com elas relacionados, nomeadamente a sua dependência da posição relativa entre a Terra, a

Lua e o Sol. Isto porque os oceanos estão sob a influência da força gravítica da Lua e do Sol, numa

relação de 2 para 1, e da força centrífuga da Terra (BUTT & RUSSELL, 2002; CRATO, 2000;

GUISADO, 2003; WARSHAW, 2003).

O ciclo de marés, dependente da relação entre a Terra e a Lua, é constituído por duas fases,

onde a maré desce e depois sobe, com um intervalo de 12 horas e 25 minutos para completá-lo, desde a

maré cheia, passando pela maré baixa até alcançar novamente a maré cheia, verificando-se assim um

atraso diário de 50 minutos (BUTT & RUSSELL, 2002; GUISADO, 2003; WARSHAW, 2003). De

acordo com Guisado (2003) e Warshaw (2003), as ondas na maré cheia ficam mais lentas, com uma

inclinação menor, enquanto que na baixa-mar estas são mais rápidas e tubulares.

Portanto, como a formação das ondas de qualidade, depende do contato da base da onda no

fundo da praia, a maré está diretamente relacionada a condição para prática do surf, alterando o nível

d’agua que terá na praia, consequentemente, ditando se haverá onda no local ou não. “[...] existem

alguns locais onde se consegue uma margem de duas a três horas para a prática do surf, associada à

meia maré, quando enche ou quando está a vazar, podendo melhorar as condições, neste caso, durante

as marés” (BUTT; MARSHAL, 2002; WARSHAW, 2003 apud MOREIRA, 2007, p. 98).

2.1.8 Vento

Para a prática do surf, podemos classificar o vento em três categorias: (1) Sem vento, que não

interfere na formação das ondas nem na textura do mar; (2) vento Terral (“offshore”), que é o vento

que sopra da terra em direção ao mar; e (3) vento Maral (“onshore”), que é o vento que sopra do mar

para a terra.

De acordo com Butt e Russell (2002), os ventos locais são geralmente térmicos, ou seja, no

inicio da manhã, a temperatura da terra e do mar é semelhante, geralmente não havendo vento. Ao

longo da manhã, o sol vai aquecendo a terra, verificando-se um deslocamento de um ar fresco do mar

em direção a terra, o mesmo ocorrendo em sentido inverso no período da noite. Depois do meio dia,

pode-se observar um deslocamento do vento de oeste para noroeste, devido ao Coriolis (resultado da

rotação da Terra).

Page 35: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

35

O vento Maral, perturba bastante a formação das ondas, não sendo indicado para a prática do

surf, pois provoca uma rebentação prematura e mais no “outside”, além de diminuir a intensidade da

rebentação. Já o vento Terral, é mais favorável para o surf, desde que suave, pois aumenta a

intensidade da rebentação e facilita a verticalidade da parede, principalmente em ondas cavadas

(ABBOTT; BAKER, 1989; BUTT; RUSSELL, 2002; GUISADO, 2003; SCARFE et al. 2003;

WARSHAW, 2003).

2.2 SISTEMA ESPECIALISTA

Técnicas de Inteligência Artificial (IA) estão cada vez mais presentes em uma variedade de

subcampos, indo desde tarefas específicas, como um jogo de xadrez, até áreas abrangentes de

percepção e aprendizado. Através da IA é possível sistematizar e automatizar tarefas intelectuais e,

portanto, é potencialmente flexível e adaptável para qualquer esfera da atividade intelectual humana

(RUSSELL; NORVIG, 2004).

Segundo Branco Neto (2010), os domínios de aplicação da IA são:

Processamento de Linguagem Natural;

Demonstrações Automáticas de teoremas;

Bases de dados Inteligentes;

Robótica;

Tomada de Decisão;

Diagnóstico;

Reconhecimento de Padrões;

Ensino;

Planejamento; e

Entretenimento.

Será dada ênfase aos pontos de diagnóstico e reconhecimento de padrões, domínios que podem

ser aplicados ao trabalho.

Dentre os subcampos da IA, encontra-se o Sistema Especialista (SE) que conforme Passos

(1989), este subgrupo da IA é assim denominado porque possui conhecimento de um especialista em

uma determinada área e tem como objetivo resolver os problemas relativos a um domínio específico,

podendo ser aplicado praticamente todas as áreas que precisem de um especialista. Programas de

Page 36: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

36

computador que tentam resolver problemas que os seres humanos resolveriam emulando o raciocínio

de um especialista, aplicando conhecimentos específicos e inferências são ditos “Sistemas

Especialistas” (SAVARIS, 2002).

O primeiro SE desenvolvido foi o Mycin, levou em torno de 5 a 6 anos para ser desenvolvido

na Universidade de Stanford, e foi escrito em Lisp como a dissertação de Doutorado de Edward

ShortLiffe sob orientação de Bruce Buchanan. O Mycin operava com um motor de inferência bastante

simples, e uma base de conhecimento de aproximadamente 600 regras, e era uma série de perguntas

questionadas a um paciente, que buscava uma consulta médica, com o objetivo de diagnosticar as

possíveis bactérias culpadas.

2.2.1 Conceitos

“Sistemas Especialistas são programas de computador concebidos para reproduzir o

comportamento de especialistas humanos na resolução de tarefas de um domínio específico”

(BITTENCOURT, 2001).

Segundo Branco Neto (2010), SE pode ser utilizado para atividades de Diagnóstico,

Monitoração, Controle, Interpretação, Previsão, Projeto, Planejamento, Simulação e Tutorial.

Durante o processo de raciocínio, o mecanismo de inferência vai verificando qual a importância

dos fatos que encontra, comparando-os com as informações já contidas no seu conhecimento

acumulado sobre esses fatos e hipóteses. Neste processo, vai formulando novas hipóteses e verificando

novos fatos, que influenciaram no processo de raciocínio. Este raciocínio é sempre baseado no

conhecimento prévio acumulado. Um especialista com esse processo de raciocínio pode não chegar a

uma decisão se os fatos de que dispõe para aplicar o seu conhecimento prévio não forem suficientes.

Pode, por este motivo, inclusive chegar a uma conclusão errada, mas este erro é justificado em função

dos fatos que encontrou e do seu conhecimento acumulado previamente (SAVARIS, 2002).

Segundo Hermon e King (1998), o que define o desempenho de um SE é a quantidade e

qualidade de suas regras. Estas são compostas por fatos e heurísticas, onde os fatos podem ser

definidos como informações largamente compartilhadas, publicamente disponíveis e bem aceitas pelos

especialistas de um campo e heurísticas são em sua maioria privadas, intrínseco, regras pouco

discutidas, porém de bom discernimento (regras de raciocínio plausível, de boa conjectura).

Page 37: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

37

2.2.2 Características

Para considerarmos um sistema, como Sistema Especialista ele deve ter as seguintes

características, segundo Ferreny (1985, apud SAVARIS, 2002):

Uma linguagem de expressão dos conhecimentos fornecidos pelos especialistas;

Uma base de conhecimento, para armazenar conhecimentos específicos de determinada

aplicação, que pode ser fornecido por um sistema especialista, ou acumulado pelo

sistema ao fim de um teste; e

Um motor de inferência, programa que explora o conhecimento da base precedente,

considerando-a como a fonte da informação.

Existe ainda um ponto de vista diferente para caracterização de um SE, baseado na análise de

seu comportamento, onde Carvalho, Monteiro e Genaro (1987) sugerem os pontos:

Resolver problemas muito complexos tão bem quanto o melhor especialista da área, por

não ter influencia externa, emocional ou cultural;

Raciocinam heuristicamente, baseados em regras práticas;

Manipulam e raciocinam sobre descrições simbólicas;

Contemplam hipóteses múltiplas simultaneamente; e

Justificam suas conclusões.

Logo, pode-se concluir que um sistema especialista pode substituir um especialista humano de

determinada área, e baseado em regras, resolver problemas como os especialistas resolveriam.

Page 38: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

38

2.2.3 Classificação

De acordo com o seu funcionamento, é possível classificar os SE’s, e segundo Rabuske (1995),

estas classificações são:

Interpretação – São sistemas que fazem descrições de situações a partir da observação

de fatos fazendo uma análise de dados e procurando determinar as relações e seus

significados. Devem considerar as possíveis interpretações, descartando as que se

mostrarem inconsistentes.

Diagnóstico – São sistemas que detectam falhas oriundas da interpretação de dados ou

falhas na não detecção destes. Orientado a exceção, já vem embutido o sistema de

interpretação, ou seja, a interpretação faz com que seja detectada a falha ou não.

Monitoramento – Interpreta as observações de sinais sobre o comportamento

monitorado. Tem como característica a verificação periódica de limites pré-

estabelecidos.

Predição – Com base na observação de dados do passado e presente, este SE foca na

previsão de acontecimentos, possíveis comportamentos, raciocínios hipotéticos,

verificando as tendências de acordo com os dados de entrada.

Planejamento – Prepara um programa de iniciativas a serem tomadas para atingir um

determinado objetivo. Para atingir este objetivo o SE estabelece etapas e subetapas,

prioriza etapas conflitantes e particiona o problema em menores, menos complexos,

onde a intervenção humana é inevitável.

Projeto – Assemelha-se ao de planejamento, porém, deve confeccionar especificações

que atentam os objetivos dos requisitos particulares. Esse é um sistema capaz de

justificar a alternativa atual e futuras escolhidas.

Depuração – Trata-se de sistemas que possuem mecanismos de solução de para mau

funcionamento provocado por distorções de dados. Provê, de maneira automática,

verificações passo a passo para validação de uma cada etapa de um processo qualquer.

Page 39: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

39

Reparo – Segue um plano para administrar uma solução encontrada em uma etapa do

diagnóstico.

Instrução – Tem um mecanismo para verificar e corrigir o comportamento do

aprendizado de algum processo.

Controle – É um sistema que governa o comportamento geral de outros sistemas (não

apenas de computação).

Com base nessa visão geral da classificação de SE’s, o SE de interpretação é o que mais

caracteriza o trabalho proposto, pois este receberá dados meteorológicos, interpretando-os, analisando-

os e determinando seus significados para resultar em um diagnóstico. Como os dados de entrada

contemplarão tantos dados presentes, quanto futuros, o sistema a ser desenvolvido terá uma influência

do SE de monitoramento, pois na busca da condição ideal do mar estará diretamente relacionada a

limites pré-estabelecidos.

2.2.4 Componentes

Segundo Teive (1997), um SE possui os seguinte componentes principais: a base de

conhecimento, mecanismo de inferência e memória de fatos, conforme apresentado na Figura 15.

Figura 15: Componentes de um SE

Fonte: Teive (1997)

Page 40: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

40

Neste modelo existe uma relação direta do usuário com o mecanismo de inferência, o que é

questionável, pois na arquitetura apresentada por Branco Neto (2010), esta relação está intermediada

pela interface, conforme Figura 17.

Figura 16: Estrutura de um SE

Fonte: Branco Neto (2010)

Branco Neto (2010) ainda defende que um SE ainda pode ter componentes adicionais,

conforme pode ser visto na Figura 17.

Figura 17: Arquitetura de um SE com módulos adicionais

Fonte: Branco Neto (2010)

Page 41: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

41

Segue a definição de cada um dos componentes:

Base de conhecimento (Base de regras)

A Base de Conhecimento (BC) é o elemento que armazena o conhecimento abstrato de um ou

mais especialistas humanos sobre um determinado domínio. Também conhecida como banco de

regras, estas representadas por regra de produção do tipo:

Se (situação) => Então (conclusão ou ação)

Memória de trabalho (Base de Fatos)

A Memória de Trabalho (MT) é o módulo que contém os fatos sobre o problema, o

conhecimento concreto, ou seja, o processo que pode ser considerado fato antes do processo de

inferenciação. Vale lembrar que a MT é de caráter transitório, já que novos fatos estão sendo

acrescentados continuamente, assim como fatos existentes são excluídos.

Motor de inferência

O Motor (Mecanismo ou Máquina) de Inferência (MI) é considerado por alguns autores como o

coração de um SE (CASTILHO; ALVAREZ, 1991). Sua principal função é combinar as bases de

regras com a base de fatos gerando conclusões e novos fatos.

Módulos Adicionais

Quanto aos módulos adicionais, a interface com o usuário seria, em alguns casos, uma

interação por forma de perguntas e respostas, para que seja dada as conclusões, ou simplesmente, de

forma mais natural possível, a apresentação dos resultados, podendo ser através de gráficos, ícones ou

imagens que ilustram as conclusões geradas pelo SE.

O Mecanismo de explanação seria o módulo que mostraria para o usuário o raciocínio utilizado

para ter chego à conclusão e o módulo de aprendizagem é o responsável por atualizar

(automaticamente ou não) a base de conhecimento, visando melhorar os resultados do SE.

Page 42: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

42

2.2.5 Conhecimento

Para Durkin (1994), conhecimento é um termo abstrato, que tenta medir o quanto um

determinado indivíduo sabe sobre um determinado assunto.

Segundo Durkin (1994) o conhecimento pode ser classificado em: Processual, Declarativo,

Meta-conhecimento, Heurístico e Estrutural. Giarratano e Rilley (1993) também reconhecem a forma

tácita de conhecimento.

Conhecimento Processual: Descreve como o problema é resolvido. Regras, estratégias e

procedimentos são os tipos de conhecimentos processual utilizados em SE’s.

Conhecimento Declarativo: Descreve o que é conhecido de um problema, podendo ser

verdadeiro ou falso.

Meta-Conhecimento: Descreve o conhecimento sobre outros conhecimentos. Geralmente

usado para selecionar outros conhecimentos a fim de aumentar a eficiência na resolução do problema.

Conhecimento Heurístico: É empírico e representa conhecimento de um especialista, baseado

em problemas anteriores e descreve regras que guiam o processo de raciocínio.

Conhecimento Tácito: refere-se ao conhecimento que não pode ser explicado formalmente ou

facilmente transferido, não disponível de forma pública e implícito a um agente social ou econômico,

como um especialista, organização ou os dois (LEMOS; LASTRES; ALBAGLI, 1999).

Aquisição do conhecimento

Segundo Mastela (2004), a Aquisição do conhecimento consiste no processo realizado pelo

Engenheiro do conhecimento de compreender e organizar o conhecimento extraído de várias fontes. A

organização consiste em codificar e armazenar na BC para que quando o SE necessitar, possa consultar

a mesma.

Segundo Costa e Silva (2005) não há uma metodologia eficiente, confiável e padrão para a

extração e organização do conhecimento das várias fontes. Apesar da dificuldade, a aquisição do

conhecimento é essencial, pois apenas ela permite a construção do BC, que é inerente a existência do

SE. As fontes podem ser classificadas e documentadas, que são livros, artigos, filmes, gráficos,

Page 43: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

43

diagramas, entre outros, e não documentadas, que residem na mente das pessoas que atuam no domínio

da aplicação do sistema.

Costa e Silva ainda explanam sobre as técnicas existentes de aquisição de conhecimento,

classificando-as em automáticas, que são sem interferência humana, e podemos citar como exemplo

técnicas de mineração de dados, redes neurais, entre outras, semi-automáticas, que é a mistura entre

técnicas automáticas e manuais, e por fim as manuais, que se dividem em imersão em literatura,

entrevistas e acompanhamento.

Imersão em literatura – Consiste em um estudo sobre o assunto do problema, com o intuito

de adquirir um conhecimento inicial sobre o domínio. Este estudo é fundamental para que já se

obtenha regras básicas e para que a conversa com o especialista se torne algo natural, pois segundo

Costa e Silva (2005) o simples uso de alguns jargões poderá vir a impossibilitar o engenheiro do

conhecimento a adquirir determinadas informações.

Entrevistas – Como o próprio nome diz, esta técnica é a entrevista com o especialista. Divide-

se em duas, a não estruturada, que se caracteriza por ser uma conversa informal, com o objetivo de

obter uma visão geral sobre o domínio, recomendada para as entrevistas inicias, e a entrevista

estruturada, que envolve maior formalidade em sua concepção, com perguntas bem elaboradas, e/ou

formulários que o especialista responde. Para a entrevista estruturada, deve-se tomar planejar e revisar

as perguntas antes de aplicá-las, com o cuidado para que as estas não influenciem as respostas do

especialista.

Acompanhamento – Consiste no acompanhamento das atividades do especialista, com o

intuito de obter o conhecimento vivenciando o que o especialista realiza. Esta técnica permite um

maior detalhamento da obtenção do conhecimento, além de permitir que dúvidas sejam saciadas em

“tempo real”, porém, é um processo demorar e um número significativo de amostragens pode levar

muito tempo.

Representação do conhecimento

Depois de adquirido o conhecimento, o próximo passo é a representação deste. Branco Neto

(2010) define a representação como a transformação em uma forma processável pelo computador, de

forma lógica (booleana), Objetos, Frames, Redes Semânticas e Regras de Produção, além da

representação do conhecimento incerto, onde há as Redes Bayesianas e os Conjuntos Difusos.

Page 44: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

44

Já Solange (2003, p. 29) diz que a representação do conhecimento é uma forma sistemática de

estruturar e codificar o que se sabe sobre determinado assunto, sendo que esta codificação tem que ser

compreensível ao ser humano, robusto e generalizável. As Regras de Produção são uma forma de

representar o conhecimento, gerando a partir de diferentes informações já conhecidas, novas

conclusões.

Exemplo: SE<condição> ENTÃO <conclusões e ações> (NEGHEVITSKY, 2002, p. 30).

Tendo a Regra de Produção como base para a elaboração de regras do SE, existem técnicas que

auxiliam na organização e elaboração da base de conhecimento, como a estruturação das variáveis

envolvidas em árvore, no caso de hierarquia, ou então uma tabela com as variáveis e seus possíveis

valores, como pode ser exemplificada na Tabela 3.

Tabela 3. Variáveis e seus possíveis valores

Variável Possíveis valoresDireção da ondulação Pontos cardeais e pontos colateraisAltura da ondulação Valores em metros variando de 0 a 5Influencia da ondulação Pontos cardeais e pontos colateraisEstado da ondulação Aclive ou DecliveVelocidade do vento Valores em k/h variando de 0 a 200Direção do vento Pontos cardeais e pontos colateraisMaré Subindo ou descendoAltura da maré Valores em metros variando de 0 a 2Período Valores em segundos variando de 4 a 18Orla da praia Pontos cardeais e pontos colaterais

Na Tabela 3 constam algumas variáveis que poderão vir a compor, combinadas e condicionadas

entre elas o SE a ser desenvolvido. Após a fase de entrevistas estruturadas na aquisição do

conhecimento, estas serão revisadas e validadas para a geração das Regras de Produção.

Segundo Branco Neto (2010), a incerteza pode surgir devido à aleatoriedade de eventos,

imprecisão de conceitos, informações contraditórias ou a falta de alguma informação. Exemplos que

por coincidência ou não, se encaixam no problema proposto nesse trabalho.

2.3 CONSIDERAÇÕES

A fundamentação apresentada nesse capítulo, tanto do estado da arte, quanto das técnicas que

serão utilizadas, dão um embasamento técnico científico para que a realização do projeto escrito no

próximo capítulo. É possível que novas fontes sejam consultadas ao decorrer do desenvolvimento,

visando um melhor aproveitamento das técnicas disponíveis.

Page 45: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

45

3 TRABALHOS RELACIONADOS

Este capítulo mostrará detalhadamente trabalhos relacionados tanto com o negócio envolvido

quanto com a tecnologia utilizada, neste caso, Sistema Especialista.

Para a comparação de trabalhos relacionados com o negócio serão levados em consideração os

seguintes critérios apresentados na Tabela 4.

Tabela 4. Características dos trabalhos relacionados

Característica

Custo Alto Médio BaixoAtualização Uma ou duas vezes ao dia Atualização de hora em hora Tempo realAbrangência Municipal Nacional InternacionalEscalabilidade Dependência de terceiros e

logísticaApenas dependência de terceiros ou apenas logística

Sem dependência e sem logística

Diagnóstico Descritivo Descritivo e com mídia ou prognóstico

Descritivo com mídia e prognóstico

Segurança Equipamentos de valor sem supervisão

Equipamentos de valor com supervisão

Sem preocupação com segurança

Pontualidade Sem horário definido Tolerância de 1 hora Sempre no mesmo horário

Custos – Gastos para que o seja realizado o diagnóstico.

Atualização – Periodicidade e risco de mudança do estado diagnosticado e a real

situação.

Abrangência – Quantidade de praias diagnosticadas.

Escalabilidade - Facilidade de abranger uma grande quantidade de praias

Diagnóstico – Existência ou não do mesmo.

Segurança dos equipamentos – Preocupações com segurança de equipamentos

necessários.

Pontualidade – Horários definidos e garantia que haverá diagnóstico no horário.

Para cada trabalho, será dada uma nota de 1 a 5 em cada critério, onde 1 é baixo ou inexistente

e 5 é alto.

Page 46: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

46

3.1 TRABALHOS RELACIONADOS AO NEGÓCIO

Nesta seção serão detalhados e comparados ao TCC métodos relacionados ao negócio, ou seja,

métodos que proveem informações meteorológicas que possam servir como base para um diagnóstico

ou até mesmo oferece um diagnóstico. Dentre essas categorias haverá quatro métodos que serão

avaliados. Dois provedores de diagnósticos voltados para o surf, o In Paradise e Waves. E dois

provedores de informações de base, Windguru e Veja ao vivo.

3.1.1 IN PARADISE

In Paradise é um portal local da região de Florianópolis de notícias, fotos e boletins de ondas.

Os boletins oferecidos pelo in Paradise oferece mídia em vídeos e foto além de uma descrição onde o

tamanho e formação das ondas são escritos por um especialista.

O portal in Paradise disponibiliza dois boletins diários, sem compromisso de horário, estes são

disponibilizados em torno das 06h30min da manhã e ao meio dia. O custo está diretamente relacionado

às praias que são diagnosticadas, pois existe um deslocamento do fotógrafo até a praia para tirar as

fotos e elaborar o vídeo. A cobertura é de quatro praias, Joaquina, Mole, Barra da lagoa e

Moçambique.

Este método de trabalho oferece precisão e qualidade ao diagnóstico, com a desvantagem na

escalabilidade, limitando-se a quatro praias, pois uma maior abrangência aumentaria

proporcionalmente o custo.

3.1.2 WINDGURU

O Windguru site global baseado em modelos meteorológicos globais como o Global Forecast

System (GFS) que renderiza dados meteorológicos de hora em hora de até sete dias. Os dados

disponibilizados são de velocidade do vento, rajadas, direção do vento, ondulação, período, direção da

ondulação, temperatura, precipitação, entre outros que podem ser customizados para visualização.

O Windguru não disponibiliza nenhum diagnóstico voltado para o surf, o que dificulta para

quem não tem o conhecimento necessário para interpretar os dados meteorológicos e concluir se no

local escolhido haverá condição para a prática ou não, porém, uma pessoa com esse conhecimento

poderá prever e diagnosticar sempre que os dados meteorológicos estiverem certos, correndo o risco de

diagnosticar equivocadamente.

Page 47: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

47

Este é o que mais se aproxima do trabalho proposto nesse TCC, pois o trabalho se baseará nos

dados meteorológicos disponibilizados na internet, com o agregado do Sistema Especialista que irá

interpretar os dados e entregar um diagnóstico automaticamente.

3.1.3 WAVES

O Waves é um subdomínio do portal Terra, segue a mesma linha do in Paradise, porém com

âmbito internacional. O site provê um boletim diário, com exceção de domingo, geralmente por volta

das sete horas da manhã para as praias. O boletim contempla duas fotos da praia, informações

meteorológicas como tamanho e direção da ondulação, tábua de marés, direção e intensidade do vento,

fornece um parecer descritivo de um especialista.

O Waves tem uma proposta bem interessante para a previsão de ondas para a prática do surf.

Existe uma análise descritiva, uma tabela de dados meteorológicos, porém com alguns indicativos de

dados que possam promover boas ondas, por exemplo, o período, no caso de um período previsto

acima de 9 segundos, o site mostra esse indicativo da cor verde, entre sete e oito segundos amarelo e

no caso de um período abaixo de sete em vermelho. Isso porque o período está diretamente

relacionado com a força e alinhamento da onda que chega a costa, logo, um período acima de nove,

sempre se espera boas ondas. Por fim, o Waves utiliza de uma linguagem própria dar o entender ao

usuário quando mar vai ter condições favoráveis, porém de forma superficial. Funciona da seguinte

forma, são quadrados que podem variar em cor e tamanho. O tamanho do quadrado está diretamente

relacionado ao tamanho das ondas e a cor do quadrado representa a qualidade da onda, sendo vermelho

para o mar ruim, amarelo para um mar intermediário e verde para um mar muito bom.

3.1.4 Veja ao vivo

Veja ao vivo é um site de vídeo broadcast de vários lugares da cidade. Os lugares que o site

cobre é avenidas, trevos e praias. O contexto em que se relaciona com o trabalho é essa imagem ao

vivo da praia, pois por meio desta é possível visualizar a condição do mar em tempo real.

Apesar de estar sempre atualizado e não haver preocupação com pontualidade esse recurso não

disponibiliza um diagnóstico pronto, necessitando de que o usuário tire suas conclusões ao visualizar

as imagens. O custo e a segurança são outros pontos que impedem que a escalabilidade seja natural,

pois a cada nova praia, uma nova câmera e ponto de transmissão deverão ser providenciados, ou seja,

inviável em lugares inacessíveis.

Page 48: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

48

3.2 TRABALHOS RELACIONADOS À TECNOLOGIA

3.2.1 Sistema Especialista para apoio a paramédicos

Este trabalho foi desenvolvido em 2009 por Sirleno José Vidaletti e Sidnei Renato Silveira no

Centro Universitário Ritter dos Reis, Porto Alegre, Rio Grande do Sul, Brasil e foi inspirado por

alguns casos de emergência os paramédicos serem obrigados a ligarem para uma central de

atendimento para descrever a situação atendida a um médico.

Segundo o artigo que detalha o desenvolvimento, os paramédicos são técnicos habilitados a

darem atendimentos emergenciais, e recebem em torno de 110 horas de treinamento clínico e

emergencial, precisando assim de um auxílio de um médico, e em alguns casos ser obrigado a fazer o

contato, para auxiliar no diagnóstico da vítima.

A tecnologia utilizada é similar, porém não há a utilização de um framework e armazenamento

das regras em arquivos, mas sim em um banco de dados. O trabalho emprega o conjunto de

tecnologias JAVA, mais precisamente J2ME (Java 2 Micro Edition) e o SGDB (Sistema Gerenciado de

Banco de Dados) Oracle.

Como há a utilização de um SE, os mesmos componentes e passos são realizados, como a

estrutura do sistema com a interface com o usuário, motor de inferência e base de conhecimento, e a

aquisição do conhecimento através da elaboração e execução de uma entrevista.

Quanto ao conhecimento que foi adquirido nas entrevistas, há certa vantagem, pois o estado da

arte envolvido é provido de uma maior formalidade, sendo que há uma academia completa para

formação de profissionais atuantes na área, além de pesquisadores, mestres e doutores na expertise em

foco. Em contrapartida, para este trabalho existe a responsabilidade com o resultado esperado do

sistema, pois este envolve atendimentos de emergência, vida de pessoas, onde não há tolerância para

falhas ou um diagnóstico equivocado.

3.3 ANÁLISE COMPARATIVA

Olhando pelo prisma de cada característica que foi levantada, segue a classificação dos níveis

de uma e a justificativa de cada avaliação.

Page 49: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

49

Para o custo foi considerado o valor monetário gasto para cada diagnóstico acesso a

informação. No caso do IN PARADISE e WAVES, como é uma pessoa que presencialmente precisa ir

até a praia e tirar as fotos e elaborar o vídeo, além do custo com equipamento, há um custo com o

deslocamento e o com o profissional que realiza. Veja ao vivo tem um custo com a câmera e a

transmissão do vídeo. O melhor dos casos é quando não há custo, como no TCC há um custo de

desenvolvimento, este se iguala ao WINDGURU.

No quesito de atualização é considerado o tempo entre o acesso a informação e o tempo real no

momento da visualização da mesma, ou seja, no caso do Waves que disponibiliza apenas um boletim

por dia, existe uma grande chance de estar desatualizado. In Paradise diminui esse risco emitindo dois

boletins. No caso da emissão de boletins de hora em hora já diminui consideravelmente o risco de estar

desatualizado, mas a câmera ao vivo não corre esse risco.

A abrangência leva em consideração a quantidade de praias cobertas pelo método. Este item

está diretamente relacionado com a escalabilidade, pois os dois se mostrando baixos mostra um

método já em seu limite, porém este com escalabilidade alta mostra um método não maduro, que pode

crescer. O TCC se igualará às praias que o in Paradise cobre, utilizando o mesmo inclusive para

comparativo. Veja ao vivo oferece uma cobertura maior de praias e o WINDGURU e WAVES são de

escala global.

A escalabilidade está classificada de acordo com a facilidade de o método ampliar sua

cobertura de praias. No caso do In Paradise e o Waves, como são soluções manuais, acaba envolvendo

uma logística mais complexa. O envio de vídeo ao vivo, está diretamente relacionado ao custo, pois

com o investimento necessário, facilmente é adicionada uma nova praia. Os outros métodos por serem

automáticos acabam sendo menos complexos para adicionar novas praias. Um ponto a ser levado em

consideração é a dependência que estes métodos apresentam, pois a obtenção dos dados é terceirizada.

O diagnóstico voltado para a prática do surf não existe em dois dos métodos, por isso estes não

receberam avaliação. Para os outros métodos, com exceção do TCC o diagnóstico é bem específico e

informativo. Para este trabalho o foco ficará na assertividade do diagnóstico, por isso ele será apenas

descritivo, mas na seção de Conclusão será comentado sobre o aprimoramento do diagnóstico.

O quesito de segurança é mais agravante no método de broadcasting, por existir o cenário onde

o equipamento fica sem a supervisão, no caso dos outros métodos é menos agravante.

Page 50: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

50

O último item então é avaliado a pontualidade do método, ou seja, o grau de confiabilidade

referente ao tempo em que o dado será disponibilizado. Nos métodos utilizam de logística manual,

como o In Paradise e o Waves sempre há um risco maior de não pontualidade, e a variação de horário

foi uma constante no período de observação. No método de broadcasting sempre esteve disponível, e

por ser de tempo real, não há compromisso com a pontualidade, e por fim os métodos de obtenção de

dados automáticos há uma pontualidade de hora em hora, mas pouco afetada por fatores externos.

Característica In Paradise Windguru Waves Veja ao vivo TCC

Custo

Atualização

Abrangência

Escalabilidade

Diagnóstico

Segurança

Pontualidade

Quadro 1. Análise comparativa dos trabalhos relacionados ao negócio

3.4 CONSIDERAÇÕES

Apesar das vantagens e desvantagens de cada método em relação ao trabalho proposto, cada

um realiza seu propósito, e utilizados em conjunto oferecem amplas informações para o usuário. O que

mais se aproxima do trabalho proposto é o Windguru, porém no TCC há um agregado que é o

diagnóstico descritivo obtido através do SE.

Page 51: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

51

4 DESENVOLVIMENTO

Neste capítulo será apresentada a visão geral do trabalho executado; bem como levantamento

de requisitos funcionais e não funcionais e a modelagem do sistema. Também serão apresentados

detalhamentos do desenvolvimento e os resultados obtidos com o experimento.

4.1 VISÃO GERAL DO SISTEMA

O sistema desenvolvido tem como base um sistema especialista, que armazena regras coletadas

por meio da engenharia do conhecimento de especialistas do ramo de surf e literaturas relacionadas.

De um modo geral, o sistema se comporta conforme a Figura 18, que mostra o fluxo da informação do

sistema desenvolvido.

Primeiramente há um módulo captador, que periodicamente busca informações meteorológicas

e armazená-las. Este módulo busca as informações disponibilizadas por um conjunto de web services e

atualiza os dados futuros. Há também um módulo administrativo, que permite o CRUD (Create – Read

– Update – Delete) das entidades do sistema, estado, cidade e praia e a visualização de dados

meteorológicos e diagnósticos

O segundo módulo, é o módulo diagnosticador. Este, a cada atualização das informações

captadas pelo módulo supracitado, submete estas a uma bateria de regras cadastradas no motor de

inferência, resultando assim no diagnóstico do mar, para a prática do surf.

Figura 18: Fluxo da informação do sistema

Page 52: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

52

4.2 ANÁLISE DE REQUISITOS

4.2.1 Requisitos Funcionais

REF 01 – O sistema deve permitir que realize o CRUD de estados.

REF 02 – O sistema deve permitir que realize o CRUD de cidades.

REF 03 – O sistema deve permitir que realize o CRUD de praias conforme REN 01.

REF 04 – O sistema deve buscar periodicamente a cada hora as informações meteorológicas

disponibilizadas por um conjunto de web services.

REF 05 – O sistema deve permitir visualizar as informações meteorológicas cadastradas.

REF 06 – O sistema deve ao final da captação de informação meteorológica, submeter às

informações ao motor de inferência, gerando assim um diagnóstico que deve ser persistido.

REF 07 – O sistema deve permitir visualizar os diagnósticos gerados pelo sistema.

4.2.2 Requisitos não Funcionais

RNF 01 – O sistema deverá ser desenvolvido na linguagem java.

RNF 02 – O sistema deverá rodar em ambiente web.

RNF 03 – O sistema deverá rodar com banco de dados MySql.

4.2.3 Regras de Negócio

REN 01 – Ao cadastrar uma praia (REF03), esta deverá ter pelo menos o id, nome, cidade,

estado, pelo menos uma orientação geográfica relacionada à mesma, referente posição que sua orla

está em relação ao mar, latitude e longitude.

REN 02 – O sistema deve permitir filtrar informações meteorológicas por praia (REF03).

REN 03 – O sistema deve permitir filtrar informações meteorológicas por data (REF03).

REN 04 – O sistema deve permitir filtrar informações meteorológicas por hora (REF03).

Page 53: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

53

REF 05 – O sistema deve permitir filtrar os diagnósticos por praia (REF07).

REF 06 – O sistema deve permitir filtrar os diagnósticos por data (REF07).

REF 07 – O sistema deve permitir filtrar os diagnósticos por hora (REF07).

4.3 MODELAGEM DO SISTEMA

Nesta seção serão apresentadas as modelagens elaboradas para a criação do sistema. Dentre

elas estão os diagramas de classes e estrutura de pacotes, prototipação de telas referenciadas nos

requisitos funcionais, modelagem do banco de dados e um diagrama de sequência detalhando o

algoritmo da rotina principal. Após apresentar os devidos diagramas, será detalhado o sistema,

mostrando a conexão entre os elementos apresentados. Por fim, o plano de teste será apresentado,

assim como sua execução e os resultados obtidos.

4.3.1 Diagramas de Classe

Através da Figura19 é possível visualizar de forma geral como estão separadas as classes do

sistema. Existem dois pacotes principais relacionados ao negócio, que representam os módulos

Alimentador e Diagnosticador. Os pacotes restantes são pacotes técnicos, o DAO responsável pelas

classes que se comunicam com o banco de dados, Model armazena as entidades de negócio, Servlet

tem apenas uma classe, a Servlet responsável por invocar a rotina periódica do sistema, Útil têm

classes utilitárias, usadas em vários pontos, e por último o pacote View armazena os Converter,

DataModel e Bean, classes necessários para algumas funcionalidades do JSF.

Page 54: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

54

Figura 19: Estrutura de pacotes

Page 55: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

55

Alimentador

Alimentador é o pacote responsável por mapear e fazer a conversão dos web services para o

objeto Previsao. Como pode ser visto no diagrama da Figura 20, possui apenas um método que recebe

a Praia como parâmetro e retorna uma lista de previsões.

Nos diagramas da Figura 21 e 22 é possível visualizar as classes responsáveis pela conversão

do web service do World Weather Online para objetos de negócio.

class alimentador

Alimentador

- weather: ParseWeatherToObject = new ParseWeathe...

+ run(Praia) : List<Previsao>

Figura 20: Diagrama da classe Alimentador

class ws

ParseWeatherToObject

- KEY: String = "jvp97fy9znus5t... {readOnly}- FORMAT: String = "xml" {readOnly}- URL: String = "http://api.wor... {readOnly}

+ getWs(String, String) : Data

«property get»- getURL(String, String) : URL

Figura 21: Diagrama da classe ParseWatherToObject

Page 56: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

56

class model

Data

- weathers: List<Weather>

+ getPrevisoes() : List<Previsao>

Hourly

- hora: Integer- temperatura: Integer- velocidadeDoVento: Integer- grausDoVento: Integer- precipitacao: Double- humidade: Integer- visibil idade: Integer- pressao: Integer- alturaSignificativaondulacao: Double- alturaOndulacao: Double- direcaoOndulacao: Integer- periodo: Double- temperaturaDaAgua: Integer

+ toPrevisao() : Previsao

Weather

- data: String- hourly: List<Hourly>

+ getPrevisaoHora() : List<Hourly>+ getDataToObject() : Date

Figura 22: Diagrama das classes de mapeamento do World Weather Online

Diagnosticador

class diagnosticador

Diagnosticador

- TEXTURA_RULES: String = "textura.drl" {readOnly}- kbuilder: KnowledgeBuilder- kbase: KnowledgeBase- ksession: StatefulKnowledgeSession

+ Diagnosticador()+ run(Previsao) : void- startSession() : void- errorHandling() : void- loading() : void+ getKbuilder() : KnowledgeBuilder+ setKbuilder(KnowledgeBuilder) : void+ getKbase() : KnowledgeBase+ setKbase(KnowledgeBase) : void+ getKsession() : StatefulKnowledgeSession+ setKsession(StatefulKnowledgeSession) : void

Figura 23: Diagrama da classe Diagnosticador

Page 57: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

57

Model

Figura 24: Diagrama das classes de modelo

4.3.2 Telas do sistema

A primeira tela que será apresentada será a tela para a manutenção de estados Figura 25. Esta

tela consiste em um dataGrid que permite visualizar os estados cadastrados, editá-los clicando no ícone

de opções, que então habilita a opção de excluir e por fim, clicando no botão “Novo”, uma nova linha é

habilitada para a inclusão do novo estado.

Figura 25: Tela de manutenção de estados

A tela para a manutenção de cidades (Figura 26) funciona de forma similar a anterior. Esta tela

é dependente de pelo menos um estado estar cadastrado, pois não há como cadastrar uma cidade sem

Page 58: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

58

estado. Nela, da mesma forma que é realizada a manutenção dos estados, as cidades são visualizadas,

alteradas, excluídas e adicionadas ao sistema.

Figura 26: Tela de manutenção de cidades

Para a manutenção de praias, necessitou-se de um cadastro com mais informações. Portanto,

esta foi dividida em duas telas. A primeira tela apresenta as informações básicas da praia, e os botões

para adicionar, editar e excluir uma praia, como pode ser visto na Figura 27.

Figura 27: Tela de visualização das praias cadastradas

A segunda tela envolvendo a manutenção de praias é então o formulário para a edição e

cadastro de praias (Figura 28). Permite escolher o estado e cidades do mesmo, informações sobre a

praia com nome, longitude e latitude e relacionar as coordenadas de sua orla.

Page 59: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

59

Figura 28: Formulário de cadastro de praia

As previsões que estarão constantemente sendo cadastradas e atualizadas pelo sistema também

poderão ser visualizadas através da tela de visualização de previsões (Figura 29). Nela será possível

visualizar todas as previsões e se necessário filtrar por praia, data e hora que a previsão foi realizada.

Figura 29: Tela de visualização de previsões

Depois de encontrada a previsão desejada, é possível ver todos os dados meteorológicos, como

podemos ver na Figura 30. Estes são apresentados através de uma tela modal de visualização detalhada

da previsão, clicando na linha da previsão.

Page 60: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

60

Figura 30: Tela de visualização de dados meteorológicos

Os diagnósticos que o sistema irá gerar a partir das previsões também poderão ser visualizados

através de uma tela específica, ilustrada na Figura 31, mostra a lista de diagnósticos com seus dados

básicos e os possíveis filtros, que são a praia, data e hora em que o diagnóstico se refere.

Figura 31: Tela de visualização de diagnósticos

Por fim, a última tela do sistema é a tela em que os detalhes do diagnóstico serão apresentados.

Uma tela modal que após o diagnóstico escolhido ser clicado é apresentada, conforme a Figura 32.

Figura 32: Tela de visualização de detalhes de diagnósticos

Page 61: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

61

4.3.3 Modelagem de banco de dados relacional

Figura 33: Modelo de dados relacional

4.3.4 Diagrama de sequencia da rotina principal

A Figura 34 explana a interação entre o invocador da rotina principal, o TimeTask, a camada de

acesso a dados e os dois módulos do sistema, o Alimentador e o Diagnosticador. A cada hora a rotina é

chamada, indo até o banco de dados e buscando todas as praias cadastradas, para cada praia o módulo

Alimentador busca as previsões. Além de salvar as previsões, cada uma delas é enviada para o módulo

Diagnosticador realizar sua responsabilidade de diagnosticar e salvar estes para serem consultados

posteriormente.

Page 62: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

62

Figura 34: Diagrama de sequencia da rotina principal

4.4 DETALHAMENTO DO DESENVOLVIMENTO

O projeto foi executado baseado no processo de desenvolvimento RUP (Rational Unified

Process), como pode ser visto na Figura 35.

Figura 35: Rational Unified Process

Page 63: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

63

A modelagem de negócio, levantamento de requisitos, análise e projeto foram desenvolvidos e

executados ainda no TCC1, e serviram de insumo para o desenvolvimento.

Conforme pré-definido nos requisitos não funcionais desse documento, o sistema foi

desenvolvido na linguagem de programação JAVA, para web em um servidor Tomcat versão sete e

com banco de dados MySql.

A escolha destas se dá por serem tecnologias não pagas, além de características de cada uma

que fazem com que a utilização destas em conjunto torne o desenvolvimento natural.

O JAVA é uma linguagem de programação interpretada de alto nível, com suporte a orientação

a objetos e com seu ponto forte a grande comunidade de seguidores, que fazem a linguagem oferecer

vários frameworks em estado de maturidade avançado, como alguns utilizados neste trabalho.

O Java oferece um recurso de isolamento da regra de negócio, o Enterprise JavaBeans, mais

conhecido como EJB, este recurso não será utilizado no trabalho, e isso justifica a utilização do

Tomcat como servidor da aplicação. Tomcat é um servidor web leve e suficiente para as necessidades

do trabalho.

Por fim, o Mysql foi o banco de dados escolhido em função de oferecer ferramentas de

administração e projeto, através do Mysql WorkBench, além de suas qualidades de performance como

banco de dados.

Segue a lista de frameworks, bibliotecas e ferramentas que foram utilizados para aperfeiçoar o

desenvolvimento, como:

DROOLS (http://www.jboss.org/drools.html)

Após definidas as Regras de Produção, estas serão codificadas dentro do sistema. Essa

codificação será através da sintaxe estabelecida pelo FrameWork Drools. Framework é uma estrutura

de suporte definida em que outro projeto de software pode ser organizado e desenvolvido. Um

conjunto de linhas de código, implementadas genericamente para um determinado fim.

Geralmente, um framework nasce da necessidade comum e repetitiva de alguns softwares, onde

pelo fato dessa necessidade repetir, com o intuito de economizar trabalho, se desenvolve pequenas

bibliotecas genéricas passíveis de reutilização. Um framework possui as seguintes vantagens:

Page 64: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

64

Utilidade – O objetivo primeiro do framework é ser útil, facilitar de alguma forma o

trabalho que ele se propõe a fazer.

Segurança – Um bom framework geralmente é protegido contra erros comuns e

ingênuos. Isto por sua larga utilização faz com que esses erros sejam facilmente

detectados, reportados, e corrigidos.

Extensibilidade – Cada software sempre terá suas particularidades, sendo assim, um

framework deverá permitir que particularidades sejam implementadas sobre suas regras

genéricas.

Economia de tempo – Para as atividades comuns, o framework deverá realizar de forma

simples e rápida.

Documentação – Como haverá a necessidade de outras pessoas utilizarem os códigos

pertencentes ao framework, é indispensável que estes sejam facilmente entendíveis, ou

seja, sua compreensão deverá ser natural.

O Framework DROOLS é uma ferramenta desenvolvida pela Red Hat, empresa

desenvolvedora e mantenedora do famoso servidor de aplicação jBoss. O DROOLS é voltado para

gerenciamento de regras de negócio e fluxos de negócio, e está dividido nos seguintes módulos:

Drools Expert – É o módulo principal, que compreende o motor de regras, linguagem de

regras e a implementação do algoritmo de pattern matching.

Drools Flow – Adiciona as capacidades de lidar com BPM.

Drools Fusion – Adiciona a capacidade de lidar com o CEP (Complex Event Process).

Drools Guvnor – Ferramentas de gerência de regra de negócio.

Dentre as vantagens que influenciaram a escolha da utilização do DROOLS está:

Desacoplamento – As regras de produção ficam totalmente separadas da aplicação, não

necessitando o build da aplicação no caso de alguma alteração na regra.

Leitura – Utiliza os próprios objetos para a geração das regras, fazendo assim com que

tanto programadores, quanto analistas possam ler as regras e compreendê-las.

Page 65: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

65

Integração – Ferramentas integradas com a IDE Eclipse, da qual será utilizada para o

desenvolvimento deste trabalho.

Difundido – Larga participação da comunidade e empresas como Red Hat, e a própria

jBoss utilizarem, faz com que o exista um vasto material para consulta disponível na

internet.

Sua estrutura do DE é composta por basicamente 4 módulos principais, como pode ser visto na

Figura 36.

Figura 36: Estrutura do DE

Fonte: Drools Expert User Guide (2012)

Working Memory (Memória de Trabalho) – É onde residem os fatos.

Production Memory (Base de Conhecimento) – É onde reside todo o conhecimento de

negócio (regras).

Pattern Matcher (Reconhecedor de padrões) – Responsável por casar os fatos na memória de

trabalho com as condições das regras e criar ativações a partir dos casamentos.

Agenda – Responsável pela ordenação das ativações para execução.

Page 66: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

66

Para a elaboração das regras de produção, um arquivo com extensão .drl é criado, e nele as

regras são digitadas, de acordo com a sintaxe presente no Quadro 1.

Rule “Nome da regra”when

<condição>then

<ação>end

Quadro 1. Sintaxe da regra de produção no DE

Fonte: Drools Expert User Guide (2012)

Um exemplo simples, somente para entender como o DE funciona, será demonstrado no

Quadro 2 uma classe java Pessoa, com os atributos nome, idade e maiorDeIdade, dos tipos, String,

Integer e Boolean, respectivamente, e será criada uma regra para dizer se a pessoa é maior de idade ou

não.

public class Pessoa {private String nome;private int idade;private boolean maiorDeIdade;// getter e setter aqui

}

Quadro 2. Classe Java de Pessoa

Fonte: Drools Expert User Guide (2012)

Agora será demonstrado no Quadro 3, como se aplica a regra de produção que irá validar se a

pessoa é maior de idade ou não.

rule "É maior de idade"

when $a : Pessoa( idade < 18 )then $a.setMarioDeIdade( false );

end

Quadro 3. Regra de produção para verificar se a pessoa é maior de idade.

Fonte: Drools Expert User Guide (2012)

Page 67: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

67

A simplicidade e facilidade que envolve o desenvolvimento com DE chama a atenção,

porém, para a resolução de problemas mais complexos, não será o DE que irá auxiliar no trabalho, mas

sim na modelagem das RP e na capacidade de representar o conhecimento. Para o problema proposto,

umas séries de incertezas estarão sendo colocada a prova, exigindo uma modelagem sobre as RP do

Sistema Especialista, caso se mantivesse apenas regras de produção sem probabilidade, seria um

trabalho muito grande, devido a grande quantidade de regras necessárias para tratar todas as exceções.

HIBERNATE (http://hibernate.org) – Framework para mapeamento objeto relacional.

Permite mapear classes de negócio que representam as tabelas do banco de dados,

fornecendo operações de manipulação de dados e em conjunto com a biblioteca

Criteria, realizar consultas nos dados sem a utilização direta de SQL.

Java Server Faces – O JSF é um framework MVC Java para construção de interfaces

para o usuário baseado em componentes.

Primefaces (http://primefaces.org) – Biblioteca de componentes para o JSF.

TimerTask – Interface que compõe o Java Developer Kit (JDK) que permite agendar a

execução de uma rotina.

JAXB – Biblioteca de comunicação e conversão entre objetos e xml.

JUNIT – Framework java de testes de unidade.

Eclipse – Integraded Development Environment (IDE) open-source para

desenvolvimento de software.

Maven – Ferramenta para o gerenciamento das dependências e a construção do projeto.

O sistema foi divido em dois módulos principais, o Alimentador e o Diagnosticador. O

primeiro a ser desenvolvido foi o Alimentador. Para a construção desse módulo, primeiramente

configurou-se e implementou-se a interface TimerTask para a execução periódica da rotina principal.

Esta rotina, conforme pode ser vista no diagrama de sequencia SEQ01, busca as praias cadastradas,

para cada praia busca seus dados meteorológicos, salvar estes no banco de dados e invocar o módulo

Diagnosticador para cada previsão. Com a elaboração desse diagrama, identificou-se três

implementações que já poderia ser iniciadas. O mapeamento do webservice provedor de dados

Page 68: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

68

meteorológicos, o mapeamento das tabelas de praia e previsões do banco de dados e a chamada para o

segundo módulo.

Para a leitura dos dados meteorológicos a biblioteca JAXB foi utilizada, criando o mapeamento

do XML provido pelo webservice, como pode ser visto no apêndice A. Feito o mapeamento, criou-se

uma classe comum de dados meteorológicos, o que permite a comunicação com vários provedores de

dados, como se fosse um protocolo.

A configuração e mapeamento do banco de dados foi o segundo passo. Com o auxílio do

hibernate com annotations, as tabelas de estado, cidade, praia e previsão foram criadas e boa parte da

rotina pode ser criada.

Por fim, o Drools foi incorporado ao projeto, criando a classe que invoca o motor de regras

para a execução do diagnóstico e salvamento.

Depois de codificação completa dos componentes do servidor, iniciou-se a implementação da

interface proposta nos protótipos de tela. Para isso utilizou-se o JSF em conjunto com o Primefaces.

Componentes prontos foram customizados e algumas necessidades de conversão e manipulação dos

dados foram saciadas através dos Converters e Beans, classes que o JSF exige para a extensão dos

componentes.

4.5 ENGENHARIA DO CONHECIMENTO

A engenharia do conhecimento nada mais é que a extração do conhecimento do especialista

para uma forma computacional, realizada pelo engenheiro do conhecimento. Esta se divide nas

seguintes etapas:

Identificação do problema;

Aquisição do conhecimento;

Representação do problema;

Implementação; e

Verificação e testes.

Page 69: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

69

Depois de identificado o problema, as outras etapas são desenvolvidas de forma interativa e

evolucionária durante o desenvolvimento e a base de conhecimento deverá ser refinada, aumentando o

conhecimento ou corrigindo as imperfeições (LIEBOWITZ, 1988).

A explanação do processo da engenharia do conhecimento executado neste trabalho será

dividida em dois tópicos, o tópico da entrevista, que mostra como esta foi elaborada e executada, e o

tópico da extração do conhecimento, que mostra o conhecimento obtido das entrevistas.

4.5.1 Entrevista

Conforme descrito na metodologia deste trabalho, foi elaborada uma entrevista semiestruturada

baseada em três perguntas encadeadas, onde a resposta da primeira pergunta resulta em uma lista de

itens, e para cada um destes itens é realizada a segunda pergunta, que por sua vez também resulta em

uma segunda lista de itens, que então para cada item dessa segunda lista então é aplicada a terceira

pergunta.

As perguntas são:

1) Quais as características de uma onda para a prática do surf?

2) Para cada característica obtida na pergunta anterior, quais são os dados meteorológicos que

a influenciam?

3) Para cada dado meteorológico, quais os valores ou faixa de valores possíveis e o que este

resulta?

A primeira pergunta tem como o objetivo extrair dos especialistas as características de uma

onda que devem ser levada em consideração para a prática do surf. Através da literatura já foi possível

prever alguns itens que seriam levantados pelos especialistas, porém a execução desta pergunta ajudou

para a sincronização dos pensamentos entre o engenheiro do conhecimento e o entrevistado e para a

validação das características, possibilitando a interatividade desde a primeira entrevista. Olhando do

ponto de vista da representação do problema e implementação, cada item que compor a resposta desta

pergunta, será uma variável a ser mapeada na segunda pergunta e consequentemente terá um conjunto

de regras associada a ela.

Page 70: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

70

A segunda pergunta já relaciona os dados meteorológicos que impactam ou influenciam nas

características levantadas na primeira pergunta. É o elo entre a identificação do problema, o

conhecimento do especialista e as regras que estarão presente no motor de inferência.

Por fim, a terceira pergunta visa que após a conversa e linha de raciocínio criada através das

duas primeiras perguntas, o especialista chegue o mais próximo possível das regras propriamente dita.

Porém, como o conhecimento é tácito, dificilmente se chegou a este nível a conversa realizada nas

entrevistas, na maioria das vezes o engenheiro do conhecimento teve que intervir e entender o que

estava sendo explicado, para então categorizar e escrever de forma que o conhecimento pudesse ser

então traduzido para a forma computacional.

4.5.2 Extração do conhecimento

A execução das entrevistas então foi orientada pelas perguntas supracitadas, mas caracterizou-

se mais como uma conversa informal, em função da distância entre a formalidade computacional e o

conhecimento do especialista.

O perfil dos especialistas entrevistados é composto por três profissionais envolvidos com o surf

e praticantes do esporte, do sexo masculino e com mais de 20 anos de experiência na área, um deles é

shaper (profissional que elabora pranchas de surf) desde 1987, trabalha com conserto de pranchas

desde 1980, e surfa desde 1979. Os outros dois especialistas são responsáveis por fotografar e realizar

boletins de diagnósticos para sites, um deles para o In Paradise, site citado nos trabalhos relacionados

deste TCC e o outro para o “Ondas do Sul”.

Como resultado da execução da primeira pergunta, obtiveram-se três itens como resposta

comum entre os entrevistados, 1) textura do mar; 2) Tamanho da onda; e 3) Formação da onda. Para

cada uma dessas características foi criado um mapa mental, relacionando os dados meteorológicos

(respostas da segunda pergunta) e as classes de equivalência com o resultado esperado para cada

combinação (respostas da terceira pergunta).

Para a textura do mar, as variáveis meteorológicas que podem ser verificadas foram:

Page 71: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

71

Histórico da textura do mar: dividida em duas situações, esta variável tem influencia na

textura quando em um período inferior a 3 horas o mar esteve mexido, caso afirmativo,

este modifica a percepção de textura.

Velocidade do vento: O vento foi classificado de acordo com a sua velocidade quando

este é menor de 10 nós, o que equivale a aproximadamente 20 km/h ou maior que 10

nós. Este combinado com a direção também tem impactos diferentes na textura.

Direção do vento: Para esta variável foi assumido quatro valores possíveis. O vento

poderá ser no sentido da terra para o mar, também chamado de terral; o inverso, que

seria o maral; e os ventos laterais, com ou sem obstáculo.

Estas variáveis combinadas resultam em oito possibilidades de textura do mar (Figura 37): liso,

liso com spray, encrespado, mexido, muito mexido.

Figura 37: Mapa mental da textura do mar

Para o tamanho da onda, os resultados esperados serão categorizados através de um

arredondamento por aproximação, induzindo a medidas de meio em meio metro, por exemplo: meio

metro, um metro, um metro em meio, dois metros e assim sucessivamente. Para chegar a estes valores

foi elaborada juntamente com os especialistas uma fórmula, levando em consideração o tamanho da

Page 72: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

72

ondulação que chega à costa e o período, variando de acordo com a direção da ondulação, conforme

Figura 38.

Figura 38: Mapa mental do tamanho da onda

O período tem um papel muito importante para obter o tamanho da onda. Na literatura ele é

indicado como o tempo em segundos entre as ondas que chegam à costa. No entanto, as entrevistas

apontaram que o período também indica a velocidade da onda, força da onda e a distância em que a

ondulação se forma. Assim, quanto maior o período, mais rápida e forte é a onda, e consequência da

distância que se formou a ondulação, há um melhor alinhamento das ondas.

Ondulação entrando de frente sem obstáculo: Não há interferência geográfica,

permitindo utilizar a fórmula básica, tamanho da ondulação × (período ÷ 10).

Ondulação entrando de frente com obstáculo: Utiliza-se a fórmula básica, tamanho da

ondulação × (período ÷ 10) com um acréscimo de 10% próximo ao obstáculo.

Ondulação entrando na diagonal sem obstáculos: Neste caso, a ondulação que chega à

costa sofre uma refração do fundo (Figura 39), fazendo com que aconteça uma

desaceleração e consequentemente a perda de força da onda. A este evento foi atribuído

uma perda de 20% no tamanho calculado da onda, a fórmula então fica tamanho da

ondulação × (período ÷ 10) × 0.8.

Page 73: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

73

Figura 39: Refração da ondulação entrando na diagonal

Ondulação entrando na diagonal com obstáculo a 45º: Neste cenário a ondulação

encontra um obstáculo lateral de 45º que faz com que através do reflexo (Figura 40)

acumule a força da onda na sua proximidade, gerando uma onda maior. A esse acúmulo

foi atribuído o valor de 25% a mais no tamanho da onda em cima da fórmula básica,

ficando então tamanho da ondulação × (período ÷ 10) × 1.25.

Figura 40: Reflexo de ondas

Ondulação entrando na diagonal com obstáculo a 90º: Para este caso existe “efeito de

sombra” (Figura 41). A ondulação passa por um obstáculo de 90º e este causa uma

interferência na ondulação mudando sua direção e consequentemente diminuindo sua

força proporcionalmente, ou seja, quanto maior a mudança da direção, menor a onda.

Para efeitos práticos, depois que a ondulação passa, quanto mais próximo do obstáculo,

menor a onda. Com isso foi elaborada uma fórmula que trabalha em cima do ângulo do

Page 74: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

74

local, pois há um decréscimo gradual do tamanho da onda, ficando então tamanho da

ondulação × (período ÷ 10) × (ângulo do local ÷ 90).

Figura 41: Representação do efeito de sombra

Ondulação entrando na diagonal com obstáculo: Neste caso, a ondulação está entrando

na diagonal e na praia há um obstáculo, porém este obstáculo não se enquadra em

nenhum caso anterior, mas ele está lá, consequentemente protegendo a praia, gerando

um decréscimo de 70% na ondulação que entra, ficando então tamanho da ondulação ×

(período ÷ 10) × (0.3).

Lateral sem obstáculo: Muito parecido com o caso em que a ondulação entra na

diagonal sem obstáculo, mas neste caso há uma maior desaceleração, deixando a

fórmula sendo o tamanho da ondulação × (período ÷ 10) × (50%).

Lateral com obstáculo antes: Ondulação entrando de forma lateral na orla de uma praia

com um obstáculo antes da rebentação, o que resulta em uma perda de 80% no tamanho

da onda, na sua maioria das vezes passando a ondulação por fora da rebentação.

Lateral com obstáculo depois: Muito parecido com ao cenário lateral sem obstáculo,

porém o obstáculo segura parte da ondulação, fazendo com que ocorra uma perda de

40% da ondulação.

Por fim, a característica de formação da onda foi mapeada. Esta se mostrou a mais complexa

por apresentar a maior quantidade de variáveis envolvidas e consequentemente mais combinações

possíveis. Até mesmo para os especialistas, algumas combinações não estavam previstas, sendo assim

necessário recorrer à observação para uma certeza maior do resultado esperado.

Page 75: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

75

Os valores possíveis foram classificados em:

Regular: onda que se forma constantemente do mesmo jeito, não necessariamente do

melhor jeito.

Abrindo: onda que se forma gradualmente, e tem como principal característica a

possibilidade de maior quantidade de tempo de surf em uma onda.

Cavada: Onda rápida, abrindo, geralmente para surfistas com mais experiência.

Espraiada: Também chamada de onda “gorda”, é a onda que não chega a rebentar, sem

pressão.

Fechando: Onda que rebenta de uma vez só, não permitindo a pratica do surf.

Irregular: Onda sem formação.

As variáveis que foram levadas em consideração para se obter os resultados supracitados

foram: 1) a existência de no mínimo meio metro de onda; 2) a influência do vento, ou seja, este ser

maior ou menor que 10 nós; 3) a direção do vento, dividida em terral, maral ou lateral; 4) o período,

separado em menor que 8, entre 8 e 14 e maior que 14; e 5) a geografia da praia, que pode não

apresentar obstáculo, um obstáculo lateral, frontal ou diagonal. A combinação destas e o resultado

esperado podem ser visualizados na Figura 42.

Page 76: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

76

Figura 42: Mapa mental da formação da onda

Por meio da combinação dos resultados esperado para cada uma dessas características podemos

chegar a um diagnóstico que dará insumo a decisão de qual praia terá a melhor condição para o surf.

Será também possível, de acordo com a o nível de experiência do surfista, saber qual a melhor

Page 77: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

77

indicação, pois apesar de ser uma escolha pessoal, o tamanho e a formação da onda é um fator que

distingue um surfista iniciante dos mais experientes, além da preferência e estilo de surf. Uma onda

cavada ou rápida, combinado a um tamanho maior de um metro são ondas que exigem maior

habilidade do atleta, tornando-se até mesmo perigoso para quem não tem experiência suficiente. Mas

nada impede que surfistas experientes possam surfar em mares menores.

Com isso é possível criarmos um template de diagnóstico, onde variáveis serão preenchidas de

acordo com o obtido pelo SE, conforme a Figura 43.

Figura 43: Template do diagnóstico

4.6 DESCRIÇÃO DOS EXPERIMENTOS

Para a validação da ferramenta foram realizadas comparações com os boletins existentes.

Atualmente, é possível visualizar as condições das ondas por meio de dois sites de boletins, o

INPARADISE, com boletins às 06h00min horas e outro às 12h00min; e o WAVES, com um boletim

às 07h00min horas da manhã. Como a rotina capta informações meteorológicas de hora em hora, mas a

previsão é feita de três em três horas (0, 3, 6, 9, 12 15, 18 e 21 horas), a captação

foi realizada às 06h00min da manhã e às 12h00min, para que fosse possível conduzir uma comparação

manual entre o boletim gerado pelo sistema e o diagnóstico disponibilizado pelos sites supracitados

nas seguintes praias:

Page 78: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

78

Praia da Joaquina

Figura 44: Praia da Joaquina

Tabela 5. Dados cadastrais da praia da Joaquina

Nome Orientação Latitude Longitude Obstáculo

Joaquina até a pedra do careca SSE -27.63 -48.45 SO

Joaquina depois da pedra do careca SSE -27.63 -48.45 -

Page 79: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

79

Praia Mole (centro)

Figura 45: Praia Mole (centro)

Tabela 6. Dados cadastrais da praia da Mole (centro)

Nome Orientação Latitude Longitude Obstáculo

Mole (centro) ESE -27.60 -48.43 -

Page 80: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

80

Praia Mole (canto norte)

Figura 46: Praia Mole (canto norte)

Tabela 7. Dados cadastrais da praia da Mole (canto norte)

Nome Orientação Latitude Longitude Obstáculo

Mole (canto norte) SSE -27.60 -48.43 S

4.7 RESULTADOS

Apesar de registrada, a praia Mole (canto norte) não foi possível comparar, em função da

indisponibilidade de fotos da mesma, assim, somente a praia da Joaquina e Mole (centro)

possibilitaram os testes comparativos.

Para análise dos resultados, foi realizado um comparativo entre os resultados obtidos pelo

sistema desenvolvido e os diagnósticos dos sites IN PARADISE e WAVES, atribuindo a cor verde

para informações convergentes, a cor amarela para resultados aproximados e vermelho para resultado

divergentes, como pode ser visto na Tabela 8:

Tabela 8. Resultados comparativos

Data Praia Característica Sites de boletins SE

10/06/2014 6:00 Joaquina

Textura liso com spray Encrespado

Tamanho Meio metro Menos de meio metro

Formação Regular abrindo Regular

Page 81: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

81

10/06/2014 6:00 Mole

Textura Encrespado Encrespado

Tamanho Meio metro Meio metro

Formação Regular abrindo Regular

10/06/2014 12:00 Joaquina

Textura Encrespado Encrespado

Tamanho Menos de meio metro Menos de meio metro

Formação Regular Regular

10/06/2014 12:00 Mole

Textura Encrespado Encrespado

Tamanho Menos de meio metro Meio metro

Formação Regular Regular

11/06/2014 6:00 Joaquina

Textura Mexido Encrespado

Tamanho Menos de meio metro Menos de meio metro

Formação Regular Regular

11/06/2014 6:00 Mole

Textura Liso Mexido

Tamanho Meio metro com maiores Meio metro com maiores

Formação Regular Regular

11/06/2014 12:00 Joaquina

Textura Encrespado Mexido

Tamanho Menos de meio metro Meio metro

Formação Espraiada Regular

11/06/2014 12:00 Mole

Textura Mexido Mexido

Tamanho Meio metro com maiores Um metro

Formação Regular Regular

12/06/2014 6:00 Joaquina

Textura Liso com spray Mexido

Tamanho Meio metro com maiores Um metro

Formação Regular/espraiada Regular

12/06/2014 6:00 Mole

Textura Encrespado Encrespado

Tamanho Um metro Dois metros

Formação Fechando/regular Regular

12/06/2014 12:00 Joaquina

Textura Encrespado Mexido

Tamanho Um metro Um metro

Formação Regular Regular

12/06/2014 12:00 Mole

Textura Mexido Mexido

Tamanho Um metro e meio Dois metros

Formação Regular Regular

Page 82: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

82

Foram realizados 36 comparativos no total, sendo que 12 deles para a característica de textura,

12 para a característica de tamanho e 12 para a característica de formação. Obteve-se 20 resultados

convergentes, 13 aproximados e 3 divergentes, ou seja, 57%, 34% e 9%, respectivamente, quando

comparados ao diagnóstico manual realizado pelo site IN PARADISE, como observado na Figura 47.

Figura 47: Percentual de assertividade

Se levado em consideração a variação que o mar pode ter em questão de minutos, os boletins

não foram realizados exatamente nos horários de disponibilidade de dados meteorológicos, o que

acarreta em uma margem de mudança. Em virtude desta variação, os resultados podem ser

considerados aproximados, atingindo, assim, 91% de assertividade nos testes realizados.

Page 83: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

83

5 CONCLUSÕES

Dentro dos objetivos específicos listados neste estudo, o que diz respeito à análise das

variáveis, levantou-se itens relevantes com base na literatura, nos serviços provedores das informações

meteorológicas e por meio de entrevistas com especialistas. Os serviços utilizados para fornecer dados

meteorológicos foram limitadores das variáveis, uma vez que por mais que uma variável seja relevante

para o diagnóstico, se esta não for provida por um serviço, inviabilizaria a funcionamento do sistema.

Já a literatura serviu como nivelamento para um diálogo mais aproximado com os especialistas, além

de um levantamento inicial das variáveis, em que se percebeu a existência de variáveis passíveis de

controle, ou seja, providas por algum serviço de monitoramento, com a ondulação, vento, entre outras,

e as não passíveis de controle, por exemplo, o fundo de areia, que varia de acordo com correntes

marítimas e não há serviços que forneçam esse tipo de informação. Por fim, as entrevistas foram

construtivas não somente para validação e exploração das variáveis, mas também para apontar outros

itens não mapeados, mas com grande relevância para trabalhos futuros.

Quanto ao objetivo que considera a criação da base de conhecimento por meio da engenharia

do conhecimento, este trabalho fez uso da transcrição de termos semânticos, para que existisse o elo

entre o conhecimento do especialista e o computador. Isso pode ser exemplificado na definição de

textura do mar, onde o vento influencia e as variáveis envolvidas são a velocidade do vento, sua

direção e a geográfica da praia. O termo semântico criado levou em consideração a forma como o

vento chega à praia, podendo ser terral, maral ou lateral. Como a direção do vento e a orla da praia são

fornecidos no formato de ângulos geográficos de 0 a 360 graus, códigos foram criados para a

interpretação do sentido do vento em relação a praia. Assim, esta transcrição foi necessária para que a

base de conhecimento pudesse ser interpretada de forma semântica, aproximando a forma como o

sistema foi codificado com as informações levantadas na engenharia do conhecimento.

Para concretizar o objetivo que estabelece a inter-relação das variáveis, foram criados mapas

mentais que exploram as possibilidades de combinação das variáveis envolvidas com cada

característica do mar e da onda para a prática do surf, neste caso a textura, tamanho e formação da

onda. Sendo assim, a organização da informação em forma de mapa mental, auxiliou tanto na inter-

relação de variáveis quanto no estabelecimento e documentação das regras do sistema que compõem a

base de conhecimento.

Page 84: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

84

O objetivo específico que visava a implementação do sistema como um todo, foi concretizado

conforme o previsto. No entanto, o desenvolvimento e modelagem do software seriam otimizados se

executados após a realização das entrevistas, assim, com esse maior conhecimento sobre o negócio que

envolve o software, não seria necessária a adequação para englobar as novas informações obtidas com

os especialistas.

Um ponto importante para a conclusão da análise dos resultados é o tempo, recursos e a

quantidade de diagnósticos comparados. Os cenários possíveis que cada praia pode apresentar é a

combinação entre todas variáveis que influenciam seus aspectos, ou seja, como pode haver variáveis

que não estão mapeadas neste estudo, uma maior quantidade de testes é necessária para ter-se certeza

da robustez do sistema nos resultados obtidos.

O método utilizado para comparação dos resultados foi realizado com base em diagnósticos de

sites de boletins, sendo que o cenário ideal seria o monitoramento e acompanhamento ao vivo nas

praias, além de o monitoramento de uma maior quantidade de praias, visando o reconhecimento de

padrões e comportamentos, porém a falta de recurso impossibilita esse cenário.

Apesar destes limitadores, os resultados obtidos foram satisfatórios, concluindo que, apesar da

necessidade de refinamento das regras, o estudo contribui com a modelagem inicial de um cenário

computacional até então não proposto nacionalmente. Isto proporcionará o aperfeiçoamento e servirá

de motivação para que futuros trabalhos possam dedicar mais tempo de testes e observação, com o

objetivo de atingir-se um nível de assertividade muito próximo de 100% para os boletins,

possibilitando usufruir dos benefícios listados para este método de diagnóstico de ondas para a prática

do surf.

5.1 TRABALHOS FUTUROS

Como todo estudo científico, este trabalho mostrou algumas lacunas que podem inspirar outras

pesquisas. Dentre elas, destacam-se o pouco tempo para a validação da totalidade das regras, a

dificuldade de estabelecer conexão entre o tema e o conhecimento dos especialistas, a descoberta de

variáveis não mencionadas em literatura que possam impactar nas regras e a necessidade de

complemento do software por meio de outras técnicas computacionais.

Devido à complexidade, infinidade de possíveis combinações e tempo de coleta, elaboração e

utilização das regras que compõem a base de conhecimento, existe a possibilidade delas não cobrirem

Page 85: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

85

por completo todos os cenários. Desta forma, para a evolução e robustez das regras, é indicado que

futuramente seja feito um trabalho conferência e testes avançados com base na observação de novos

cenários, convergindo assim para uma maior consistência da base de conhecimento.

Conforme constatado na literatura utilizada para fundamentar a entrevista semiestruturada, há

uma barreira entre o engenheiro do conhecimento e o especialista, uma vez que o artefato do estudo

não está pronto, tornando a explicação introdutória na entrevista muito abstrata, afastando o

especialista do objetivo central e dificultando a conexão entre o conhecimento e a modelagem do

trabalho. Com isso, é sugerido uma padronização de apresentação introdutória antes da entrevista,

assim como, a utilização de ferramentas de mídia que facilitem a ilustração do tema, otimizando tempo

e o foco da entrevista.

As entrevistas contribuíram não somente para validação e extração de regras passíveis de

controle, como também para levantar outras variáveis até então não mencionadas na literatura ou nos

boletins existentes. Variáveis como a pressão atmosférica, correntes marítimas, entre outras, foram

mencionadas pelos especialistas, porém estes não souberam classificar a influência delas nas

características da onda. Cabe considerá-las para um estudo futuro, averiguando se há algum impacto

nas características da onda e qual o seu grau, com o intuito de aperfeiçoar a assertividade do software.

Por fim, o estado da arte mostrou-se um tanto quanto complexo para que apenas uma técnica

fosse suficiente na resolução do problema de pesquisa. Portanto, é relevante considerar a utilização de

outras técnicas e aparatos de apoio, tais como redes neurais, captação de multimídia com integração

com redes sociais, armazenamento de histórico, mineração de dados, entre outras, em conjunto com o

sistema especialista para garantir maior precisão nos diagnósticos.

Page 86: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

86

REFERÊNCIAS BIBLIOGRÁFICAS

ABBOTT, R.; BAKER, M. Aprenda Surf. Tradução de C. Jardim & E. Nogueira. Lisboa: Editorial Presença, 1989.

ALDERSON, W. Surfing. A beginner’s manual. West Sussex: Fernhurst Books, 1996.

ALMADA, F.; Cadernos da Sistemática das Actividades Desportivas 2. Base Conceptual da Sistemática das Actividades Desportivas. Taxonomia das Actividades Desportivas. Modelos de Tratamento do Conhecimento. Cruz Quebrada: Edições FMH, 1992.

ARMSTRONG, N. Comment mesurer la taille des vagues? Surf Session Hors-Série Vagues, p. 92-93, 2005.

ARAÚJO, M. P.; A educação mesológica: Contribuição das actividades físicas de ar livre e exploração. Ludens, p. 29-36, 1983.

BONI, V.; QUARESMA, S. J. Aprendendo a entrevistar: como fazer entrevistas em Ciências Sociais. Em Tese, v. 2, n. 1, p. 68-80, 2005.

BRANCO NETO, W.C. Inteligência Artificial – Notas de Aula. Lages: UNIPLAC, 2010. 55p.

BUTT, T.; RUSSELL, P. Surf science. An introduction to waves for surfing. Cornwall: Alison Hodge, 2002.

CASTILHO, E. ALVAREZ, E. Expert System: uncertainty and learning, the Alden Press. The Alden Press, Oxford, UK, 1991, 331 p.

COSTA, W.S.; SILVA, S.C.M.; Aquisição De Conhecimento: O Grande Desafio Na Concepção De Sistemas Especialistas, 2005, 46 p. (Artigo) Sistemas e Computação – Universidade Federal do Rio Grande do Norte, Natal, 2005.

COSTA NETO, P. L. O. ; CYMBALISTA, M. Probabilidades. 2.ed. São Paulo: Edgard Blücher,2006.

CRALLE, T. Surfin’ary. A dictionary of surf terms and surfspeak. Toronto: Ten Speed Press, 2001.

CRATO, N. De novo marés vivas. Jornal Expresso, Revista, p. 74-75, 2000.

DIXON, P. The complete guide to surfing. Guilford: The Lyons Press, 2001.

DURKIN, J. Expert System: Design and Development. Nova Iorque: Macmilian Publishing Company, 1994, 800 p.

GIARRATANO, J. C.; RILLEY, G. Expert System: principles and programming, Boston: PWS Publishing Company, 1993, 597 p.

Page 87: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

87

GUISADO, R. The art of surfing. A training manual for the developing and competitivesurfer. Connecticut: The Globe Pequot Press, 2003.

HAGUETTE, T. M. F. Metodologias qualitativas na Sociologia. 5a

edição. Petrópolis: Vozes, 1997.

HARMON, P.; KING, David. Sistemas Especialistas: A Inteligência Artificial chega ao mercado. Edi. Campus, 1988.

HUTT, J.; BLACK, K.; MEAD, S. Classification of surf breaks in relation to surfing skill. In K. Black (Ed.), Natural and artificial reefs for surfing and coastal protection. Journal of Coastal Research, Special Issue 29, 66-81, 2001.

HENRIQUEZ, M. Artificial surf reef. Unpublished master’s thesis, Environmental Fluid Mechanics Section, Faculty of Civil Engineering, Delft University of Technology, The Netherlands, 2004.

IN PARADISE. Disponível: < http://www.inparadise.com.br/>. Acesso em: 18 de maio de 2014.

KAMPION, D.; BROWN, B. (1998). Stoked. Uma história da cultura do surf. Koln: Benedikt Tashen Verleg GmbH

KORB, Kevin B., NICHOLSON, Ann E. Bayesian Artificial Intelligence. 1.ed. Washington D.C:Chapman & Hall, 2004.

LACROIX, G.; Les sports de glisse. Revue Education Physique et Sport, 194, 6-9, 1985.

LAKATOS, E. M.; MARCONI, M. A. Técnicas de pesquisa. 3a

edição. São Paulo: Editora Atlas, 1996.

LEMOS, C.; LASTRES, H. M. M.; ALBAGLI, S. Inovação na era do conhecimento. Informação e globalização na era do conhecimento. Rio de Janeiro: Campus, p. 122-144, 1999.

LIEBOWITZ, J. Introduction to Expert Systems. Santa Cruz, California: Mitchell Publishing, 1988.

MARIMON, J. Los Sistemas praxiológicos adaptativos in F. Lagardera & P. Lavega. La ciencia de la acción motriz. (p. 101-118), Lleida: Edicions de la Universitat de Lleida, 2004.

MANZINI, E. J. A entrevista na pesquisa social. Didática, São Paulo, v. 26/27, p. 149-158, 1990/1991.

MANZINI, E.J. Considerações sobre a elaboração de roteiro para entrevista semi-estruturada. In: MARQUEZINE: M. C.; ALMEIDA, M. A.; OMOTE; S. (Orgs.) Colóquios sobre pesquisa em Educação Especial. Londrina:eduel, 2003. p.11-25.

MANZINI, E. J. Entrevista semi-estruturada: análise de objetivos e de roteiros. Seminário internacional sobre pesquisa e estudos qualitativos, v. 2, p. 58-59, 2004.

MARQUES, R. L.; DUTRA, I. Redes Bayesianas: o que são, para que servem, algoritmos eexemplos de aplicações. Rio de Janeiro: [s.n.], 2008. Disponível em: <www.cos.ufrj.br/~ines-/courses/cos740/leila/cos740/Bayesianas.pdf>

Page 88: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

88

MASTELA, J. S. Técnicas de aquisição de conhecimento para sistemas baseados em conhecimento. 2004. 39 p. (Monografia) Ciência da Computação – Universidade Federal do Rio Grande do Sul, Porto Alegre, 2004.MATTOS M. et al. Sistema Especialista Probabilístico para Prognóstico de Doenças Bucais -PROBUCAL. In: VIII Congresso Brasileiro de Informática em Saúde, 2002, Natal / RN. VIII Congresso Brasileiro de Informática em Saúde. Natal: SBIS - Sociedade Brasileira de Informática em Saúde, 2002.

MEAD, S. Surfing science. In K. Black, & S. Mead (Eds.), Proceedings of the 3rd International Surfing Reef Symposium (pp. 1-36). Raglan, New Zealand: ASR limited, 2003.

MITCHELL, T. M. Machine Learning. [S.l.]: McGraw-Hill, 1997.

MOREIRA, M.A.A.G. Matriz de Análise de Tarefas Desportivas: Sistema de Classificação estrutural – Modelo taxinômico de Surf. 503p. (Tese) Doutorado em Motricidade Humana na especialidade de Ciência do Desporto – Universidade Técnica de Lisboa. 2007.

MORGADO, A. C. et al. Análise Combinatória e Probabilidade. Rio de Janeiro: SBM, 2001.

NEGHEVITSKY, M. Artificial Intelligence: a Guide to Intelligent Sistems. Adilson Wsley Editora, 2002.

RUSSEL, S.; NORVIG P. Inteligência Artificial. Rio de Janeiro: Campus, p. 1021, 2004.

PASSOS, E. L.; Inteligência Artificial e sistemas especialistas ao alcance de todos. Rio de Janeiro: LCT, p. 195, 1989.

PETER, J.F. Lucas. Bayesian networks in biomedicine and health-care. Elsevier Health. Cascais –Portugal, v.30, p.201-214, 2004.

PEREIRA, F. Manual do nadador salvador. Cruz Quebrada: Instituto de Socorros a Náufragos, Edições F.M.H, 2001.

PEROTTO, F. S. Modelagem do Conhecimento, Sistemas Especialistas e o Projeto SEAMED. Instituto de Filosofia e Ciências Humanas e Instituto de Informática Universidade Federal do Rio Grande do Sul, 2000.

PHILLIPS, D.; MEAD, S.; BLACK, K.; HEALY, T. Surf zone currents and influence on surfability. In K. Black, & S. Mead (Eds.), Proceedings of the 3rd International Surfing Reef Symposium, p. 60-82. Raglan, New Zealand: ASR limited, 2003.

SAHEKI, A. H. Construção de uma Rede Bayesiana aplicada ao diagnóstico de doenças cardíacas. 2005.84f. Dissertação (Mestrado em Engenharia) – Escola Politécnica de São Paulo, São Paulo, 2005.

SAVARIS, S. V. A. M.; Sistema especialista para primeiros socorros para cães. 156 f. (Dissertação) Mestrado em Ciência da Computação – Universidade federa de Santa Catarina, Florianópolis, 2002.

Page 89: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

89

SCARFE, B.; ELWANY, M.; MEAD, S.; BLACK, K. The science of surfing waves and surfing breaks. A review. In K. Black, & S. Mead (Eds.), Proceedings of the 3rd International Surfing Reef Symposium (pp. 37-59). Raglan, New Zealand: ASR limited, 2003.

SCHWALBE, L. Protótipo de um software educacional para ensino de meteorologia. Blumenau: Universidade Regional de Blumenau, 1999. 77p.

SOLANGE, O. et.al. Sistemas Inteligentes: fundamentos e Aplicações. Manole, 2003.

SOULTRAIT, G.; CAZENAVE, S. L’homme et la vague. Guéthary, France: Vent de Terre, 1995.

SOUZA, Anderson Luiz Ara; NETO, Francisco Lousada. Redes Bayesianas: Uma introdução aplicada a Credit Scoring. In: SINAPE – Simpósio Nacional de Probabilidade e Estatística, 19., 2010, São Paulo. Anais Eletrônicos... Disponível em <http://www.ime.unicamp.br/inape/19sinape/node/1026>. Acesso em nov. de 2010.

TEIVE, R.C.G.; Planejamento da expansão da transmissão de sistemas de energia elétrica utilizando sistemas especialistas. 1991, 160 f. (Tese) Doutorado em Engenharia de Produção –Universidade Federal de Santa Catarina, 1997.

VEJA AO VIVO. Disponível: < http://www.vejoaovivo.com.br/>. Acesso em: 18 de maio de 2014.

W3C. Disponível: < http://www.w3c.br/Home/WebHome>. Acesso em: 18 de maio de 2014.

WARSHAW, M. The encyclopedia of surfing. Orlando: Hartcourt, Inc, 2003.

WAVES. Disponível: < http://waves.terra.com.br/surf/ondas/santa-catarina/florianopolis/mole>. Acesso em: 18 de maio de 2014.

WINDGURU. Disponível: < http://www.windguru.cz/>. Acesso em: 23 de maio de 2012.

Page 90: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

90

APÊNDICE A – DIAGRAMA DE CLASSES

Page 91: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

91

class alimentador

Alimentador

- weather: ParseWeatherToObject = new ParseWeathe...

+ run(Praia) : List<Previsao>

class ws

ParseWeatherToObject

- KEY: String = "jvp97fy9znus5t... {readOnly}- FORMAT: String = "xml" {readOnly}- URL: String = "http://api.wor... {readOnly}

+ getWs(String, String) : Data

«property get»- getURL(String, String) : URL

class model

Data

- weathers: List<Weather>

+ getPrevisoes() : List<Previsao>

Hourly

- hora: Integer- temperatura: Integer- velocidadeDoVento: Integer- grausDoVento: Integer- precipitacao: Double- humidade: Integer- visibil idade: Integer- pressao: Integer- alturaSignificativaondulacao: Double- alturaOndulacao: Double- direcaoOndulacao: Integer- periodo: Double- temperaturaDaAgua: Integer

+ toPrevisao() : Previsao

Weather

- data: String- hourly: List<Hourly>

+ getPrevisaoHora() : List<Hourly>+ getDataToObject() : Date

Page 92: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

92

class dao

CidadeDao

+ findAll () : List<Cidade>+ save(Cidade) : void+ delete(Cidade) : void+ findByEstado(Integer) : List<Cidade>

DaoFactory

- praiaDao: PraiaDao = new PraiaDao()- previsaoDao: PrevisaoDao = new PrevisaoDao()- diagnosticoDao: DiagnosticoDao = new DiagnosticoDao()- estadoDao: EstadoDao = new EstadoDao()- cidadeDao: CidadeDao = new CidadeDao()- orientacaoDao: OrientacaoDao = new OrientacaoDao()

+ getPraiaDao() : PraiaDao+ getPrevisaoDao() : PrevisaoDao+ getDiagnosticoDao() : DiagnosticoDao+ getEstadoDao() : EstadoDao+ getCidadeDao() : CidadeDao+ getOrientacaoDao() : OrientacaoDao

DiagnosticoDao

+ findAll() : List<Diagnostico>+ save(Diagnostico) : void

EstadoDao

+ findAll() : List<Estado>+ findById(Integer) : Estado+ save(Estado) : void+ delete(Estado) : void

OrientacaoDao

+ findAll() : List<Orientacao>

PraiaDao

+ findAll() : List<Praia>+ save(Praia) : void+ delete(Praia) : void

Prev isaoDao

+ findAll() : List<Previsao>+ findPrevisaoExistente(Previsao) : Previsao+ save(Previsao) : void

-orientacaoDao

-cidadeDao

-estadoDao-diagnosticoDao -previsaoDao-praiaDao

class diagnosticador

Diagnosticador

- TEXTURA_RULES: String = "textura.drl" {readOnly}- TAMANHO_RULES: String = "tamanho.drl" {readOnly}- FORMACAO_RULES: String = "formacao.drl" {readOnly}- kbuilder: KnowledgeBuilder- kbase: KnowledgeBase- ksession: StatefulKnowledgeSession

+ Diagnosticador()+ run(Previsao) : void- startSession() : void- errorHandling() : void- loading() : void+ getKbuilder() : KnowledgeBuilder+ setKbuilder(KnowledgeBuilder) : void+ getKbase() : KnowledgeBase+ setKbase(KnowledgeBase) : void+ getKsession() : StatefulKnowledgeSession+ setKsession(StatefulKnowledgeSession) : void

Prev isaoRules

- periodo: Integer- alturaDaOndulacao: Double- anguloDaOndulacao: double- historicoMexido: boolean- velocidadeDoVento: int- anguloDoVento: double- praia: Praia

+ PrevisaoRules(Previsao)+ entrandoDeFrenteSemObstaculo() : boolean+ entrandoDeFrenteComObstaculo45() : boolean+ diagonalSemObstaculo() : boolean+ diagonalComObstaculo45() : boolean+ diagonalComObstaculo90() : boolean+ tamanhoEntrandoDeFrenteSemObstaculos() : String+ tamanhoEntrandoDeFrenteComObstaculos45() : String+ tamanhoEntrandoNaDiagonalSemObstaculos() : String+ tamanhoEntrandoNaDiagonalComObstaculos45() : String+ tamanhoEntrandoNaDiagonalComObstaculos90() : String- formulaBase() : Double- classificacaoDoTamanhoDaOnda(double) : String+ marNaoEsteveMexidoMexido() : boolean+ marEsteveMexido() : boolean+ ventoAbaixoDeDezNos() : boolean+ ventoAcimaDeDezNos() : boolean+ ventoTerral() : boolean+ ventoMaral() : boolean+ lateralSemProtecao() : boolean+ lateralComProtecao() : boolean+ periodoBaixo() : boolean+ periodoMedio() : boolean+ periodoAlto() : boolean+ semObstaculo() : boolean+ obstaculoDiagonal() : boolean+ obstaculoLateral() : boolean+ obstaculoFrontal() : boolean

Page 93: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

93

class model

Serializable

Cidade

- serialVersionUID: long = -45599815625169... {readOnly}- idcidade: int- nome: String- estado: Estado- idEstado: Integer

+ Cidade()+ getIdcidade() : int+ setIdcidade(int) : void+ getNome() : String+ setNome(String) : void+ getEstado() : Estado+ setEstado(Estado) : void+ getIdEstado() : Integer+ setIdEstado(Integer) : void

Diagnostico

- idDiagnostico: Integer- previsao: Previsao- data: Date- hora: Integer- textura: String- direcaoVento: String- intensidadeVento: String- temperaturaAgua: String- direcaoOndulacao: String- tamanhoOndulacao: String- formacao: String- dataFormatada: String- header: String- body: String

+ fi l lPrevisao(Previsao) : void+ getIdDiagnostico() : Integer+ setIdDiagnostico(Integer) : void+ getPrevisao() : Previsao+ setPrevisao(Previsao) : void+ getData() : Date+ setData(Date) : void+ getHora() : Integer+ setHora(Integer) : void+ getTextura() : String+ setTextura(String) : void+ getDirecaoVento() : String+ setDirecaoVento(String) : void+ getIntensidadeVento() : String+ setIntensidadeVento(String) : void+ getTemperaturaAgua() : String+ setTemperaturaAgua(String) : void+ getDirecaoOndulacao() : String+ setDirecaoOndulacao(String) : void+ getTamanhoOndulacao() : String+ setTamanhoOndulacao(String) : void+ getFormacao() : String+ setFormacao(String) : void+ getCampoId() : String+ getId() : Integer+ getDataFormatada() : String+ setDataFormatada(String) : void+ getHeader() : String+ setHeader(String) : void+ getBody() : String+ setBody(String) : void- headerDiagnostico() : String- bodyDiagnostico() : String

Serializable

Estado

- serialVersionUID: long = -12431790255231... {readOnly}- idestado: Integer- nome: String- sigla: String

+ getIdestado() : Integer+ setIdestado(Integer) : void+ getNome() : String+ setNome(String) : void+ getSigla() : String+ setSigla(String) : void

Fonte

- id: int- nome: String- url: String

+ getId() : int+ setId(int) : void+ getNome() : String+ setNome(String) : void+ getUrl() : String+ setUrl(String) : void

Model

+ getCampoId() : String+ getId() : Integer

Orientacao

- idOrientacao: Integer- abreviatura: String- nome: String- grausInicio: Double- grausFim: Double- grausInicioCobertura: Double- grausFimCobertura: Double- praias: List<Praia>

+ getIdOrientacao() : Integer+ setIdOrientacao(Integer) : void+ getAbreviatura() : String+ setAbreviatura(String) : void+ getNome() : String+ setNome(String) : void+ getGrausInicio() : Double+ setGrausInicio(Double) : void+ getGrausFim() : Double+ setGrausFim(Double) : void+ getGrausInicioCobertura() : Double+ setGrausInicioCobertura(Double) : void+ getGrausFimCobertura() : Double+ setGrausFimCobertura(Double) : void+ getPraias() : List<Praia>+ setPraias(List<Praia>) : void+ equals(Object) : boolean+ anguloEntre(Double) : boolean+ anguloEntreCobertura(Double) : boolean

Praia

- idPraia: Integer- nome: String- latitude: Double- longitude: Double- cidade: Cidade- orientacoes: List<Orientacao>- obstaculo: Orientacao

+ Praia()+ getIdPraia() : Integer+ setIdPraia(Integer) : void+ getNome() : String+ setNome(String) : void+ getLati tude() : Double+ setLati tude(Double) : void+ getLongitude() : Double+ setLongitude(Double) : void+ getCidade() : Cidade+ setCidade(Cidade) : void+ getOrientacoes() : List<Orientacao>+ setOrientacoes(List<Orientacao>) : void+ getObstaculo() : Orientacao+ setObstaculo(Orientacao) : void+ getCampoId() : String+ getId() : Integer

Previsao

- idPrevisao: Integer- praia: Praia- data: Date- hora: Integer- velocidadeDoVento: Integer- anguloDoVento: Integer- alturaSignficativa: Double- alturaOndulacao: Double- anguloDaOndulacao: Integer- periodo: Integer- temperatura: Integer- temperaturaDaAgua: Integer- pressaoAtmosferica: Integer- visibil idade: Integer- humidade: Integer- precipitacao: Double- dataFormatada: String

+ getIdPrevisao() : Integer+ setIdPrevisao(Integer) : void+ getPraia() : Praia+ setPraia(Praia) : void+ getData() : Date+ setData(Date) : void+ getVelocidadeDoVento() : Integer+ setVelocidadeDoVento(Integer) : void+ getAnguloDoVento() : Integer+ setAnguloDoVento(Integer) : void+ getAlturaSignficativa() : Double+ setAlturaSignficativa(Double) : void+ getAlturaOndulacao() : Double+ setAlturaOndulacao(Double) : void+ getAnguloDaOndulacao() : Integer+ setAnguloDaOndulacao(Integer) : void+ getPeriodo() : Integer+ setPeriodo(Integer) : void+ getHora() : Integer+ setHora(Integer) : void+ getTemperatura() : Integer+ setTemperatura(Integer) : void+ getTemperaturaDaAgua() : Integer+ setTemperaturaDaAgua(Integer) : void+ getPressaoAtmosferica() : Integer+ setPressaoAtmosferica(Integer) : void+ getVisibil idade() : Integer+ setVisibil idade(Integer) : void+ getHumidade() : Integer+ setHumidade(Integer) : void+ getPrecipitacao() : Double+ setPrecipitacao(Double) : void+ getCampoId() : String+ getId() : Integer+ getDataFormatada() : String+ setDataFormatada(String) : void

-obstaculo

-praia

-cidade

-previsao

-estado

class serv let

TimerTask

Rotina

+ run() : void

HttpServlet

Scheduler

- serialVersionUID: long = 339051245805353845L {readOnly}- PERIODICIDADE: long = 3600000 {readOnly}

+ init() : void

Page 94: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

94

class util

HibernateUtil

- sessionFactory: SessionFactory = null- serviceRegistry: ServiceRegistry = null

+ configureSessionFactory() : SessionFactory+ getSessionFactory() : SessionFactory+ save(Object) : void+ delete(Object) : void+ getById(Class<?>, Model) : Object+ findAll(Class<?>) : List

OrientacaoUtil

+ maisAngulo(Double, Integer) : Double+ menosAngulo(Double, Integer) : Double+ getOrientacaoNorte() : Orientacao+ getOrientacaoNorteNordeste() : Orientacao+ getOrientacaoNordeste() : Orientacao+ getOrientacaoLesteNordeste() : Orientacao+ getOrientacaoLeste() : Orientacao+ getOrientacaoLesteSudeste() : Orientacao+ getOrientacaoSudeste() : Orientacao+ getOrientacaoSulSudeste() : Orientacao+ getOrientacaoSul() : Orientacao+ getOrientacaoSulSudoeste() : Orientacao+ getOrientacaoSudoeste() : Orientacao+ getOrientacaoOesteSudoeste() : Orientacao+ getOrientacaoOeste() : Orientacao+ getOrientacaoOesteNoroeste() : Orientacao+ getOrientacaoNoroeste() : Orientacao+ getOrientacaoNorteNoroeste() : Orientacao+ getOrientacaoByAngulo(double) : Orientacao

Page 95: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

95

class v iew

Serializable

CidadeBean

- serialVersionUID: long = 463962896655021873L {readOnly}- cidadeList: List<Cidade>- estadoList: List<Estado>

+ CidadeBean()+ getCidadeList() : List<Cidade>+ getEstadoList() : List<Estado>+ setEstadoList(List<Estado>) : void+ setCidadeList(List<Cidade>) : void+ onEdit(RowEditEvent) : void+ onCancel(RowEditEvent) : void+ addCidade() : void

Serial izable

EstadoBean

- serialVersionUID: long = -269830164042104045L {readOnly}- estadoList: List<Estado>

+ EstadoBean()+ getEstadoList() : List<Estado>+ setEstadoList(List<Estado>) : void+ onEdit(RowEditEvent) : void+ onCancel(RowEditEvent) : void+ addEstado() : void

Serializable

PraiaBean

- serialVersionUID: long = -17769083847753... {readOnly}- praiaList: List<Praia>- selectedPraia: Praia- idPraia: Integer- idEstado: Integer- idCidade: Integer- nome: String- lati tude: Double- longitude: Double- estadoList: List<Estado>- cidadeList: List<Cidade>- orientacoes: DualListModel<Orientacao>- obstaculoList: List<Orientacao>- idOrientacaoObstaculo: Integer

+ PraiaBean()+ getPraiaList() : List<Praia>+ setPraiaList(List<Praia>) : void+ getSelectedPraia() : Praia+ setSelectedPraia(Praia) : void+ getIdPraia() : Integer+ setIdPraia(Integer) : void+ getIdEstado() : Integer+ setIdEstado(Integer) : void+ getIdCidade() : Integer+ setIdCidade(Integer) : void+ getNome() : String+ setNome(String) : void+ getLati tude() : Double+ setLati tude(Double) : void+ getLongitude() : Double+ setLongitude(Double) : void+ getEstadoList() : List<Estado>+ setEstadoList(List<Estado>) : void+ getCidadeList() : List<Cidade>+ setCidadeList(List<Cidade>) : void+ getOrientacoes() : DualListModel<Orientacao>+ setOrientacoes(DualListModel<Orientacao>) : void+ getObstaculoList() : List<Orientacao>+ setObstaculoList(List<Orientacao>) : void+ getIdOrientacaoObstaculo() : Integer+ setIdOrientacaoObstaculo(Integer) : void+ addPraia() : String+ savePraia() : String+ editPraia() : String+ deletePraia() : String- getPraiaFromForm() : Praia- selectedPraiaFromForm() : void- clearForm() : void

Serializable

Prev isaoBean

- serialVersionUID: long = -47683157640348... {readOnly}- previsaoList: List<Previsao>- previsaoFiltrada: List<Previsao>- idPrevisao: Integer- selectedPrevisao: Previsao- mediumPrevisaoModel: PrevisaoDataModel

+ PrevisaoBean()+ getPrevisaoList() : List<Previsao>+ setPrevisaoList(List<Previsao>) : void+ getPrevisaoFiltrada() : List<Previsao>+ setPrevisaoFil trada(List<Previsao>) : void+ getIdPrevisao() : Integer+ setIdPrevisao(Integer) : void+ getSelectedPrevisao() : Previsao+ setSelectedPrevisao(Previsao) : void+ getMediumPrevisaoModel() : PrevisaoDataModel+ setMediumPrevisaoModel(PrevisaoDataModel) : void+ onRowSelect(SelectEvent) : void+ onRowUnselect(UnselectEvent) : void

Serial izable

DiagnosticoBean

- serialVersionUID: long = 9099175361440024711L {readOnly}- diagnosticoList: List<Diagnostico>- diagnosticoFiltrado: List<Diagnostico>- idDiagnostico: Integer- selectedDiagnostico: Diagnostico- mediumDiagnosticoModel: DiagnosticoDataModel

+ DiagnosticoBean()+ getDiagnosticoList() : List<Diagnostico>+ setDiagnosticoList(List<Diagnostico>) : void+ getDiagnosticoFiltrado() : List<Diagnostico>+ setDiagnosticoFil trado(List<Diagnostico>) : void+ getIdDiagnostico() : Integer+ setIdDiagnostico(Integer) : void+ getSelectedDiagnostico() : Diagnostico+ setSelectedDiagnostico(Diagnostico) : void+ getMediumDiagnosticoModel() : DiagnosticoDataModel+ setMediumDiagnosticoModel(DiagnosticoDataModel) : void+ onRowSelect(SelectEvent) : void+ onRowUnselect(UnselectEvent) : void

Page 96: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

96

class converters

Converter

CidadeConv erter

+ getAsObject(FacesContext, UIComponent, String) : Object+ getAsString(FacesContext, UIComponent, Object) : String

Converter

EstadoConv erter

+ getAsObject(FacesContext, UIComponent, String) : Object+ getAsString(FacesContext, UIComponent, Object) : String

Converter

OrientacaoConv erter

+ getAsObject(FacesContext, UIComponent, String) : Object+ getAsString(FacesContext, UIComponent, Object) : String

Converter

ObstaculoConverter

+ getAsObject(FacesContext, UIComponent, String) : Object+ getAsString(FacesContext, UIComponent, Object) : String

class dataModel

ListDataModelSelectableDataModel

Prev isaoDataModel

+ PrevisaoDataModel()+ PrevisaoDataModel(List<Previsao>)+ getRowData(String) : Previsao+ getRowKey(Previsao) : Object

ListDataModelSelectableDataModel

DiagnosticoDataModel

+ DiagnosticoDataModel()+ DiagnosticoDataModel(List<Diagnostico>)+ getRowData(String) : Diagnostico+ getRowKey(Diagnostico) : Object

Page 97: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

97

APÊNDICE B – REGRAS DO MOTOR DE INFERÊNCIA

rule "Mar não esteve mexido, vento calmo e terral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.ventoTerral())

then $diagnostico.setTextura("Liso"); end

rule "Mar não esteve mexido, vento calmo e lateral com proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.lateralComProtecao())

then $diagnostico.setTextura("Liso"); end

rule "Mar não esteve mexido, vento calmo e lateral sem proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.lateralSemProtecao())

then $diagnostico.setTextura("Encrespado"); end

rule "Mar não esteve mexido, vento calmo e vento maral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.ventoMaral())

then $diagnostico.setTextura("Encrespado"); end

rule "Mar não esteve mexido, vento forte e terral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral())

then $diagnostico.setTextura("Liso com spray"); end

rule "Mar não esteve mexido, vento forte e lateral com proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralComProtecao())

then $diagnostico.setTextura("Encrespado"); end

rule "Mar não esteve mexido, vento forte e lateral sem proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao())

then $diagnostico.setTextura("Mexido"); end

rule "Mar não esteve mexido, vento forte e vento maral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marNaoEsteveMexidoMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral())

then

Page 98: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

98

$diagnostico.setTextura("Muito mexido"); end

rule "Mar esteve mexido, vento calmo e terral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.ventoTerral())

then $diagnostico.setTextura("Encrespado"); end

rule "Mar esteve mexido, vento calmo e lateral com proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.lateralComProtecao())

then $diagnostico.setTextura("Encrespado"); end

rule "Mar esteve mexido, vento calmo e lateral sem proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.lateralSemProtecao())

then $diagnostico.setTextura("Mexido"); end

rule "Mar esteve mexido, vento calmo e vento maral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.ventoMaral())

then $diagnostico.setTextura("Muito mexido"); end

rule "Mar esteve mexido, vento forte e terral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral())

then $diagnostico.setTextura("Encrespado com spray"); end

rule "Mar esteve mexido, vento forte e lateral com proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralComProtecao())

then $diagnostico.setTextura("mexido"); end

rule "Mar esteve mexido, vento forte e lateral sem proteção"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao())

then $diagnostico.setTextura("Muito mexido"); end

rule "Mar esteve mexido, vento forte e vento maral"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.marEsteveMexido() && $previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral())

then $diagnostico.setTextura("Muito mexido"); End

Page 99: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

99

rule "Ondulação entrando de frente sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.entrandoDeFrenteSemObstaculo())

then $diagnostico.setTamanhoOndulacao($previsaoRules.tamanhoEntrandoDeFrenteSemObstaculos()); end

rule "Ondulação entrando de frente com obstaculo"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.entrandoDeFrenteComObstaculo45())

then $diagnostico.setTamanhoOndulacao($previsaoRules.tamanhoEntrandoDeFrenteComObstaculos45()); end

rule "Ondulação entrando na diagonal sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.diagonalSemObstaculo())

then $diagnostico.setTamanhoOndulacao($previsaoRules.tamanhoEntrandoNaDiagonalSemObstaculos()); end

rule "Ondulação entrando na diagonal com obstaculo 45 graus"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.diagonalComObstaculo45())

then $diagnostico.setTamanhoOndulacao($previsaoRules.tamanhoEntrandoNaDiagonalComObstaculos45()); end

rule "Ondulação entrando na diagonal com obstaculo 90 graus"when

$diagnostico: Diagnostico()$previsaoRules : PrevisaoRules()eval($previsaoRules.diagonalComObstaculo90())

then $diagnostico.setTamanhoOndulacao($previsaoRules.tamanhoEntrandoNaDiagonalComObstaculos90()); end

rule "Vento fraco, periodo menor que 8, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoBaixo() && $previsaoRules.obstaculoLateral())

then $diagnostico.setFormacao("Irregular"); end

rule "Vento fraco, periodo menor que 8, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoBaixo() && $previsaoRules.obstaculoFrontal())

then $diagnostico.setFormacao("Irregular"); end

rule "Vento fraco, periodo menor que 8, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoBaixo() && $previsaoRules.obstaculoDiagonal())

then $diagnostico.setFormacao("Espraiada"); end

rule "Vento fraco, periodo menor que 8, sem obstaculo"

Page 100: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

100

when$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoBaixo() && $previsaoRules.semObstaculo())

then $diagnostico.setFormacao("Irregular"); end

rule "Vento fraco, periodo entre 8 e 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoMedio() && $previsaoRules.obstaculoLateral())

then $diagnostico.setFormacao("Regular"); end

rule "Vento fraco, periodo entre 8 e 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoMedio() && $previsaoRules.obstaculoFrontal())

then $diagnostico.setFormacao("Fechando"); end

rule "Vento fraco, periodo entre 8 e 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoMedio() && $previsaoRules.obstaculoDiagonal())

then $diagnostico.setFormacao("Regular"); end

rule "Vento fraco, periodo entre 8 e 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoMedio() && $previsaoRules.semObstaculo())

then $diagnostico.setFormacao("Regular"); end

rule "Vento fraco, periodo maior que 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoAlto() && $previsaoRules.obstaculoLateral())

then $diagnostico.setFormacao("Regular"); end

rule "Vento fraco, periodo maior que 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoAlto() && $previsaoRules.obstaculoFrontal())

then $diagnostico.setFormacao("Regular"); end

rule "Vento fraco, periodo maior que 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoAlto() && $previsaoRules.obstaculoDiagonal())

then $diagnostico.setFormacao("Fechando"); end

rule "Vento fraco, periodo maior que 14, sem obstaculo"when

$diagnostico: Diagnostico()

Page 101: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

101

$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAbaixoDeDezNos() && $previsaoRules.periodoAlto() && $previsaoRules.semObstaculo())

then $diagnostico.setFormacao("Rápida"); end

rule "Vento forte e terral, periodo menor que 8, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e terral, periodo menor que 8, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Espraiada"); end

rule "Vento forte e terral, periodo menor que 8, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e terral, periodo menor que 8, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Espraiada"); end

rule "Vento forte e terral, periodo entre 8 e 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e terral, periodo entre 8 e 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Fechando"); end

rule "Vento forte e terral, periodo entre 8 e 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Regular");

Page 102: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

102

end

rule "Vento forte e terral, periodo entre 8 e 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoMedio() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e terral, periodo maior que 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e terral, periodo maior que 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Cavada"); end

rule "Vento forte e terral, periodo maior que 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e terral, periodo maior que 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoTerral() && $previsaoRules.periodoAlto() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Fechando"); end

rule "Vento forte e lateral, periodo menor que 8, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo menor que 8, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e lateral, periodo menor que 8, obstaculo diagonal"when

Page 103: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

103

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo menor que 8, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoBaixo() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Espraiada"); end

rule "Vento forte e lateral, periodo entre 8 e 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo entre 8 e 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e lateral, periodo entre 8 e 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo entre 8 e 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoMedio() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo maior que 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoLateral())then $diagnostico.setFormacao("Regular");

end

rule "Vento forte e lateral, periodo maior que 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoFrontal())

Page 104: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

104

then $diagnostico.setFormacao("Cavada"); end

rule "Vento forte e lateral, periodo maior que 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e lateral, periodo maior que 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.lateralSemProtecao() && $previsaoRules.periodoAlto() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Regular"); end

rule "Vento forte e maral, periodo menor que 8, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo menor que 8, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo menor que 8, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo menor que 8, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoBaixo() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo entre 8 e 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Irregular"); end

Page 105: UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Giovani Marin.pdf · SISTEMA ESPECIALISTA DE DIAGNÓSTICO DO MAR PARA PRÁTICA DO SURF Giovani Marin

105

rule "Vento forte e maral, periodo entre 8 e 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo entre 8 e 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoMedio() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo entre 8 e 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoMedio() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo maior que 14, obstaculo lateral"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoLateral())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo maior que 14, obstaculo frontal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoFrontal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo maior que 14, obstaculo diagonal"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoAlto() &&

$previsaoRules.obstaculoDiagonal())then

$diagnostico.setFormacao("Irregular"); end

rule "Vento forte e maral, periodo maior que 14, sem obstaculo"when

$diagnostico: Diagnostico()$previsaoRules: PrevisaoRules()eval($previsaoRules.ventoAcimaDeDezNos() && $previsaoRules.ventoMaral() && $previsaoRules.periodoAlto() &&

$previsaoRules.semObstaculo())then

$diagnostico.setFormacao("Irregular"); end