DESENVOLVIMENTO DE FERRAMENTA 3 - LITE - …siaiacad17.univali.br/mepbay/doc.pdf · obstáculos...

88
UNIVALI – Universidade do Vale do Itajaí CTTMar – Ciências Tecnológicas da Terra e do Mar DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA ANÁLISE DO EQUILÍBRIO EM PLANTA DE PRAIAS DE ENSEADA [MEPPE 3.0 - MODELO DE EQUILÍBRIO EM PLANTA DE PRAIAS DE ENSEADA] Período do relatório: Setembro de 2007 à Agosto de 2010 CNPq 500249/2007-5 Bolsas no País IC Bolsista: Fillipi Domingos Pelz Orientador: Antonio Henrique da Fontoura Klein Co-Orientador: André Luís Alice Raabe Itajaí, Setembro de 2010

Transcript of DESENVOLVIMENTO DE FERRAMENTA 3 - LITE - …siaiacad17.univali.br/mepbay/doc.pdf · obstáculos...

UNIVALI – Universidade do Vale do Itajaí CTTMar – Ciências Tecnológicas da Terra e do Mar

DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA ANÁLISE DO EQUILÍBRIO EM

PLANTA DE PRAIAS DE ENSEADA [MEPPE 3.0 - MODELO DE EQUILÍBRIO EM PLANTA DE PRAIAS DE ENSEADA] Período do relatório: Setembro de 2007 à Agosto de 2010 CNPq 500249/2007-5 Bolsas no País IC

Bolsista: Fillipi Domingos Pelz Orientador: Antonio Henrique da Fontoura Klein Co-Orientador: André Luís Alice Raabe

Itajaí, Setembro de 2010

ii

SUMÁRIO

ÍNDICE DE FIGURAS IV

ÍNDICE DE QUADROS V

ÍNDICE DE TABELAS VI

ÍNDICE DE EQUAÇÕES VII

LISTA DE SÍMBOLOS E ABREVIATURAS VIII

RESUMO IX

1 INTRODUÇÃO 1

1.1 Objetivos 1

2 FUNDAMENTAÇÃO TEÓRICA 3

2.1 Praias de enseada 3

2.2 Modelo Parabólico 4

2.3 Plataforma Java 6 2.3.1 JAI 6

2.4 Computação Gráfica 11 2.4.2 Escala 11 2.4.3 Rotação 12 2.4.4 Matriz de Transformação 13

2.5 Orientação a Objetos 14

2.6 Padrões de Projeto 14 2.6.1 Factory Method 15 2.6.2 Observer 15 2.6.3 Command 16

2.7 Model View Control 16

3 CONSTRUÇÃO DO MODELO PARABÓLICO 17

3.1 Implementação do código 17

iii

3.2 Renderização do Modelo Parabólico 22

3.3 Interface Gráfica 25

3.4 Protótipos Desenvolvidos 25

3.5 Disponibilização do Software 27

4 AUTO-AVALIAÇÃO 28

REFERÊNCIA BIBLIOGRÁFICA 30

APÊNDICE A - TABELA DOS DOWNLOADS DO MEPPE 32

ANEXO A - RESUMO ESTENDIDO CBO 2010 38

ANEXO B - CERTIFICADO CBO 2010 42

ANEXO C – FORMULÁRIO DE REGISTRO DE SOFTWARE 43

iv

ÍNDICE DE FIGURAS

Figura 1 - Desenho esquemático representando os principais compartimentos

de uma praia de enseada (Vargas et al., 2002). 3

Figura 2 - Padrão de refração e difração de ondas em enseadas de equilíbrio

estático (Vargas et al., 2002). 3

Figura 3- Definição dos pontos de controle (Klein et al., 2003). 4

Figura 4 - Aplicação do modelo Parabólico (Klein et al., 2003). 5

Figura 5 - Organização das classes de imagem em JAI (Sun Microsystems,

1999). 7

Figura 6 - Esquema de um PlanarImage (Santos, 2004). 8

Figura 7 - Exemplo de um TiledImage (Santos, 2004). 8

Figura 8 - Estrutura do padrão factory method (Gamma et al., 1995). 15

Figura 9 - Estrutura do padrão observer (Gamma, 1995). 16

Figura 10 - Relacionamento das três camadas do MVC (Fowler, 2006). 17

Figura 11 - Exemplo dos pontos de controle. 19

Figura 12 -Triangulo gerado para recuperar o ângulo Beta. 20

Figura 13 - Impressão do modelo sem a mudança do ponto de origem. 22

Figura 14 - Esquema para impressão correta dos pontos . 23

Figura 15 - Impressão do modelo após correção do ponto de origem e

coordenadas . 23

Figura 16 - Erro causado após rotação do modelo. 24

Figura 17 - Modelo impresso corretamente após rotação. 25

Figura 18 - Protótipo para teste de manipulação de imagens. 26

Figura 19 - Protótipo de teste das implementações das ferramentas. 26

Figura 20 - Versão final do meppe. 27

Figura 21 - Pagina inicial do site. 27

Figura 22 - Locais onde foram realizados downloads do MEPPE. 28

Figura 23 - Certificado de apresentação de painel CBO2010. 42

v

ÍNDICE DE QUADROS Quadro 1 - Código fonte para abrir um arquivo de imagem. ................................. 9

Quadro 2 - exemplo de código para gravar imagens. ............................................ 9

Quadro 3 - Exemplo de código fonte para transladar uma imagem. .................... 9

Quadro 4 - Código exemplo para girar uma imagem. .......................................... 10

Quadro 5 - Exemplo de código para escalonar uma imagem. ............................ 10

Quadro 6 - Exemplo de código para aplicar operações geométricas

concatenadas em uma imagem. ............................................................................. 10

Quadro 7 - Método estático que executa uma operação de translação. ............ 11

Quadro 8 - Exemplo de método estático para aplicar escala em pontos. .......... 12

Quadro 9 - Exemplo de método estático para rotacionar pontos. ....................... 13

Quadro 10 - Girando um imagem 45 graus com AffineTransform. ..................... 14

Quadro 11 - Recuperando o tamanho da linha de controle βR .. ........................ 19

Quadro 12 - Código utilizado no MEPPE para extrair o tamanho das linhas de

crista de cálculo. ....................................................................................................... 20

Quadro 13 - Código fonte utilizado no MEPPE para extrair o ângulo Beta. ..... 21

Quadro 14 - Algoritmo utilizado para calcular os pontos da curva. ..................... 21

vi

ÍNDICE DE TABELAS Tabela 1 - Relação de downloads do MEPPE. ..................................................... 32

Tabela 2 - Relação de downloads do MEPPE continuação. ............................... 33

Tabela 3 - Relação de downloads do MEPPE continuação. ............................... 34

Tabela 4 - Relação de downloads do MEPPE continuação. ............................... 35

Tabela 5 - Relação de downloads do MEPPE continuação. ............................... 36

vii

ÍNDICE DE EQUAÇÕES (1) Modelo parabólico (Hsu & Evans, 1989) ...................................................... 5

(2) Definição da constante C0 ............................................................................ 5

(3) Definição da constante C1 ............................................................................ 5

(4) Definição da constante C2 ............................................................................ 5

(5) Translação .................................................................................................. 11

(6) Translação de vetor .................................................................................... 11

(7) Escalonamento ........................................................................................... 12

(8) Escalonamento de vetor ............................................................................. 12

(9) Rotação ....................................................................................................... 12

(10) Rotação de vetor .............................................................................................. 12

(11) Matriz de transformações lineares ................................................................. 13

(12) Distancia de dois pontos ............................................................................ 19

(13) Lei dos cossenos .............................................................................................. 20

(14) Cosseno isolado na formula da lei dos cossenos ......................................... 20

(15) Arco cosseno .................................................................................................... 20

(16) Coeficiênte angular .......................................................................................... 24

(17) Equação fundamental da reta ......................................................................... 24

(18) Equação geral da reta...................................................................................... 24

viii

LISTA DE SÍMBOLOS E ABREVIATURAS JAI Java Advanced Imaging. Java Linguagem de programação Orientada a Objetos da Oracle

AWT Abstract Windowing Toolkit

GDI+ Graphics Device Interface Plus

OpenGL Open Graphics Library

IDE Integrated Development Environment

API Aplication Programming Interface

TIFF Tagged Image File Format

OO Orientado a Objetos

MVC Model View Control

° Grau

β Letra grega Beta

θ Letra grega Teta

ix

RESUMO

O MEPPE é uma importante ferramenta para auxílio dos estudantes e demais profissionais das áreas de Oceanografia, Engenharia Costeira, Geologia Costeira e Geografia na análise morfológica, das praias de enseada, e suas alterações (KLEIN et al., 2003; RAABE et al., 2010). Para tanto o usuário necessita entrar com os dados para o cálculo de modelo parabólico como a localização do promontório, a localização do final da praia, e a direção predominante das ondas. Com tais dados o software pode então calcular a linha teórica da costa e desenhá-la na tela. Comparando a linha desenhada pelo software com imagens verticais ou mapas o usuário pode então verificar em que tipo de equilíbrio a praia se encontra. Com o uso contínuo do MEPPE 1.0 e 2.0 foram encontradas limitações destacadas por LAUSMAN et al. (2010), surgindo assim a possibilidade de evoluir a experiência do usuário com a elaboração de uma nova versão que suprisse as necessidades encontradas com o decorrer do uso do MEPPE. As principais limitações listadas também por RAABE et al. (2010) são relacionadas à manipulação de imagem, destaca-se aqui a incompatibilidade com imagens de grande formato e com o tipo de arquivo TIFF; outra limitação é a impossibilidade de rotacionar a imagem e/ou projeto, bem como a impossibilidade de simular mais de um modelo de curva no mesmo projeto. A tecnologia escolhida para suprir as necessidades foi Java pela rica biblioteca de manipulação de imagens disponível. Utilizou-se de técnicas de computação gráfica para calcular e desenhar o modelo no local correto. Foram realizados protótipos e testes com o modelo comparando-o com a versão 2.0 do MEPPE, então foi elaborada a nova versão com base nos testes. Com a elaboração desta nova versão foi possível verificar quem fez download e a distribuição global destes downloads. Evidenciou-se também a utilização de padrões de projeto e técnicas de engenharia de software que facilitaram o desenvolvimento do MEPPE. Palavras chaves: Modelo Parabólico, MEPPE

1

1 Introdução O MEPPE (ou MepBay versão em inglês) é uma ferramenta computacional que auxilia na

análise do equilíbrio em planta de praias de enseada utilizando imagens verticais e/ou mapas da

praia a ser estudada. Os dados para o cálculo de modelos empírico, como a localização do

promontório, a localização do final da praia, e a direção predominante das ondas, são inseridos no

sistema pelo usuário. Com tais dados o software pode então calcular a linha teórica da costa e

desenhá-la na tela. Comparando a linha de costa desenhada através do software com a linha de

costa observada em imagens verticais ou mapas o usuário pode então verificar em que tipo de

equilíbrio a praia se encontra (Hsu et al., 2008).

O desenvolvimento do MEPPE vem sendo realizado a cerca de nove anos e o software

desenvolvido já foi divulgado em conferências e periódicos (Raabe et al., 2010). Este projeto

buscou construir com uma nova versão deste software superando limitações identificadas pelo uso

contínuo da ferramenta, bem como as restrições apontadas por Lausman et al. (2005).

Dados os requisitos identificados para melhoria do software, decidiu-se alterar a plataforma

de desenvolvimento passando a adotar a linguagem Java no lugar do Object-Pascal utilizado nas

duas ultimas versões do MEPPE. Esta decisão também se apoiou na existência de bibliotecas e

documentações adequadas para auxiliar no desenvolvimento desta nova versão.

Neste relatório estão descritos os avanços alcançados na elaboração desta nova versão,

compreendendo o período de trabalho de três anos [Setembro de 2007 à Agosto 2010]. Serão

detalhados os aspectos teóricos da área de computação gráfica e sua respectiva utilização na

produção do software, para isso ilustrando trechos importantes de código, problemas enfrentados e

a apresentação dos protótipos desenvolvidos além da versão final.

1.1 Objetivos

O objetivo geral do presente relatório é apresentar as novas funcionalidades do sistema

computacional MEPPE, o que o tornou uma ferramenta de trabalho mais completa para análise do

Modelo de Equilíbrio em Planta de Praias de Enseada.

Para cumprir com este objetivo faz-se necessário inicialmente, (1) apresentar a fundamentação

teórica utilizada na análise de praias de enseada; (2) apresentar os conceitos de computação

gráfica envolvidos na elaboração do MEPPE; e (3) apresentar as soluções obtidas para desenhar

corretamente o modelo parabólico na imagem vertical ou mapa da praia de enseada. Ao final ainda

apresenta-se apêndices e anexos.

O desenvolvimento deste trabalho necessitou de uma abordagem interdisciplinar

(Oceanografia e Ciência da Computação) e representa as atividades do Bolsista (2) descrito no

projeto original encaminhado, já que apenas uma (01) bolsa foi aprovada. As atividades eram:

2

• Análise dos requisitos das mudanças propostas;

• Estudo da biblioteca GDI+ para manipulação de imagens e gráficos;

• Remodelagem das classes utilizadas para suporte à imagem;

• Projeto das alterações de interface (Protótipo 1);

• Codificação dos algoritmos de manipulação de imagens (Protótipo 2);

• Codificação das ferramentas de medição (Protótipo 3);

• Validação através de testes; e

• Divulgação e disponibilização dos resultados e do software para utilização e

estudo.

3

2 Fundamentação Teórica

2.1 Praias de enseada Praias de enseada são aquelas praias limitadas por promontórios rochosos ou outros

obstáculos físicos, geralmente formando um arco com curvatura acentuada e cujo contorno tende

assumir uma forma de meio coração ou de lua crescente.

Estas praias de enseada, na maioria das vezes, desenvolvem formas assimétricas,

caracterizadas por uma zona de sombra, próxima ao promontório rochoso, protegida da energia de

ondas e fortemente curvada. A parte central é levemente curvada. E a outra extremidade é

retilínea, sendo normalmente paralela a direção dominante dos trens de onda na região (Figura 1)

(Vargas et al., 2002).

Figura - Desenho esquemático representando os principais compartimentos de uma praia de enseada (Vargas et al., 2002).

Em uma praia de enseada, o transporte longitudinal de sedimentos, causado pela

incidência obliqua de ondas e pelo gradiente de altura das ondas ao longo da praia, é responsável

pela modelagem da forma da praia em planta. Esta assume uma orientação dependente do ângulo

de incidência das ondas dominantes, uma vez que uma praia tende a ser moldada

transversalmente à direção de ataque das ondas predominantes na mesma (Vargas et al., 2002).

Figura - Padrão de refração e difração de ondas em enseadas de equilíbrio estático (Vargas et al., 2002).

4

Praias de enseada podem estar em equilíbrio dinâmico, ou em equilíbrio estático. Em uma

situação estável, ou equilíbrio estático, os trens de onda dominantes atingem toda a extensão da

praia em ângulo de 90º, as cristas de onda quebram simultaneamente ao longo da praia, e o

transporte longitudinal bem como erosão e deposição são anulados (Figura 2). Já quando houver

suprimento sedimentar para o local e o transporte longitudinal for ativo a praia se encontra em

estado instável, de equilíbrio dinâmico, neste tipo de praia as forças de deriva litorânea e

suprimento sedimentar são fatores chave na manutenção da faixa de praia na sua posição atual

(Vargas et al., 2002).

2.2 Modelo Parabólico O modelo parabólico é normalmente utilizado nos dias atuais e foi desenvolvido por Hsu e

Evans (1989) através de uma série de experimentos em modelo reduzido. Este se baseia em

relações entre características geométricas da praia e o ângulo de incidência das ondas

predominantes sobre esta mesma praia. Para a aplicação do modelo extrai-se por meio de

imagens aéreas verticais ou mapas os seguintes parâmetros (Figura 3).

Figura - Definição dos pontos de controle (Klein et al., 2003).

βR : Linha de controle: linha que une o ponto de controle localizado no promontório

rochoso aonde se inicia o processo de difração de ondas, até a extremidade final da praia.

Linha de crista de ondas predominantes (obliquidade das ondas): A obliquidade das ondas

predominantes na praia de enseada em questão é obtida a partir de fotografias aéreas ou mapas

que estão sendo utilizados, e corresponde a uma linha paralela à porção mais retilínea da praia.

β (Beta): Ângulo formado entre as linhas de crista de onda predominantes e a linha de

controle βR .

5

Figura - Aplicação do modelo Parabólico (Klein et al., 2003).

No desenvolvimento do modelo, a aplicação de ajustes de curvas a dados extraídos de

modelos reduzidos e da análise de praias naturais consideradas em equilíbrio estático resultou a

equação (1).

( )2

21 /*/*/ nnon CCCRR θβθββ ++= ()

θ (Teta): Ângulo formado entre a linha de crista de onda e os demais comprimentos .

nR : Comprimentos obtidos a partir da linha de ondas predominantes ligados a outros

pontos ao longo da periferia da praia (Figura 4).

Coeficientes 0C , 1C , e 2C : Os coeficientes 0C , 1C , 2C são dados em função do ângulo

beta em questão conforme as equações (2, 3 e 4), a maioria das praias de enseada apresentam

valores de beta em torno de 20 a 80 graus. Tem sido verificado que a curva desta equação prediz

a forma de toda a periferia das praias de enseada extremamente bem.

432

0 50000000476,000000875,0000349,00047,00707,0 ββββ +−+−=C ()

432

1 0000001281,00000182,000004879,00078,09536,0 ββββ +−+−=C ()

432

2 30000000934,000001183,00003004,00078,00214,0 ββββ +−+−=C ()

Algumas outras variáveis associadas com enseadas naturais, como o tipo de praia

(morfodinâmico) e período da onda e altura não são incluídas por serem consideradas

insignificantes no resultado final (Klein et al. 2003, Hsu & Evans, 1989).

6

2.3 Plataforma Java Um dos requisitos para a elaboração do novo MEPPE apontado por Lausman et al. (2010)

foi melhorar o suporte de imagens, incluindo a quantidade de tipos, e o tamanho das imagens.

Desta forma foram pesquisadas diversas bibliotecas capazes de suprir esse requisito. As

bibliotecas que se destacaram foram Graphics Device Interface Plus (GDI+), Open Graphics

Library (OpenGL) e Java Advanced Imaging (JAI). Optou-se pela JAI, por ela ter sido desenvolvida

especialmente para tratamento de imagens digitais, essa característica a destacou das demais que

manipulavam vértices e chamadas de sistema. Pelo fato dela ser uma biblioteca para tratar

imagens, também encontrou-se mais documentação e suporte para esse propósito.

Com a escolha da biblioteca JAI, foi então necessário mudar de plataforma, pois essa

biblioteca gráfica é desenvolvida para a plataforma Java, o que ocasionou a mudança da

linguagem Object-Pascal utilizada junto à plataforma Delphi da ultima versão do MEPPE, e na

reconstrução de todo o software.

Outros fatores que influenciaram na escolha de Java foram: a vasta documentação técnica

disponibilizada pela Sun Microsystems; sua grande aceitação pela comunidade de software por ser

totalmente orientada a objetos (discutido mais a frente); sua semelhança com C++; e suas varias

soluções nativas de computação gráfica e criação de interfaces de usuário, contidas nas classes

Abstract Windowing Toolkit (AWT) e Java2D.

Está sendo utilizado o NetBeans como Integrated Development Environment (IDE) para o

desenvolvimento do MEPPE. Este foi escolhido por possuir suporte da própria Sun Microsystems e

possuir editores de Interfaces de Usuário.

A API Java2D é um conjunto de classes para gráficos 2D avançados e imagens simples.

Abrangendo desenhos vetoriais como linhas, pontos, curvas e formas geométricas básicas,

oferecendo também, suporte a textos, e imagens em um único modelo simplificado. A API fornece

suporte para composição de imagens e transparência através do canal alfa. Ela é composta por

um conjunto de classes fornecidas com adições dos pacotes Java.AWT e Java.AWT.Image.

2.3.1 JAI JAI é uma Application Programming Interface (API) criada e mantida pela Sun

Microsystems, voltada para o processamento e exibição de imagens. Ela estende classes de

biblioteca de códigos fonte (Abstract Windowing Toolkit) AWT e outras classes gráficas nativas da

plataforma Java. A Figura 5 mostra a estrutura de organização das classes de JAI.

7

Figura - Organização das classes de imagem em JAI (Sun Microsystems, 1999).

JAI implementa um conjunto de código de processamento de imagem, incluindo

capacidades de Tiling, regiões de interesse, e de execução diferida. As imagens em JAI podem ser

multidimensionais (vários valores associados a um único pixel) e podem ter pixels com valores de

ponto flutuante ou número inteiro.

Aplicações de processamento e exibição de imagens, necessariamente manipulam dados

de imagens (pixels). Estes são armazenados numa classe básica para representação de imagem

em JAI, que permite uma representação de imagem com mais flexibilidade do que a classe padrão

Java.

A classe PlanarImage usa várias classes diferentes para representação de dados de

imagem flexível que controla os dados da imagem. Seus pixels são armazenados em uma

instância de Raster que contém uma instância de uma subclasse concreta de DataBuffer, e uma

instância concreta de uma subclasse de SampleModel. Uma instância de PlanarImage também

possui um ColorModel associado a ele, que contém uma instância de ColorSpace, que determina

como valores de pixel podem ser traduzidos para valores de cor. A Figura 6 mostra como essas

classes são usadas para compor uma instância de PlanarImage (Santos, 2004).

8

Figura - Esquema de um PlanarImage (Santos, 2004).

Uma característica interessante da biblioteca JAI é sua capacidade de dividir uma imagem

em partes menores. Desta forma são dispostas lado a lado podendo ser consideradas como um

subconjunto de imagens, fazendo com que estas sejam tratadas separadamente, possibilitando

que imagens de grande formato possam ser processadas em Java/JAI com um desempenho

razoável (Santos, 2004).

Se a imagem é colocada com a propriedade lado a lado, todas as suas peças devem ter a

mesma largura e altura. JAI permite origens diferentes para os pixels da imagem e as peças do

lado a lado, caso a imagem seja menor que as peças, os espaços sem pixels não são desenhados

como exemplifica a Figura 7.

Figura - Exemplo de um TiledImage (Santos, 2004).

A biblioteca JAI contem vários operadores que podem ser aplicadas com pouca

programação. Estes possuem o conceito de uma cadeia de representação gráfica, onde armazena-

se os argumentos em um bloco de parâmetro e passado para a classe, somente é realizado o

processamento quando necessário (execução adiada). Utiliza-se um método estático, passando

por parâmetro a operação e um bloco (Santos, 2004).

9

A biblioteca JAI esta sendo utilizada no MEPPE para abrir arquivos de imagens, pois ela

possui um bom suporte de extensões de imagens. Para abrir uma imagem é necessário criar uma

instância de PlanarImage chamando o método estático “JAI.create()”, conforme exemplo no

Quadro 1.

Quadro - Código fonte para abrir um arquivo de imagem.

//Abrindo imagem passando o caminho da imagem como parâmetro;

PlanarImage image = JAI.create(“fileload”,”a.tif”);

Para arquivar uma imagem em disco é necessário chamar o método estático JAI.create,

passando como parâmetros o tipo de operação , o objeto imagem, o nome da imagem e seu tipo,

como no exemplo do Quadro 2.

Quadro - exemplo de código para gravar imagens.

JAI.create(“filestore”,image,”a.tif”,”TIFF”);

Para realizar uma translação é necessário colocar os argumentos de modificação das

imagens em um bloco de parâmetro passando as modificações para o método de transformação

da biblioteca JAI (JAICreator).

O exemplo do Quadro 3 mostra como modificar as coordenadas da imagem utilizando a

operação “translate”. Necessita-se criar um bloco de parâmetro e adicionar a fonte da imagem, o

valor de translação de x, y e chamar o método create passando como parâmetro a operação e o

ParameterBlock.

Quadro - Exemplo de código fonte para transladar uma imagem.

ParameterBlock pb = new ParameterBlock();

pb.addSource(image);

pb.add(x);

pb.add(y);

PlanarImage output = JAI.create(“translate”,pb,null);

Para a rotação deve-se criar um bloco de parâmetro que irá guardar o objeto fonte da

imagem, as coordenadas para o centro da rotação, o ângulo e o tipo de interpolação1, como no

exemplo do Quadro 4.

1 Interpolação é um método que permite construir um novo conjunto de dados a partir de um conjunto discreto

de dados conhecidos.

10

Quadro - Código exemplo para girar uma imagem.

ParameterBlock pb = new ParameterBlock();

pb.addSource(image);

pb.add(centerX);

pb.add(centerY);

pb.add(angle);

pb.add(new InterpolationBilinear());

PlanarImage output = JAI.create(“rotate”,pb);

Para realizar uma operação de mudança de escala, utiliza-se também um ParameterBlock

e adicionando a ele a imagem, o valor de escala de x e de y, a translação da imagem, e o tipo de

interpolação. O Quadro 5 demonstra um exemplo.

Quadro - Exemplo de código para escalonar uma imagem. ParameterBlock = new ParameterBlock();

pb.addSource(image);

pb.add(scaleX);

pb.add(scaleY);

pb.add(0.0f);

pb.add(0.0f);

pb.add(new InterpolationBilinear());

PlanarImage output = JAI.create(“scale”,pb);

Existe a possibilidade de trabalhar com transformações concatenadas passando como

argumento para o método de transformação um objeto AffineTransform, como no exemplo do

Quadro 6.

Quadro - Exemplo de código para aplicar operações geométricas concatenadas em uma imagem.

PlanarImage input = JAI.create(“fileload”,”image.tif”)

AffineTransform transform = new AffineTransform();

transform.scale(10,10);

transform.rotate(20);

transform.translate(0, 0);

Interpolation interpolation = new InterpolationBilinear();

PlanarImage output = JAI.create(“affine”, input, transform, interpolation)

11

2.4 Computação Gráfica Conforme as necessidades de desenvolvimento do MEPPE foram identificadas os

conceitos de Computação Gráfica necessários. Estes foram pesquisados e testados no

desenvolvimento do software. A seguir são relatados os conceitos que foram usados e de que

forma foram codificados.

2.4.1 Translação

No MEPPE foi necessário realizar a operação de translação para movimentação dos

objetos e da imagem da praia. Numa operação de translação tem-se como objetivo, mudar o objeto

de localização. Para realizar uma operação de translação modifica-se a localização de todos os

pontos do objeto. É possível efetuar a translação de pontos em um plano (x, y) adicionando

quantidades às suas coordenadas. Assim cada ponto em (x, y) pode ser movido por Tx unidades

em relação ao eixo x, e por Ty unidades em relação ao eixo y. Logo, a nova posição de (x, y)

passa a ser (x’, y’) (5). Se o ponto for representado na forma de um vetor, P= (x, y), a translação de

um ponto pode ser obtida pela adição de um vetor de deslocamento à posição atual do ponto (6)

(Azevedo, 2003).

Tyyy

Txxx

+=

+=

'

' ()

[ ] [ ] [ ]TyTxyxyxTPP +=⇒+= ''' ()

Um exemplo de como a translação foi implementada no MEPPE pode ser observada no código do

Quadro 7:

Quadro - Método estático que executa uma operação de translação.

public static void transladaPontos(ArrayList<Point> pontos, float translacao){

int numeroPontos = pontos.size();

for ( int i=0; i < numeroPontos; i++ ){

Point ponto = pontos.get(i);

ponto.x = (int) (ponto.x + translacao);

ponto.y = (int) (ponto.y + translacao);

}

}

2.4.2 Escala Para uma melhor visualização do usuário de MEPPE viu-se a necessidade de criar uma

ferramenta de zoom nos objetos e na imagem da praia. Para mudar as dimensões de escala de

12

uma imagem definida por um conjunto de pontos, multiplicaram-se os valores de suas

coordenadas por um fator de escala (7). Transformar um objeto por alguma operação nada mais é

do que fazer essa operação com todos os seus pontos. Neste caso cada um dos vetores de suas

coordenadas é multiplicado por fatores de escala (8). Estes fatores de escala em 2D podem, por

exemplo, ser Sx , Sy (Azevedo, 2003).

Syyy

Sxxx

∗=

∗=

'

' ()

[ ] [ ]

∗=

Sy

Sxyxyx

0

0'' ()

Um exemplo de como foi implementado o código para transformações de escala dos

objetos desenhados na tela encontra-se no quadro 8.

Quadro - Exemplo de método estático para aplicar escala em pontos.

public static void escalonaPontos(ArrayList<Point> pontos, float escala){

int numeroPontos = pontos.size();

for ( int i=0; i < numeroPontos; i++ ){

Point ponto = pontos.get(i);

ponto.x = (int) (ponto.x * escala);

ponto.y = (int) (ponto.y * escala);

}

}

2.4.3 Rotação Percebeu-se a necessidade de girar os objetos e imagens para proporcionar uma melhor

visualização do usuário. A transformação de rotação consiste em uma composição de cálculos

empregando o seno e o cosseno do ângulo de rotação a todas as coordenadas das primitivas

gráficas que compõem o objeto (9), a equação 10 demonstra na forma matricial (Azevedo, 2003).

Um exemplo de como foi implementada a rotação encontra-se no quadro 9.

( ) ( )( ) ( )λλ

λλ

sincos'

sincos'

xyy

yxx

+=

−= ()

[ ] [ ]

−∗=

λλ

λλ

cossin

sincos'' yxyx ()

13

Quadro - Exemplo de método estático para rotacionar pontos.

public void rotacionaPontos(ArrayList<Point> pontos, float angulo, Point

centroRotacao){

double senoAngulo = Math.sin( Math.toRadians(angulo) );

double cosenoAngulo = Math.cos( Math.toRadians(angulo) );

int numeroPontos = pontos.size();

for( int i=0; i < numeroPontos; i++ ){

Point ponto = pontos.get(i);

int DX = ponto.x – centroRotacao.x;

int DY = ponto.y – centroRotacao.y;

ponto.x = (int)((DX * cosenoAngulo - DY * senoAngulo) + centroRotacao.x);

ponto.y = (int)((DX * senoAngulo + DY * cosenoAngulo) + centroRotacao.y);

}

}

2.4.4 Matriz de Transformação Para possibilitar a combinação das transformações geométricas, de maneira a reduzir a

quantidade de operações matemáticas a serem aplicadas em cada vértice do modelo, estas são

definidas por meio de matrizes com coordenadas homogêneas. Assim, para fazer uma combinação

das transformações geométricas, multiplicam-se entre si todas as matrizes de transformação que

serão aplicadas, e cada vértice é multiplicado somente pela matriz resultante (Cohen, 2006).

2.4.4.1 Java.AWT.geom.AffineTransform Esta classe manipula uma matriz de transformações, que permitem a modificação das

coordenadas de uma imagem bidimensional de tal forma que as linhas paralelas permanecem

paralelas. Essas transformações affine podem ser translações, rotações, dimensionamento, e

cortes (shears) (Quadro 10).

Uma transformação de coordenada pode ser representada por uma matriz de três linhas e

três colunas com a ultima linha implícita [0 0 1]. Essa matriz transforma as coordenadas de origem

(x, y) em coordenadas de destino (x', y'), considerando a multiplicação do vetor de coordenadas

pela matriz seguindo o seguinte processo (11):

++

++

=

=

1

121110

020100

1100

121110

020100

1

'

'

mymxm

mymxm

y

x

mmm

mmm

y

x

()

14

Quadro - Girando uma imagem 45 graus com AffineTransform.

// Abrindo Arquivo.

String nomeArquivo = "images/Trees.gif";

PlanarImage im = (PlanarImage)JAI.create("fileload", nomeArquivo);

// Criando um matriz de transformação utilizando AffineTransform.

AffineTransform tr = new AffineTransform ( 0.707107, -0.707106, 0.707106,

0.707106, 0.0, 0.0 );

// Espicificando o tipo de interpolação.

Interpolation interp = new InterpolationNearest();

// Criando um imagen transformada utilizando o operador Affine da API JAI.

PlanarImage im2 = (PlanarImage)JAI.create("affine", im, tr, interp);

2.5 Orientação a Objetos Na orientação a objetos, o programa é composto por objetos, com prioridades e operações

que podem ser executadas por eles, ou seja, a estrutura de dados é definida juntamente com as

funções, neste caso as chamadas de métodos, que poderão ser executadas (Mattos, 2007).

Um objeto geralmente representa algo do mundo real ou fictício que faça parte do domínio

da aplicação, onde este objeto se comporta através de trocas de mensagens e guarda informações

de seu estado. Varios conceitos são aplicados em orientação a objetos, dentre eles destaca-se a

herança que permite a um objeto herdar características e comportamentos de outro objeto, o

polimorfismo fazendo com que um objeto se comporte de maneiras diferentes dependendo da

situação, o encapsulamento que faz com que o objeto guarde seu estado e controle quem pode

acessar essa informação e a composição observada quando um objeto é composto por outros

objetos.

2.6 Padrões de Projeto Projetistas experientes realizam bons projetos, ao passo que novos projetistas são

sobrecarregados pelas opções disponíveis, tendendo a recair em técnicas não orientadas a objetos

que já usava antes. Os projetistas experientes reutilizam repetidamente boas soluções,

consequentemente, padrões de classes e de comunicação entre objetos, reaparecem

frequentemente em muitos sistemas orientados a objetos. Esses padrões resolvem problemas

específicos de projetos (Gamma et al., 1995).

Um padrão de projeto estabelece um nome e define um problema, a solução, quando

aplicar essa solução e suas consequências (Gamma et al., 1995). Os padrões de projeto

descrevem soluções para problemas recorrentes no desenvolvimento de sistemas de software

orientados a objeto. Os padrões de projeto visam facilitar a reutilização de soluções na fase de

15

projeto. Na codificação do MEPPE foram utilizados os seguintes padrões de projeto: factory

method, observer, command.

2.6.1 Factory Method Define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe

instancia. O factory method permite adiar a instanciação para subclasse, a Figura 8 demonstra a

estrutura do padrão (Gamma et al., 1995).

Este padrão de projeto torna-se necessário quando os clientes de um determinado objeto

não sabem, ou não devem saber, quais das diversas classes devem instanciar. O padrão factory

method, permite ao desenvolvedor de classes definir a interface para criar um objeto, enquanto

retém o controle de qual classe será o objeto alocado na memória principal do computador

(Metsker, 2007).

Figura - Estrutura do padrão factory method (Gamma et al., 1995).

Uma das consequências do padrão factory method é conectar hierarquias de classes

paralelas. Tais hierarquias paralelas ocorrem quando uma classe delega alguma de suas

responsabilidades para uma classe separada (Gamma, 1995).

2.6.2 Observer Segundo Gamma et al. (1995) a intenção do observer é definir uma dependência um-para-

muitos entre objetos Figura 9, de maneira que quando um objeto muda de estado todos os seus

dependentes são notificados e atualizados automaticamente.

É um padrão de projeto no qual se utiliza quando se identifica que determinados clientes

de um objeto devem ser informados de que seus estados foram modificados. Geralmente tratam-se

os clientes para que eles requisitem o novo estado do objeto pelo qual eles necessitam (Metsker,

2007).

16

Figura - Estrutura do padrão observer (Gamma, 1995). 2.6.3 Command

Este padrão permite encapsular uma solicitação como um objeto, desta forma permitindo

que clientes parametrizem diferentes solicitações, enfileire ou façam o registro (log) de solicitações

e suportem operações que podem ser desfeitas (GAMMA, 1995).

Os padrões auxiliaram principalmente na organização das classes do software e

possibilitaram mais flexibilidade para promover manutenção e extensão do produto.

2.7 Model View Control A criação de camadas é uma das técnicas mais comuns que os projetistas de software

usam para quebrar em pedaços um sistema complexo de software (Fowler, 2006).

O Model-View-Controller (MVC) considera três papéis (Figura 10). O modelo (Model) é um

objeto que representa alguma informação sobre o domínio. É um objeto não visual contendo todos

os dados e comportamento que não os usados pela interface de usuário. Na sua forma Orientada a

Objeto mais pura, o modelo é um objeto dentro de um modelo de domínio. A visão (View)

representa a exibição do modelo na interface com o usuário. Assim, se o modelo for um objeto

cliente a visão poderia ser uma janela cheia de controles para a interface com o usuário ou uma

página HTML2, com informações de modelo. A visão diz respeito apenas à apresentação de

informações, quaisquer alterações nessas informações são manipuladas pelo terceiro membro da

tríade Modelo Visão Controlador: o controlador. O controlador recebe a entrada do usuário,

2 Acrônimo para a expressão inglesa HyperText Markup Language, a qual é uma linguagem de marcação

utilizada para produzir páginas na Web.

17

manipula o modelo e faz com que a visão seja atualizada apropriadamente. Dessa forma, a

interface com o usuário é uma combinação da visão e do controlador (Fowler, 2006).

Figura - Relacionamento das três camadas do MVC (Fowler, 2006).

Um ponto chave nesta separação é a direção das dependências: a apresentação depende

do modelo, mas o modelo não depende da apresentação. Isso implica que alterações na

apresentação podem ser feitas livremente sem alterar o modelo (Fowler, 2006).

3 Construção do Modelo Parabólico

3.1 Implementação do código Na elaboração do MEPPE foi utilizado o paradigma de programação orientada a objetos,

onde se separam os trechos de código em classes. Essas classes abstraem comportamentos e

estados de objetos. Serão abordadas as classes utilizadas na geração do modelo parabólico. A

interação do usuário é implementada na classe PontoSelecao onde são tratados os eventos de

mouse sobre os pontos de controle. A pré-visualização das ferramentas que serão desenhadas

quando o ponto de controle é movido é implementado na classe de PreVisualizadorFerramenta. O

desenho dos objetos vetoriais é implementado na classe FerramentaVisual.

Classe PontoSeleção

Nesta classe que são tratados os eventos gerados pelo mouse nos pontos de controle das

ferramentas vetoriais que são utilizadas na tela. O PontoSeleção é uma classe que estende as

propriedades de um JPanel e possui como atributo uma FerramentaVisual, um ponto para

localização do mesmo na tela, e um estado que é utilizado para identificar se o mouse está ou não

sobre o PontoSeleção.

Os principais métodos contidos no ponto de seleção, estão em uma classe privada interna

que implementa um MouseImputListner denominado DragController. Essa classe privada consiste

18

em chamar o objeto PreVisualizadorFerramenta pertencente ao objeto FerramentaVisual contido

no PontoSeleção, esta classe PreVisualizadorFerramenta será comentada em breve.

Classe FerramentaVisual

Esta é uma classe abstrata que manipula os dados para impressão na tela. Ela possui um

objeto Ferramenta e um ArrayList que armazena objetos do tipo PontoSeleção, além de possuir um

contêiner que ira manipular pontos de seleção. FerramentaVisual possui outros atributos do tipo

cor da linha, espessura da linha, ícone da ferramenta na árvore de ferramentas (utilizado para

mostrar os itens desenhados na tela).

A classe FerramentaVisual possui métodos de manipulação de seus atributos, como

resgatar cor das linha, modificar cor da linha, mas os métodos mais relevantes são os abstratos de

desenho, esse métodos não são implementados dentro da classe FerramentaVisual mas são em

classes que herdam dela como CurvaVisual, esses métodos são responsáveis pela parte de

desenho da ferramenta.

Classe PreVisualizadorFerramenta

Classe responsável por manipular os eventos do mouse quando está se modificando os

pontos de seleção de lugar, ou quando está sendo inserida uma nova ferramenta na tela.

Classe Ferramenta

Ferramenta é uma classe abstrata que possui atributos relevantes ao processamento

geométrico dos pontos das ferramentas que venham a ser implementada (Polígono, Reta de

medição, Curva), como rotação, zoom, translação. Ela possui atributos como um ArrayList de

pontos, uma ferramenta visual, e armazena o atributos referentes ao ângulo atual da ferramenta.

Classe Curva

Esta é a classe mais importante para a resolução da implementação do modelo parabólico.

Nela encontram-se métodos para a resolução das equações referentes à localização do ângulo

beta e teta, e calculo da curva em si.

Obtenção da linha de controle

Para conseguir o valor da linha de controle, que é necessária para o cálculo do modelo, foi

utilizada a formula capaz de extrair a distancia de dois pontos de um vetor (12), os pontos

utilizados são os pontos de controle inseridos pelo usuário, como visualizado na Figura 11, a

codificação em Java desta operação esta exemplificada no Quadro 11.

19

( ) ( )0101 yyxxR −−−=β ()

Considerando que x, y são as coordenadas dos pontos de inicio e fim da reta βR :

Figura - Exemplo dos pontos de controle.

Quadro - Recuperando o tamanho da linha de controle βR .

// Formula para descobrir o tamanho da linha de controle.

Rbeta = Math.sqrt( Math.pow( extremity.x - headLand.x, 2) + Math.pow(

extremity.y - headLand.y,2) );

Obtenção do Beta

O ângulo beta é formado entre as linhas de crista de onda predominante e a linha de

controle βR . Para encontrar-se o ângulo beta primeiro será necessário saber o comprimento da

linha de Crista de Ondas Predominantes, que é a linha que demonstra a obliquidade das ondas em

relação à praia, então se traça uma linha unindo a linha de crista com a linha de controle formando

um triangulo conforme Figura 12. Para calcular os lados do triângulo, utiliza-se a equação para

calculo de comprimento de um vetor e a codificação desta esta exemplificada no Quadro 12 em

código Java.

20

Figura - Triangulo gerado para recuperar o ângulo Beta.

Quadro - Código utilizado no MEPPE para extrair o tamanho das linhas de crista de cálculo.

// Formula para descobrir o tamanho da linha de crista.

linhaDaCrista = Math.sqrt( Math.pow(waveCrest.x - extremity.x, 2) +

Math.pow(waveCrest.y - extremity.y, 2));

// Formula para descobrir o tamanho da linha axiliar para calculo.

LinhaParaCalculo = Math.sqrt(Math.pow(waveCrest.x - headLand.x, 2) +

Math.pow(waveCrest.y - headLand.y, 2));

Após encontrarem-se os lados do triangulo utiliza-se a Lei dos Cossenos (13) para isolar a

incógnita Beta e encontrar o ângulo. Foi invertida a formula para isolar o cosseno (14), depois foi

realizado, foi retirado o arc. cosseno do cosseno de beta (15), um exemplo de código Java que

realiza essa operação encontra-se no Quadro 13.

( )βcos2222abbac −+= ()

ab

cba

2)cos(

222 −+=β ()

( )( )ββ cosarccos= ()

21

Quadro - Código fonte utilizado no MEPPE para extrair o ângulo Beta.

//Formula lei dos cossenos.

cosBETA = (Math.pow(Math.abs(linhaParaCalculo), 2) -

Math.pow(Math.abs(linhaDaCrista), 2) -

Math.pow(Math.abs(Rbeta), 2)) / ( 2 *

Math.abs(linhaDaCrista) * Math.abs(Rbeta) );

// transformando em graus o arcoseno de coseno de beta.

beta = Math.toDegrees( Math.acos(cosBETA) );

Calculo das constantes

Utiliza-se o modelo apresentado anteriormente na introdução bibliográfica, que são as equações 2,

3 e 4 da pagina 6.

Em posse desses dados é possível calcular o modelo parabólico como demonstrado no Quadro 14

utilizando código Java.

Quadro - Algoritmo utilizado para calcular os pontos da curva.

alfa = 0;

while ( alfa <= limiteDeIncremento ) {

// Calcula o RN conforme formula Hsu.

RN = ((C0) + (C1 * (beta /(beta+alfa))) + (C2 * Math.pow((beta

/(beta+alfa)),2))) * R0;

//cos e sen para localização do ponto na tela

RN_X = RN * Math.cos(razaoTela);

RN_Y = RN * Math.sin(razaoTela);

// adição dos pontos no ArrayList pontos internos.

pontosInternos.add(count, new Point((int)RN_X,(int)RN_Y));

// contador, usado como índice do ArrayList.

count++;

alfa = alfa + incremento;

}

22

3.2 Renderização do Modelo Parabólico

Para desenhar o modelo na tela, é necessária a modificação do ponto de origem do plano

de coordenadas, para cima do promontório ou ponto de difração da onda. Sem a modificação do

ponto de origem, o modelo é impresso sem sincronia com a imagem vertical ou planta da praia

como demonstra a Figura 13.

Outro destaque é o fato de que se faz necessário encontrar um ângulo alfa para a

diferença de graus do novo ponto com o sistema de coordenadas demonstrado na Figura 14.

Figura - Impressão do modelo sem a mudança do ponto de origem.

23

Figura - Esquema para impressão correta dos pontos ·.

Com essas modificações o modelo é impresso corretamente como verificado na Figura 15.

Figura - Impressão do modelo após correção do ponto de origem e coordenadas .

Descoberta da configuração do modelo

24

Para uma melhor experiência do usuário, resolveu-se detectar a localização do

promontório e da praia automaticamente, isso é necessário, pois quando rotaciona-se a imagem

vertical ou planta da praia juntamente com o modelo, este perde a referencia de qual lado deve ser

impresso, conforme ilustra a Figura 16.

Figura - Erro causado após rotação do modelo.

Para resolver esse problema foi implementado um algoritmo que se baseia nos pontos de

controle para definição de onde o modelo deve ser impresso. Tal algoritmo foi realizado utilizando

as formulas do coeficiente angular (16), equação fundamental da reta (17) e equação geral da reta

(18), aplicadas na linha de controle βR .

x

ym

∆= ()

( )00 xxmyy −=− ()

0=++ cbyax ()

Descobrindo assim a posição da linha de controle em relação ao plano de coordenadas,

após isso, verifica-se o ponto de controle “Direção Predominante de Ondas” para saber se ele

encontra-se em acima ou abaixo da reta βR .

Com posse desses dados, é possível manipular os pontos do modelo, para que eles sejam

impressos na posição correta, conforme a Figura 17.

25

Figura - Modelo impresso corretamente após rotação.

3.3 Interface Gráfica Para o desenvolvimento da interface gráfica, foi utilizada a API Java Swing. Esta API é

independente de plataforma, fazendo com que a interface desenhada fique igual em diversos

sistemas operacionais. O Java Swing é desenhado pela Java Virtual Machine, utilizando pouca

requisição do sistema operacional, o que o torna mais lento do que APIs que aproveitam recursos

do sistema operacional, como Java AWT. Porem a vantagem mais evidente é sua portabilidade.

3.4 Protótipos Desenvolvidos Protótipos foram desenvolvidos durante a codificação do MEPPE, o primeiro deles (Figura

18), foi feito com intuito de testar algoritmos de manipulação de imagem e aprender a utilizar a

biblioteca JAI. O segundo protótipo (Figura 19) foram realizadas as codificações das ferramentas,

manipulações geométricas e também os tratadores de eventos. Mudanças na interface de usuário

ocorreram entre o segundo protótipo e a versão final (Figura 20), porem muitas das

funcionalidades criadas durante os protótipos foram reutilizadas.

26

Figura - Protótipo para teste de manipulação de imagens.

Figura - Protótipo de teste das implementações das ferramentas.

27

Figura - Versão final do MEPPE.

3.5 Disponibilização do Software Para a disponibilização do MEPPE, elaborou-se um site utilizando de tecnologias web de

cliente servidor para armazenar dados dos usuários que fizessem download do MEPPE através de

um formulário requerido antes da realização do mesmo, também no site foram publicadas

referências a artigos relacionados ao MEPPE bem como informações de contato e sobre do que se

trata o MEPPE. O Site foi publicado em inglês e encontra-se no domínio

[siaiacad17.univali.br/mepbay], a Figura 21 mostra a pagina inicial do site.

Figura - Pagina inicial do site.

28

Com base nas informações do formulário de download que os usuários devem preencher

para baixar o MEPPE foi criado um mapa com ferramentas da Google que destaca as localizações

dos downloads conforme a Figura 22. Foi anexada a tabela utilizada para gerar o mapa dos

downloads (APÊNDICE A).

Figura - Locais onde foram realizados downloads do MEPPE.

4 Auto-Avaliação

Quando entrei no projeto, eu estava cursando o 2º período do curso de Ciência da

Computação UNIVALI, onde o aprendizado é focado em C++ utilizando generalização com

template e ponteiros, utilizando uma abordagem estruturada e procedural. A escolha de Java fez

com que estudasse o paradigma de programação orientada a objeto, além de ter que aprender a

utilizar uma linguagem nova.

Como o projeto exige conceitos de Oceanografia, tive aulas numa turma do professor

Antonio H. F. Klein, sobre praias de enseada, equilíbrio de praias de enseada e morfologia.

Outros estudos realizados foram na área de Computação Gráfica, estudando desde

transformações geométricas em objetos vetoriais como em imagens, além de aprender a

29

composição e o tratamento de imagens. Aprendi também a utilizar APIs do Java como JAI, Java

Swing, AWT, Java2D aplicando os conhecimentos de computação gráfica.

Para trabalhar com mais eficiência utilizando a abordagem de Orientação a Objetos

estudou-se os Padrões de Projeto para aproveitar as soluções criadas por projetistas de software.

Este tipo de estudo fez com que além de programar e tratar problemas específicos, eu aprendesse

a ter uma percepção da construção de um software completo assim como a visão de analista de

software, tomando decisões antes de escrever uma linha de comando.

No projeto, amadureci meus pensamentos como profissional da área de computação,

desenvolvendo um melhor aprendizado dos conteúdos abordados em sala de aula, vivenciando os

problemas existentes na construção de um software complexo.

Aprendi também a escrever relatórios como esse, utilizando da metodologia científica e a

realizar apresentações orais.

Lista de aprendizado realizado na elaboração deste relatório:

• Sempre citar figura, quadro, equação e etc., no texto, pois sem isso o leitor não identificará

o porquê destes estarem ali.

• Indicações de referências, figuras, quadros e equações devem estar dentro do parágrafo.

Antes do ponto final.

• Colocar a referência do texto ou parágrafo no momento em que se está escrevendo o

mesmo, para evitar a releitura de livros e artigos, procurando o autor do trecho

documentado no relatório.

• Referências bibliográficas possuem uma ordem de inserção.

• Referências com mais de dois autores, utilizar a expressão et al.

• Padronizar símbolos de equações.

• Escrever formalmente.

• Dispor equações no texto.

• Adaptar as imagens para o mesmo idioma utilizado no texto.

• Introduzir uma sigla com seu significado, na primeira vez que ela é utilizada, para depois

disso, apenas mostrar a sigla.

• Palavras em outro idioma devem estar em itálico.

• No momento da correção do texto se atentar para não esquecer nenhum detalhe,

contribuindo assim com a paciência do revisor, pois ele não terá que revisar a mesma

coisa duas vezes.

• Elaboração de resumo estendido para congressos, ANEXO A.

• Criação e apresentação de Painel para congressos, ANEXO B.

• Elaboração de pedido de registro de software. ANEXO C.

30

REFERÊNCIA BIBLIOGRÁFICA Azevedo, E, Computação Gráfica: Teoria e Pratica , Campus, 2003. Fowler, M.; Patterns of Enterprise Application Architecture, Person Education, 2006. Hsu, J.R.C.; Evans, C.; Parabolic bay shapes and applications, Instn. Civ. Eng., Proc., London, England, 87: 556-570. 1989. Hsu, J. R. C.; Benedet, L.; Klein, A. H. F. ; Raabe, A. L. A. ; Tsai, C. ; Hsu, T.; Appreciation of Static Bay Beach Concept for Coastal Management and Protection. Journal of Coastal Research, v. 24, p. 198-215, 2008. Klein, A.H.F., Vargas, A., Raabe, A.L.A., Hsu, J.R.C., Visual Assessment of Bayed Beach Stability using Computer Software, Computers & Geosciences, 29: 1249-1257. 2003. Lausman, R., Klein, A.H.F., Stive, M., Uncertainty in the application of Parabolic Bay Shape Equation: A case study, Coastal Engineering, 2010. Mattos, E. C. T., Programação de Software em Java, Digerati Books, 2007. Metsker, S.J., Wake W. C. Design Patterns in Java, Person Education, 2006. Raabe, A.L.A.; Klein, A.H.F.; González, M.; Medina, R., MEPBAY and SMC: Software tools to support different operational levels of headland-bay beach in coastal engineering projects. Coastal Engineering, 57, (2) 213-226. 2010. Santos, R., Java Advanced Imaging: A tutorial [Internet], 2004. [acesso em 2008 Julho 20] Disponível em: http://seer.ufrgs.br/index.php/rita/article/viewFile/rita_v11_n1_p93-124/3555 Sun Microsytens, Programming in Java™ Advanced Imaging, 1999. Vargas, A., Klein, A.H.F., Raabe, A.L.A., Modelo de Equilíbrio em Planta de Praia de Enseada, Itajaí. 2002

31

APÊNDICES

32

APÊNDICE A - Tabela dos Downloads do MEPPE Este apêndice tem como objetivo apresentar as Tabela 1 a 5, contendo a relação dos downloads apresentados na Figura 22. Tabela - Relação de downloads do MEPPE.

Instituição Endereço Uso Coastal Planning & Engineering do Brasil, Ltda.

R. Bocaiuva, 2159-2221 - Centro Florianpolis - SC, 88015-530 projeto

Royal Haskoning Marlborough House, Marlborough Crescent, Newcastle upon Tyne NE1 4EE, United Kingdom

projeto

Laboratorio Nacional de Engenharia Civil Av. do Brasil 101, 1700 Lisboa, Portugal projeto

KV Consultores Calle de Serrano, 16, 28001 Madrid, Espanha projeto

Hydrosoft SA 95 58 Av, St-Zotique, QC J0P 1Z0, Canada - (450) 267-9453 pesquisa

COWI Papirfabrikken 28, 8600 Silkeborg, Danmark projeto University of Calabria Via Pietro Bucci, 87036 Rende CS, Italy ensino Halcrow 22 Cortlandt St, New York projeto Universidade do Algarve - CIMA

Universidade do Algarve, Campus de Gambelas, Faro, Portugal

pesquisa

Aristotle University of Thessaloniki (AUTh)

Lab. of Maritime Engineering and Maritime Works, Div. of Hydraulics and Environmental Engineering, Dept. of Civil Engineering, Faculty of Engineering, Aristotle University of Thessaloniki, Thessaloniki, Greece, GR-54124

ensino

UNIVALI Rua Uruguai, Itajaí ensino LKS Ingenieria C/ Ourense 41, 6º B. 27004. Lugo. Spain projeto University of Catania Viale A. Doria 6 - 95125 Catania -ITALY ensino

University of East London University of East London, University Way, London. E16 2RD

ensino

UNIVERSIDAD POLITECNICA DE MADRID - E.T.S. INGENIEROS DE CAMINOS, CANALES Y PUERTOS

Profesor Aranguren, s/n Ciudad Universitaria 28040 Madrid Spain ensino

CEPEMAR Avenida Carlos Moreira Lima, 80 - Bento Ferreira, Vitória - ES pesquisa

US Army Corps of Engineers

4735 E. Marginal Way S., Seattle, WA 98124, USA

projeto

Dubai Municipality PO Box 67, Dubai projeto university of connecticut 1080 shennecossett road, grotn, ct 06340 ensino sandwell engineering vancouver bc canada projeto

tonkin & Taylor Ltd 105 Carlton Gore Road, Newmarket, Auckland, New Zealand projeto

Shoreplan Engineering Ltd

55 Eglinton Ave E Toronto ON Canada M4P 1G8 projeto

NIWA PO Box 11115, Hamilton, NZ projeto Shoreplan Engineering Ltd

55 Eglinton Ave E Toronto ON Canada M4P 1G8

projeto

33

Tabela - Relação de downloads do MEPPE continuação.

Instituição Endereço Uso

Cadiz University Departamento Ciencias de la Tierra. CASEM Poligono Rio San Pedro SN Puerto Real, Cadiz (Spain) 11510

ensino

HRC-Consulting Engineers 23, Ikarias str., Ekali 14578, Athens, Greece projeto

University of Victoria Bc 3800 Finnerty Road, Victoria, BC V8N 1M5, Canada

pesquisa

Sinclair Knight Merz 256 Adelaide Tce, Perth, Western Australia ensino

Oceanica Consulting PO Box 3172, Broadway Nedlands WA 6009 Australia

projeto

Hanbat National University

san 16-1, duckmyoung-dong, yuseong-gu, daejeon, korea ensino

worleyparsons Level 7, QV1 Building, 250 St Georges Terrace, PERTH WA 6000

projeto

nanyang technological university

Nanyang Technological University, 50 Nanyang Avenue,639798,Singapore, pesquisa

GHD 239 Adelaide Terrace projeto East Sea Research Institute, KORDI 695-1 Hujeong-ri, Jukbyeon-myeon pesquisa

Ocean Engineering, Bandung Institute of Technology (ITB)

Jl. Ganesha 10, TP Rahmat Building (Labtek VI) 3rd Floor, Bandung, 40124, West Java, Indonesia

ensino

Aurecon PO BOX 494, CAPE TOWN, 8000, SOUTH AFRICA pesquisa

Arak University Iran, Arak, Beheshti st., Universty of Arak pesquisa AMET University 135, ECR, Kanathur, Chennai 112, India pesquisa INCDM Constanta (www.rmri.ro) Mamaia 300, 900581 Constanta, Romania pesquisa

Environment Agency Worthing, UK pesquisa PAP/RAC Kraj. Ivana 11 21.000 Split (Croatia) pesquisa WSP Africa Coastal church Street, Stellenbosch, south africa projeto

Atkins Transport House, Crown Industrial Estate, Taunton, Somerset, UK, TA2 8QY

projeto

TU Delft Stevinweg 1, Delft, Netherlands pesquisa Tohoku University 6-6-06 Sendai, Japan ensino Progetti e Opere Viale delle Magnolie 36 - 90146 Palermo projeto

University of Southampton

School of Civil Engineering and the Environment, University of Southampton, Highfield, Southampton. SO17 1BJ. UK

pesquisa

Universitat Politecnica de Catalunya

c/ Jordi Girona 1-3, Campus Nord ed D1, 08034 Barcelona, Spain ensino

Universidad Nacional de Colombia Cr 80 # 65-223 M2, 209 ensino

Baird & Associates Padre Mariano # 181, Of 902 Providencia, Santiago, Chile.

projeto

Coastal Research Institute, Egypt

15, El Pharana st., El Shalalat, Alexandria, Egypt pesquisa

dhi-italia Via Luigi Cadorna, 7 17100 Savona SV, Italia projeto UNMSM universitaria av S/N Lima, Peru pesquisa University of Genoa Via Montallegro 1 ensino opus uk fareham, HANTS , uk Ensino

34

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso Coastal Planning & Engineering do Brasil, Ltda.

Rodovia José Carlos Daux (SC 401), No 8.600, Sala 05 Bloco 6, Bairro: Santo Antônio de Lisboa, Florianópolis, SC

projeto

U. Stellenbosch, Sudafrica Stellenbosh, Western Cape, Sudafrica pesquisa

Intecsa-Inarsa Santa Leonor, 32; 28037 - Madrid; Spain projeto GENIVAR 1175, Lebourgneuf, Québec, Canada projeto UNAM Ciudad Universitaria, Mexico, DF ensino TYPSA - spanish consulting company

Avenida de Juan Carlos I, 31, 30009 Murcia, España

ensino

GENIVAR 1175, Lebourgneuf, Québec, Québec, Canada, G1C 1J2 projeto

Scott Wilson Scott House, Basingstoke, RG21 7PP, UK projeto Dept. of Civil Engineering, Udayana University

Bali-Indonesia ensino

IOUSP Praça do Oceanográfico, 191 São Paulo - SP CEP 05508-120 ensino

aix marseille université CEREGE , BP 80, 13545 Aix en Provence Cedex04, France

ensino

Tarbiat Modares University Tehran, Iran ensino

UFRGS Av. Bento Gonçalves 9500 ensino Khaje Nasir Toosi university of technology- tehran, Iran

valiasr, Tehran, Iran pesquisa

DBC No. 11 South Kaj St., Zabety St., Heravi Sq., Tehran, Iran ensino

Sogreah Dubai projeto WorleyParsons Oman projeto Tu Delft Steinsweg, 1 Delft Netherlands ensino

PTP 5 Moghaddam St., Mirzaye Shirazi Ave., Tehran Iran

projeto

KISR Kuwait pesquisa ncst 1616 E millbrook rd, raleigh, nc 27609 ensino Coastal Planning & Engineering, Inc. 2481 Boca Raton Blvd. Boca Raton FL 33431 projeto

Caribbean Oceanography Group

2305 Cacique St., San Juan PR 00913 projeto

UTM Kuala Lumpur (Malaysia) pesquisa Dept of Env, Climate Change, Water

Honeysuckle Drive, Newcastle West, NSW, 2300 pesquisa

USACE 2735 E. Marginal Way South, Seattle, wa projeto

UFRJ Cidade Universitaria - Iha do Fundão - Rio de Janeiro projeto

Ohio Department of Natural Resources - Office of Coastal Management

West Shoreline Drive, Sandusky, 105, Ohio, USA, 44870 projeto

35

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso ICOS MG Road, B-405, Mumbai, , India, 400067 projeto University of Cagliari, Dept of Land Engineering Piazza d'Armi - Cagliari, 2, CA, ITALY, 09123 pesquisa

PB 32, Tmn Sg Chua, 32, Selangor, Malaysia, 43000 ensino

Royal Boskalis Westminster NV

Rosmolenweg , 20, Papendrecht, The Netherlands, 3350 AA projeto

UFPB UFPB/CT/DECA, S/N, Paraiba, Brasil, 58051-900

pesquisa

Modimar s.r.l. via monte zebio, 40, italy, lazio, 00195 projeto University Bremen Klagenfurtstr., 5, Bremen, Germany, 28203 pesquisa international coastal managment

g arm southport yacht club, 50/51, QLD, Australia, 4217 pesquisa

Coast & Harbor Engineering

3410 Far West Blvd, Austin, 210, TX, USA, 78731

projeto

COWI Jens Chr Skousvej, 9, none, DK, 8000 projeto Environment Agency, UK Chatsworth Rd, 0, East Sussex, UK, BN11 1LD pesquisa

Sea Spectrum Co., Ltd. Sukumvit 71, 1000/61, Bangkok, Thailand, 10110

projeto

Water Resources University Tay Son, 175, Hanoi, Vietnam, 10000 ensino

University of Queensland Hawken Drive, 20, Queensland, Australia, 10000 ensino

University of L'Aquila Piazzale Pontieri, 1, ITALY, ITALY, 67040 ensino particular Palqui , 2933, Ñuñoa, Chile, 12121212 ensino sea engineering, inc. Makai Research Pier, NA, HI, USA, 96795 projeto

UFRGS Av. Bento Gonçalves, 9500, rgs, brasil, 90000000

ensino

University of Bucharest N. Balcescu, 1, Bucharest, Romania, 01004 pesquisa Dalian University of Technology

LingGong Road, 2, Liaoning, China, 116024 pesquisa

Institute of Fluid Mechanics and Environmental Engineering (IMFIA). Universidad de la República

Julio Herrera y Reissig, 565, Montevideo, Uruguay, 11300

ensino

bucharest university nicolae balcescu, 1, ilfov, romania, 07000 pesquisa

UFBA Av. Princesa Leopoldina 17 - apt 1401, 17, Bahia, Brazil, 40150-080 ensino

Universidade Federal do Rio Grande - FURG Alfredo Huck, 475, RS, Brasil, 96200000 ensino

Tonkin & Taylor Ltd Carlton Gore , 105, Auckland, New Zealand, 0627

projeto

TU Delft Stevinweg, 1, Zuid Holland, Netherlands, 2628CN ensino

DHI water and Environment

Pandan Loop, 200, singapore, singapore, 128388

pesquisa

UGR c/ Almoraima , 17, Cadiz, España, 11360 ensino University of L'Aquila P.le Pontieri , 1, Monteluco di Roio, Italy, 67040 ensino

36

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso National Sun Yat-sen University

Lienhai Rd, 70, Kaohsiung , Taiwan, R.O.C., 80424

pesquisa

Universidade Lusofona do Porto

Rua Augosto Rosa, 24, Porto, Portugal, 4000-098 pesquisa

National Sun Yat-sen University

Lienhai Road, Kaohsiung City, 70, TAIWAN, Republic of China, 80424 ensino

Hiroshima University Kagamiyama, Higashi-hiroshima, 1-5-1, Hiroshima, Japan, 739-8529 ensino

COWI India Private Limited

CP RAMASWAMY ROAD, CHENNAI, 68, TAMILNADU, INDIA, 600041 pesquisa

Udayana University Jimbaran, 0, Badung, Bali, 80145 ensino CBCL Limited Hollis, 1489, NS, Canada, B3J2R7 projeto

37

ANEXOS

38

ANEXO A - Resumo estendido CBO 2010 Este anexo tem como objetivo apresentar o resumo estendido apresentado durante o IV Congresso Brasileiro de Oceanografia que ocorreu em maio de 2010. DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA ANÁLISE

DO EQUILÍBRIO EM PLANTA DE PRAIAS DE ENSEADA

Pelz, F. D.1,2 ; Raabe, A. L. A.1 ; Klein, A. H. F. 1,3

1Universidade do Vale do Itajaí (UNIVALI), Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar). Rua Uruguai n° 458, Centro, CEP 88302-202 - Itajaí, SC – Brasil. [email protected].; [email protected]; [email protected] 2 CNPq 500249/2007-5 Bolsa de Iniciação Científica. 3 Bolsista de Produtividade – CNPq

RESUMO Este trabalho apresenta a terceira versão do software MEPBay. Este é usado para analisar o equilíbrio em planta de praia de enseada utilizando o modelo parabólico aplicado em mapas, imagens de satélite e/ou fotografias aéreas verticais de praias de enseada. Para tanto foram apontadas as limitações da versão anterior que são: limite no tamanho da imagem, falta de suporte para imagens do tipo TIFF, simulação de somente uma curva (resultado do modelo parabólico) e impossibilidade de fazer operações de rotação. Para suprir as necessidades apontadas foram estudadas tecnologias onde se priorizou os problemas relacionados a manipulação de imagens. A tecnologia escolhida foi Java pela rica biblioteca de manipulação de imagens disponível. Utilizou-se de técnicas de computação gráfica para calcular e desenhar o modelo no local correto. Foram realizados protótipos e testes com o modelo comparado-o com a versão 2.0, então foi elaborado a nova versão com base nos testes. No inicio da ultima fase foi construído um site para disponibilizar informações sobre o MEPBay e um link para download da ferramenta.

Palavras chave: Modelo Parabólico, MEPBay.

INTRODUÇÃO

O MEPBay é uma importante ferramenta para auxílio dos estudantes e demais profissionais das áreas de Oceanografia, Engenharia Costeira, Geologia Costeira e Geografia na análise morfológica, das praias de enseada, e suas alterações (KLEIN et al.,2003; RAABE et al. 2010). Para tanto o usuário necessita entrar com os dados para o cálculo de modelo parabólico como a localização do promontório, a localização do final da praia, e a direção predominante das ondas. Com tais dados o software pode então calcular a linha teórica da costa e desenhá-la na tela. Comparando a linha desenhada pelo software com imagens verticais ou mapas o usuário pode então verificar em que tipo de equilíbrio a praia se encontra.

Com o uso contínuo do MEPBay 1.0 e 2.0 foram encontradas limitações destacadas por LAUSMAN et al. (2010), surgindo assim a possibilidade de evoluir a experiência do usuário com a elaboração de uma nova versão que suprisse as necessidades encontradas com o decorrer do uso do MEPBay. As principais limitações listadas também por RAABE et al. (2010) são relacionadas à manipulação de imagem, destaca-se aqui a incompatibilidade com imagens de grande formato e com o tipo de arquivo TIFF; outra limitação é a impossibilidade de rotacionar a imagem e/ou projeto, bem como a a impossibilidade de simular mais de um modelo de curva no mesmo projeto.

MATERIAIS E MÉTODOS

39

O modelo parabólico é uma equação polinomial de segunda ordem (Eq. 1) contendo dois parâmetros físicos primários, sendo βR a linha de controle e β a obliquidade das ondas, ou seja,

ângulo entre a crista da onda incidente a linha de controle, que une o ponto de difração de ondas a um ponto na praia quase em linha reta (ponto final) (SILVESTER et al., 1993, 1997), com pares de ângulo θ e raios

nR é possível desenhar o modelo estático da costa, como visto na Fig. 1.

( )2

21 /*/*/ nnon CCCRR θβθββ ++= (1)

As três constantes C presentes na formula do modelo parabólico foram geradas pela análise de regressão de 27 protótipos de modelos de baías. Os valores das constantes C delimitam-se de 2.5 à -1.0 para a variação de β entre 10º a 80º aplicável na maioria das condições, e são representadas por equações polinomiais de quarta ordem dependentes do ângulo β, como se segue (RAABE et al.,2010):

432

0 50000000476.000000875.0000349.00047.00707.0 ββββ +−+−=C (2)

432

1 000001281.00000182.000004879.00078.09536.0 ββββ −+−+=C (3)

432

2 30000000934.000001183.00003004.00078.00214.0 ββββ +−+−=C (4)

Figura 1 – Esboço do modelo parabólico mostrando principais parâmetros (RAABE et al.,2010).

Para a codificação do modelo é necessário isolar as variáveis com base nos pontos inseridos pelo usuário. Esta operação foi descrita por KLEIN et al. (2003), porém a diferença aqui é a não utilização da tabela de valores conhecidos das constantes C e sim a utilização das equações (Eq. 2 - 4) para obtenção das mesmas.

Para realizar operações de rotação e zoom sobre o modelo parabólico utiliza-se de álgebra linear aplicado sobre cada ponto de controle para definição da nova localização do modelo rotacionado e/ou escalonado e então é refeito o calculo do modelo.

A linguagem computacional utilizada foi Java por ser orientada a objetos e possuir bibliotecas de código fonte para manipulação de imagens, interface gráfica e desenhos vetoriais, recursos estes disponibilizados gratuitamente, pesando na escolha da linguagem.

Técnicas de engenharia de software, como padrões de projeto, foram utilizados na elaboração de todo o sistema. Padrões de projeto descrevem soluções para problemas recorrentes no desenvolvimento de sistemas software orientado a objetos. Um padrão de projeto estabelece um nome e define um problema, a solução, quando aplicar essa solução e suas consequências (GAMMA et al., 1995).

Os principais padrões de projeto adotados foram o Observer utilizado na notificação de mudanças de estados das ferramentas para o restante da aplicação, com um fraco acoplamento de código; O Factory Method utilizado na criação polimórfica das ferramentas inseridas pelo usuário; E o Command utilizado para encapsular requisições do usuário, permitindo a funcionalidade de desfazer e refazer. Estes padrões de projeto servirão para colaborar na manutenção e inclusão de novas funcionalidades ao MEPBay.

40

RESULTADOS E DISCUSSÕES Com a utilização de Java como plataforma para executar o MEPBay 3.0 foi retirada a

incompatibilidade com versões mais recentes do Windows presente na versão 2 do MEPBay e também a utilização do MEPBay em diferentes sistemas operacionais como Linux e Mac OS.

Funcionalidades foram acrescentadas na nova versão como rotação e outras ferramentas foram incluídas como medição de área e distância. Uma das diferenças mais impactantes na mudança de versão é a maneira como o usuário interage com a ferramenta curva. Na versão anterior (MEPBay 2.0) era necessário adicionar cada ponto de controle individualmente utilizando três botões distintos, um para cada ponto de controle, implicando na simulação de apenas um modelo por projeto, dificultando o uso da aplicação em praias com mais de um ponto de difração. Na nova versão (MEPBay 3.0) os pontos de controle do modelo parabólico são agregados a um objeto curva e não mais ao projeto, possibilitando então, mais de três pontos de controle, três por curva, o que implica em mais de uma simulação. Destaca-se que na nova versão o desenho da curva é feita automaticamente sem a necessidade de indicar em que local do plano da imagem está o promontório e a costa como era feito na versão anterior, as diferenças podem ser vistas na Fig. 2.

Figura 2 – Diferenças de interface entre as versões 2 e 3 do MEPBay.

Para divulgação do MEPBay foi construído um site onde será disponibilizadas informações sobre e link para download [http://siaiacad17.univali.br/mepbay](Fig. 3). O software será testado por um grupo de pessoas, onde, pretende-se verificar se a interface de usuário esta adequada e se ele disponibiliza os resultados da forma adequada.

Figura 3 – Site onde o MEPBay esta disponível para download.

41

REFERÊNCIAS GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. 1995 Design patterns: Elements of reusable -object-oriented software. Addison Wesley, Reading, MA. KLEIN, A.H.F; VARGAS, A.; RAABE, A.L.A; HSU, J.R.C. 2003 Visual assessment of bayed beach stability with computer software. Computer & Geosciences, 29 (10) 1249 -1257 LAUSMAN, R.; KLEIN, A.H.F.; STIVE, M.J.F. 2010 Uncertainty in the application of the Parabolic Bay Shape Equation: Part 1. Coastal Engineering, 57, (2) 132-141 RAABE, A.L.A.; KLEIN, A.H.F.; GONZÁLEZ, M.; MEDINA, R. 2010 MEPBAY and SMC: Software tools to support different operational levels of headland-bay beach in coastal engineering projects. Coastal Engineering, 57, (2) 213-226 SILVESTER, R.; HSU, J.R.C. 1993 Coastal Stabilization: Innovative Concepts. Prentice-Hall, Englewood Cliffs, NJ. 578 pp. SILVESTER, R.; HSU, J.R.C.1997 Coastal Stabilization. World Scientific Publ. Co., Singapore. 578pp. (Reprint of Silvester and Hsu,1993.)

42

ANEXO B - Certificado CBO 2010 Este anexo tem como objetivo apresentar o certificado obtido com a apresentação em painel do resumo estendido no IV Congresso Brasileiro de Oceanografia verificado na Figura 23.

Figura - Certificado de apresentação de painel CBO2010.

43

ANEXO C – Formulário de registro de software Este anexo tem como objetivo apresentar o formulário que será apresentado a Pró-Reitoria de Pesquisa, Pós-graduação, Extensão e Cultura da UNIVALI para providenciar o registro de software do MEPPE. À Pró-Reitoria de Pesquisa, Pós-Graduação, Extensão e Cultura Departamento de Extensão e Cultura Central de Prestação de Serviços

Prezado Professor:

Eu, Fillipi Domingos Pelz, 4.625.471-4, 061.720.589-24, aluno, matrícula 07.1.0917, do Centro de Ciências Tecnológicas da Terra e do Mar, do curso de Ciência da Computação, encaminho a este Departamento os documentos abaixo relacionados, a fim de dar início à avaliação de pertinência do pedido de registro do programa de computador denominado “MEPBay 3 ou MEPPE 3”.

Relação de documentos anexos: Material Nº de

páginas (x) Relatório de registro de programa de computador (x) Publicações relacionadas ao presente programa de

computador

() Cópia do contrato de direitos de propriedade intelectual firmado entre a UNIVALI, entidade(s) e empresa(s) participante(s), quando for o caso.

(x) Outros documentos julgados pertinentes: - Listagem de downloads já realizados - Resumo estendido apresentado no Congresso

Brasileiro de Oceanografia

Itajaí, __ de _______ de ____.

Atenciosamente,

Assinatura

Ilmo. Sr. Prof. José Everton da Silva Responsável Propriedade Intelectual Nesta Universidade

RELATÓRIO DE REGISTRO DE SOFTWARE 1

________________________________________________________________________________

_______

DADOS DO(S) TITULAR(ES) (Preencha somente se o programa de computador for em co-titularidade com empresa(s), órgão(s) público(s) ou pessoa(s) física(s) sem vínculo com a UNIVALI)

Nome da Instituição CGC ou CPF

DADOS DO(S) AUTOR (ES) Nome civil completo: Fillipi Domingos Pelz

Centro: CTTMar Departamento: Ciência da Computação

Fone comercial: (47) 33417544

Ramal: 8057

Fax: E-mail: [email protected]

Identidade Nº: 4.625.471-4 Órgão expedidor: SSP Data de emissão: 15/06/1999

CPF: 061.720.589-24 Data nascimento:

02/07/1989

Estado Civil: Solteiro

Nacionalidade: Brasileiro Naturalidade: Balneário Camboriú - SC

Endereço Residencial Completo: Rua 500, 904 - Balneário Camboriú – SC

Bairro: Centro CEP: 88330-638

Telefone Residencial: (47)3366-4525 Celular: (47)8859-8088

Vínculo com a UNIVALI

( ) Professor ( ) Técnico-administrativo ( x ) Aluno Graduação

( ) Aluno Especialização ( ) Aluno Mestrado ( ) Aluno Mestrado Profissionalizante ( ) Aluno Doutorado

Participante Externo UNIVALI

( ) Professor ( ) Técnico-administrativo ( ) Aluno Graduação ( ) Aluno Pós-Graduação

Informe Instituição:

% Contribuição no presente programa: 60%

Tem outro programa de computador registrado junto ao INPI: ( ) Sim ( x ) Não

RELATÓRIO DE REGISTRO DE SOFTWARE 2

________________________________________________________________________________

_______

Nome civil completo: André Luís Alice Raabe

Centro: CTTMar Departamento: Ciência da Computação

Fone comercial: 33417500 Fax: 33417544 E-mail: [email protected]

Identidade Nº: Órgão expedidor: Data de emissão:

CPF: 673.278.740-49 Data nascimento:

09/11/1973

Estado Civil: Casado

Nacionalidade: Brasileiro Naturalidade: Rio Pardo

Endereço Residencial Completo: Rua 3150, nº 470 casa

Bairro: Centro CEP: 88330-281

Telefone Residencial: 47 3301 0103 Celular: 8403 1153

Vínculo com a UNIVALI

( x ) Professor ( ) Técnico-administrativo ( ) Aluno Graduação

( ) Aluno Especialização ( ) Aluno Mestrado ( ) Aluno Mestrado Profissionalizante ( ) Aluno Doutorado

Participante Externo UNIVALI

( ) Professor ( ) Técnico-administrativo ( ) Aluno Graduação ( ) Aluno Pós-Graduação

Informe Instituição:

% Contribuição no presente programa: 20%

Tem outro programa de computador registrado junto ao INPI: ( X ) Sim ( ) Não

RELATÓRIO DE REGISTRO DE SOFTWARE 3

________________________________________________________________________________

_______

Nome civil completo: Antonio Henrique da Fontoura Klein

Centro: CTTMar Departamento: Oceanografia

Fone comercial: 47 3341-7718 Fax: 47 3341 7715 E-mail: [email protected]

Identidade Nº: 6.448.518 Órgão expedidor: ssp-sc Data de emissão:

CPF: 696.210.710-20 Data nascimento:

29/01/1966

Estado Civil: Casado

Nacionalidade: Brasileiro Naturalidade: Pelotas, RS

Endereço Residencial Completo: Rua Primo Uller Júnior, 147 – Itajaí – SC

Bairro: Ressacada CEP: 88307-450

Telefone Residencial: 47 3348 6152 Celular: 47 9186 2009

Vínculo com a UNIVALI

( x ) Professor ( ) Técnico-administrativo ( ) Aluno Graduação

( ) Aluno Especialização ( ) Aluno Mestrado ( ) Aluno Mestrado Profissionalizante ( ) Aluno Doutorado

Participante Externo UNIVALI

( ) Professor ( ) Técnico-administrativo ( ) Aluno Graduação ( ) Aluno Pós-Graduação

Informe Instituição:

% Contribuição no presente programa: 20%

Tem outro programa de computador registrado junto ao INPI: ( X ) Sim ( ) Não

RELATÓRIO DE REGISTRO DE SOFTWARE 4

________________________________________________________________________________

_______

NFORMAÇÕES SOBRE O PROGRAMA DE COMPUTADOR (PARA ESTA SEÇÃO, SE NECESSITAR DE FOLHA ADICIONAL, IDENTIFIQUE-A COMO ANEXO 1) • MEPBay 3: Model of Equilibrium of Bay Beaches. • MEPPE 3: Modelo de Equilíbrio em Planta de Praia de Enseada. NOTA 1: não utilize expressões designativas das funções executadas pelo programa. Por exemplo: gerenciador de bases de dados, editor de texto. NOTA 2: a proteção ao nome comercial do programa de computador pode ser obtida concomitantemente às

providências relativas ao registro, bastando informar o nome comercial como título do programa de

computador.

• DATA DE CRIAÇÃO DO PROGRAMA DE COMPUTADOR: A versão 3 do MEPPE foi disponibilizada à comunidade no dia 10/12/2009

NOTA: entende-se por data de criação a primeira utilização do programa ou sua disponibilização a terceiros • LINGUAGEM(S) DE PROGRAMAÇÃO NA(S) QUAL (IS) FOI DESENVOLVIDO E ESTÁ DISPONIBILIZADO O PROGRAMA: Java • O PRESENTE PROGRAMA DE COMPUTADOR É UMA MODIFICAÇÃO TECNOLÓGICA OU DERIVAÇÃO (NOVA VERSÃO) DE OUTRO JÁ EXISTENTE?

Sim (X) Não () Caso afirmativo, informe o título do programa original: MEPPE 1.0, MEPPE 2.0, MEPBAY.

1

INFORMAÇÕES SOBRE O PROGRAMA DE COMPUTADOR (PARA ESTA SEÇÃO, SE NECESSITAR DE FOLHA ADICIONAL, IDENTIFIQUE-A COMO

ANEXO 2) • DESCRIÇÃO FUNCIONAL DO PROGRAMA DE COMPUTADOR:

Realiza Simulações do modelo parabólico de Hsu e Evans (1989) em fotografias e/ou mapas aéreos verticais de praias de enseada. • INFORME TRECHOS DO PROGRAMA OU OUTROS ELEMENTOS ESSENCIAIS DO PROGRAMA QUE SEJAM CAPAZES DE CARACTERIZAR A CRIAÇÃO INDEPENDENTE E IDENTIFICAR O PROGRAMA (MATERIAL PODE SER DISPONIBILIZADO EM MÍDIA DIGITAL)

Capitulo três do relatório final entregue ao CNPq. • INFORME O CAMPO DE APLICAÇÃO DO PRESENTE PROGRAMA DE COMPUTADOR, DEFINIDO ÁREAS DE APLICAÇÃO (Consulte tabela 1, em anexo): GL04, HD04. • INFORME A CLASSIFICAÇÃO DO TIPO DE PROGRAMA (Consulte tabela 2, em anexo): SM01.

• QUE PROBLEMAS O PROGRAMA DE COMPUTADOR RESOLVE OU VANTAGENS QUE APRESENTA? Automatiza a aplicação do modelo parabólico, e auxilia no ensino do modelo parabólico; • QUAL O USO PRESENTE E FUTURO DO PROGRAMA DE COMPUTADOR? Em sala de aula para ensino do modelo parabólico; projeto de riscos erosivos de praias de enseada.

2

ANTECEDENTES DO PROGRAMA DE COMPUTADOR (PARA ESTA SEÇÃO, SE NECESSITAR DE FOLHA ADICIONAL, IDENTIFIQUE-A COMO

ANEXO 3)

Sim Não sei 1. Conhece outro programa de computador com característica similar?

X

2. Há pesquisa bibliográfica relacionada com o programa de computador

X

• Se 1 for afirmativo, informe o nome do programa de computador: SMC Coastal Modelling System. Sim Não 1. O presente programa de computador já foi revelado fora da Universidade?

X

2. O presente programa de computador já foi revelado à indústria? X 3. Foi demonstrado interesse comercial? X

• Apresentado no IV Congresso Brasileiro de Oceanografia, que ocorreu nos dias 17 a 21 de maio de 2010, em apresentação do tipo painel. Em anexo uma cópia do resumo estendido. Se 1 for afirmativo, informe detalhadamente, as circunstâncias e anexe cópia do trabalho. (Exemplo: Apresentação em conferências, publicações científicas em revistas, comunicações informais, patentes, normas). • Se 3 for afirmativo, informe nome, contato e telefone da empresa: INVESTIMENTOS NA PESQUISA • Órgãos de Fomento Envolvidos (Apoio CNPq, CAPES, FAPESC, etc.) CNPq

CNPq 500249/2007-5 Bolsas no País - Iniciação Científica • Foi feito contrato com órgão financiador ou gerido de acordo com um

Termo de Confidencialidade? Acho que não, foi assinado, contudo.

• O órgão financiador foi informado do programa de computador?

Sim

3

• Suporte Interno (Fundos de Pesquisa da UNIVALI, Unidade ou do

Departamento): Disponibilizou estrutura e equipamentos dos laboratórios de soluções em software e de oceanografia geológica.

TRANSFERÊNCIA DE TECNOLOGIA • DÊ SUA OPINIÃO SOBRE A POTENCIALIDADE DE COMERCIALIZAÇÃO INCLUINDO SUGESTÕES A LONGO PRAZO. ESPECIFIQUE ÁREAS DE APLICAÇÃO QUE POSSAM UTILIZAR O PROGRAMA DE COMPUTADOR DESENVOLVIDO: Engenharia costeira, geomorfologia Costeira. • CITE MERCADOS OU EMPRESAS QUE PODERIAM TER INTERESSE

EM CONHECER ESTA NOVA TECNOLOGIA Lista de downloads do MEPPE 3 encontra-se em anexo.

4

Declaro (amos) que:

1. Todas as informações acima descritas são verdadeiras; 2. Todos os participantes no desenvolvimento do presente programa

de computador foram devidamente relacionados, ISENTANDO O DEPARTAMENTO DE PROPRIEDADE INTELECTUAL E A UNIVALI DE QUALQUER RESPONSABILIDADE POR EVENTUAL EQUÍVOCO OU OMISSÃO VERIFICADA QUANTO AOS AUTORES E ORIGINALIDADE DO PROGRAMA DESENVOLVIDO;

3. Estou (amos) ciente(s) da legislação pertinente à matéria, bem como das normas internas da UNIVALI relacionadas à Propriedade Intelectual.

Ciência do(s) Autor (es): 1) Nome:

Assinatura

2) Nome

Assinatura

3) Nome

Assinatura

Ciência do Diretor da Unidade:

Carimbo Assinatura Diretor da Unidade Data

5

TABELA 1 – CAMPO DE APLICAÇÃO

1. Administração AD01-Administr (desenvolv.organizacional, desburocratização); AD02-Função Adm (Planejamento governamental: estratégico, operacional,

técnica de planej., organização administr., organização funcional, organograma, estrutura organizacional, controle administr. - análise de desempenho, avaliação de desempenho);

AD03-Modern Adm (análise organizacional, O&M); AD04-Adm Publ (Administr. Federal, Estadual, Municipal, direito

administr., reforma administr., intervenção do Estado na economia, controle da administr. pública);

AD05-Adm Empres (administr., de negócios, privada, organização de empresas);

AD06-Adm Prod (planejamento da fábrica, engenharia do produto, protótipo, planejamento da produção, controle de qualidade);

AD07-Adm Pes (planejamento de pessoal - recrutamento, seleção, admissão, avaliação, promoção, etc);

AD08-Adm Materl (planejamento de material, aquisição, armazenamento, almoxarifado, alienação, controle de material, de estoque, inventário, requisição de material);

AD09-Adm Patrim (inventário patrimonial, fiscalização, conservação, manutenção do patrimônio);

AD10-Marketing (mercadologia, administr. de marketing ou mercadológica, análise, e pesquisa de mercado, estratégia de marketing, composto do produto-marca-embalagem, administr. de vendas - planejamento de vendas - controle de vendas);

AD11-Adm Escrit (serviços de escritório - comunicação administr., arquivo de escritório, etc).

2. Agricultura AG01-Agricultur (agropecuária, desenvolvimento rural, extensão rural,

planejamento e política agrícola, zoneamento agrícola); AG02-Ciênc Agrl (agrologia, agronomia, agrostologia, edafologia,

pomologia); AG03- Adm Agricl (imóvel rural: fazenda - granja empresa rural); AG04-Econom Agríc (economia agrícola); AG05-Sist agríc (agricultura extensiva, intensiva, itinerante,

monocultura, policultura); AG06-Eng agrícl (construção rural: açude - barragem, estufa, habitação

rural, drenagem irrigação); AG07-Edafologia (conservação de solo, controle da erosão,

melhoramento, recuperação, tratamento, manejo do solo: adubação, fertilização);

AG08-Fitopatol (doenças e pragas vegetais, defensivo agrícola); AG09-Prod Veget (produção agrícola, fitotecnia: cultura agrícola, lavoura,

6

cultivo - técnica agrícola); AG10-Prod Animl (produto animal, zootecnia: tipos de criação, veterinária

ou medicina veterinária, zoopatologia, produto veterinário; veterinária preventiva);

AG11-Ciênc Flor Ciências Florestais (dasonomia, economia florestal, política florestal, produção vegetal, silvicultura; arboricultura-florestamento, reflorestamento, terra marginal);

AG12-Aquacultur (aquacultura ou aquicultura animal, vegetal); AG13-Extr Veget Extrativismo vegetal (produto extrativo vegetal: celulose,

cera, fibra, goma natural, madeira, látex); AG14-Extr Animl Extrativismo Animal (caça, pesca, prospecção produto

extrativo animal: couro-pele-pescado). 3. Antropologia e Sociologia AN01-Sociedade (sistema social, estrutura, situação, mobilização,

controle, mudança e reforma social); AN02-Desenv soc (planejamento social, política social, ação social, bem-

estar social, nível ou padrão de vida); AN03-Grupos soc (tribo, bando, etnia, grupo local, desenvolvimento

comunitário, nação, indivíduo); AN04-Cultura (civilização, cultura popular: folclore uso e costumes); AN05-Religião (doutrina, teologia, prática religiosa, etc.); AN06-Antropolog (antropologia física: antropometria-paleantropologia,

enologia: etnografia - ernologia, etnografia, antropologia: economia - urbana - política);

AN07-Sociologia (sistemática, comparada aplicada: urbana - rural - política - econômica - do trabalho - da educação - do direito, sociografia, pesquisa social, processo social).

4. Assentamentos Humanos AH01-Assen Hum (povoamento, núcleo populacional, invasão,

assentamento rural, urbano, cinturão verde); AH02-Cidade (metrópole, região ou área metropolitana, rurópolis); AH03-Org Territ Organização Territorial (organização do espaço, rede

urbana, conurbação); AH04-Pol As Hum Políticas de Assentamento Humanos (política

demográfica, migratória, planejamento familiar, política de colonização, de desenvolvimento urbano ou política urbana);

AH05-População (distribuição da população, mobilidade ou movimento da população, migração, dinâmica populacional);

AH06-Discip Aux Disciplinas Auxiliares (demografia, geografia urbana, agrária, teoria dos limiares ou localização, teoria da polarização);

7

5. Biologia BL01-Biologia (ser vivo, substância orgânica, leis biológicas,

biotipologia, biometria, bioclimatologia, parasitologia, filogenia ou evolução, geobiologia, histologia, limnologia);

BL02-Genética (citogenética, engenharia genética, genotipo, hereditariedade, melhoramento genético, gen, genética das populações);

BL03-Citologia (ou biologia celular, célula, meiose, etc); BL04-Microbiolg (bacteriologia, virologia, biogeografia); BL05-Anatomia (sistemas: cardiovascular - digestivo - tegumentar, etc,

embriologia, secreção, excreção, órgãos dos sentidos); BL06-Fisiologia (nascimento, digestão, reprodução, sexualidade,

nemofisiologia, metabolismo); BL07-Bioquímica (aminoácido, proteína, hormônio, fenômeno

bioquímicos: biossíntese - fermentação - osmose, etc); BL08-Biofísica (bioenergética, biomecânica, eletrofisiologia). 6. Botânica BT01-Botânica (fitologia, vegetal, vegetação, morfologia, fisiologia

vegetal, quimiossíntese, genética vegetal, fitossociologia, biologia floral);

BT02-Fitogeograf (geografia botânica ou botânica geográfica, caatinga, cerrado, campo, mangue, etc.);

BT03-Botân Econ (planta condimentícia, daninha ou nociva, aromática, feculenta, têxtil, cereal, legume, hortaliça, grão alimentício);

BT04-Botân Sist (taxonomia vegetal). 7. Conhecimento e Comunicação CO01-Filosofia (metafísica, estética, ética, filosofia social, teoria do

conhecimento, hermenêutica, lógica, dialética, doutrina filosófica);

CO02-Ciência (ciências humanas e sociais, naturais, biológicas, geociência, política científica, desenvolvimento científico, história da ciência, filosofia da ciência, metodologia científica, metodologia, pesquisa ou investigação, pesquisa aplicada - indicar a área específica com outro código, instituição de pesquisa);

CO03-Ciênc Ling (lingüística, geolinguística, sociolinguística e linguagem popular, linguagem: natural, artificial);

CO04-Comunic (comunicação humana, escrita, visual, social: comunicação de massa, propaganda, relações públicas, meios de comunicação: radiocomunicação, imprensa; pesquisa de opinião, arte gráfica: editoração, editoração, impressão, edição);

8

CO05-Arte (criação artística, patrimônio artístico, industrial, fotografia, aerofotografia, cinema, música, literatura);

CO06-História (política, econômica, social, pesquisa histórica: arqueologia, numismática, genealogia, filatelia, epigrafia; patrimônio histórico).

8. Construção Civil CC01-Construção (construção civil: habitacional, comercial, industrial:

construção industrializada ou pré-fabricada); CC02-Proc Const Processo Construtivo (tradicional, convencional, misto,

evoluído, cantaria, adobe, alvenaria, concreto, máquina de construção, equipamento para construção);

CC03-Org Constr Organização da construção (licitação de obra, custa da construção, memorial descritivo de obra, gerência de projeto de construção, execução da obra, fiscalização de obra, racionalização da construção, coordenação dimensional, coordenação modular, suprimento de obra);

CC04-Obra Públ (engenharia civil, engenharia de avaliações, contrato de obra pública, licitação de obra pública, obra de grande porte, obra de arte; como engenharia civil);

CC05-Estrutura (cálculo estrutural, análise de estrutura, mecânica das estruturas: esóstica, plana, retocila, etc; tipo de estrutura: concreto, aço, metálico, inflável, etc; armadura: estrutural, armadura para concreto armado);

CC06-Edificação (prédio, edifício, elemento construtivo: fundação, pilar, viga, componente construtivo: painel, instalações, manutenção da construção, obra: de acabamento, melhoria, demolição);

CC07-Tecn Const (ancoragem, apiloagem, caleamento estrutural, cimbramento, concretagem, escoramento, terraplanagem, pavimentação);

CC08-Hig Const Higiene das construções (ventilação, iluminação, conforto térmico isolamento: acústico, térmico, e higroscópico);

CC09-Eng Hidrl (obra hidráulica ou estrutura hidráulica; conduto hidráulico, tubulação, canal, reservatório: lago artificial, piscina, açude eclusa, dispositivos de controle de água: comporta, polder, reguladora de nível; barragem, drenagem, hidráulica do solo);

CC10-Solo (mecânica das rochas, mecânicas dos solos, aterro, escavação, talude, movimento de terra, obra de terra; nivelamento de terra; obra de contenção: estrutura de arrimo, contenção de encosta).

9. Direito DI01-Legislação (federal, estadual, municipal, hierárquica das leis;

9

constituição, lei ordinária, etc; proteção da lei ou proteção legal, hermenêutica jurídica ou interpretação das leis);

DI02-Dir Constl Direito Constitucional (poder constituinte, organização nacional: união, estado, município, distrito federal, território federal, poderes do estado; legislativo, executivo, judiciário, declaração de direitos: nacionalidade, direitos políticos, etc; direito eleitoral);

DI03-Disc Dr. Outras Disciplinas do Direito (disciplinar, previdenciário, ecológico, urbanístico, econômico, financeiro, tributário: cálculo do tributo, evasão tributária, infração tributária, etc; direito processual civil, direito penal, direito processual penal, direito internacional público; direitos do homem ou humanos, litígio internacional; direito privado, direito civil, bens: propriedade pública, privada, patrimônio, semoventes, imóveis, públicos, direito de família, direito das coisas: direito autoral, enfiteuse ou aforamento, laudemio, registro imobiliário; direito sucessório: herança, sucessão, inventário, direito das obrigações: acordo, convênio, contrato, locação, arrendamento, fiança, direito agrário; direito do trabalho, direito comercial, direito industrial, direito marítimo, direito aeronáutico, direito internacional privado.

10. Ecologia

EL01-Ecologia (biosfera, relação biótica, relação abiótica, ecologia agrícola, aquática, florestal, equilíbrio / desequilíbrio ecológico, fenômeno ecológico);

EL02-Ecofisiol (ecofisiologia animal, vegetal, distrófico, digotrófico, eutrófico, etc.);

EL03-Ecol Human (ecodesenvolvimento, ecologia social, ecologia urbana); EL04-Ec Veg/Anm Ecologia Vegetal/Ecologia Animal (autoecologia,

sinecologia, habitat, vida selvagem); EL05-Etologia (migração; anodromo, catadromo, piracema,

hibernação, comportamento animal, comportamento vegetal).

11. Economia EC01-Economia (teoria econômica, metodologia da economia: modelos

e econometria; análise econômica, sistema econômico); EC02-An Microec (microeconomia, teoria da oferta, teoria da produção,

função da produção, economias de escala, teoria dos custos, elasticidade da oferta: preço e renda; teoria da demanda ou teoria do consumidor, teoria da utilidade ou análise cardinal, teoria dos mercados, teoria do preço ou do valor, teoria do equilíbrio econômico, teoria

10

do bem-estar, ou economia social ou teoria da distribuição da renda, ótimo de pareto curva de Lorenz, custo social);

EC03-Teo Microe (ou microeconomia ou teoria microeconômica, demanda agregada, oferta agregada, venda, nível de emprego);

EC04-Ativ Econm (setor econômico ou setor de produção, setores: primário, secundário, terciário, público, privado, informal ou economia silenciosa ou invisível ou mercado informal; fator de produção, distribuição da renda, produtividade, superprodução, consumo, poupança, interna, externa, entesouramento, poupança forçada, investimento, formação de capital; recursos econômicos ou riqueza, indicador econ., indexação, desindexação, desenvolv. econ. local, regional, nacional, setorial, integrado, crescimento econ., desempenho econ., disparidade econ., acumulação de capital);

EC05-Contab Nac (ou contabilidade social ou conta nacional, agregado econômico: PIB, PNB, PNL, PIL; renda nacional, análise de insumo - produto ou input - output ou de relações intersetoriais, ou análise de Leontief, ou insumo-produto);

EC06-Econ Monet (moeda: criação, circulação, flutuação; sist. monetário: tipos de moeda e meios de pagto ou meio circulante; base monetária, unidade monetária, moeda divisionária; reforma monetária);

EC07-Mercado (demanda, oferta, mercado consumidor, mercado externo ou externo ou exterior, mercado interno, internacional, produtor, paralelo, a termo, preço);

EC08-Bens Econom (bens de consumo, de capital, insumo, bens: duráveis, não duráveis, tangíveis, intangíveis, inferiores, normais, de Giffen);

EC09-Eng/Din Ec Engenharia econômica/dinâmica econômica (análise custo/benefício ou custo benefício, pay-out ou prazo de refluxo, ciclo econômico ou flutuação econômica, nível dos preços: inflação, deflação, conjuntura econômica);

EC10-Econ Espec (ou ciência regional ou economia regional, economia local, urbana regionalização);

EC11-Propriedad (propriedade do capital, da terra ou propriedade fundiária, estrutura agrária, loteamento);

EC12-Ec Internac (ou relações econômicas, balanço de pagamentos: balança comercial, balança de serviços, movimento de capitais internacionais; protecionismo, livre comércio, câmbio: conversibilidade da moeda, controle cambial, câmbio livre, taxa de câmbio, estatização monetária, valorização da moeda, minidesvalorização, maxidesvalorização, mercado cambial; divisas, reservas monetárias, dívida externa, integração econômica internacional, zona monetária, cooperação econômica, bloqueio econômico)

11

EC13-Polít Econ (política fiscal, monetária, de crédito, econômica internacional, de comércio exterior, de desenvolvimento econômico, de desenvolvimento nacional, de distribuição da renda, agrária, de preços, estatização, privatização, planejamento econômico);

EC14-Empresa (total, média, marginal, custo ou custo operacional: total, médio, etc; tipos de empresa: pública, privada, multinacional, estrangeira, microempresa, de pequeno, médio e grande porte, nacional, cooperativa; concentração econômica: holding, conglomerado de empresas, combinação de empresas, consórcio de empresas, truste, joint-venture).

12. Educação ED01-Ensin Regl Ensino regular (pré-escolar, 1º grau, 2º grau, superior,

pós-graduação, orientação profissional); ED02-Ensin-Supl Ensino supletivo (alfabetização, aprendizagem;

comercial, industrial, agrícola, suprimento: curso de atualização, de aperfeiçoamento, treinamento);

ED03-Adm/Pr Ens Instituição/Administração/Processo de ensino (jardim escolar, escola maternal, jardim de infância, escola: de 1º grau, 2º grau, centro de ensino, de estudo supletivo, universidade, faculdade ou instituto superior de ensino, evasão escolar, serviços educacionais, equipamento escolar, método de ensino, didática: técnica de ensino, prática de ensino; ensino integrado, processo formal de ensino, processo não formal de ensino);

ED04-Formas Ens Formas de ensino/material instrucional (ensino direto, teleducação, por correspondência, radioeducação, ensino semi-indireto; módulo instrucional, equipamento didático, material audio-visual aprendizagem cognitiva, psicomotora, afetiva, autodidatismo);

ED05-Currículo (currículo ou programa de ensino, reforma de ensino, currículo mínimo, etc; corpo docente, corpo discente, graus e diplomas);

ED06-Educação (pedagogia, ensino, sistema educacional, rede de ensino, educação de adulto, educação de base, de massa, etc, política educacional; educação ectra-escolar: educação comunitária, recuperadora).

13. Energia EN01-Energia (política energética, economia energética: consumo de

energia, empresa de energia); EN02-Rec Energ Recursos/serviços/formas de energia (recursos

hidrelétricos ou hidroelétricos, carboníferos, petrolíferos, uraníferos, serviços de energia elétrica, de gás

12

canalizado; formas: energia elétrica, mecânica, química, radiante, luminosa, sonora, térmica, etc);

EN03-Combustívl (fóssil, de origem vegetal, biomassa, nuclear, sólido, líquido, gasoso);

EN04-Tecn Energ Tecnologia e Energia (fonte de energia: convencional, alternativa; geração de energia, usina de energia, conversão de energia, armazenamento de energia, transporte de energia, distribuição de energia: eletrificação, engenharia elétrica, medição de energia);

EN05-Eng Eltrôn (microeletrônica, circuito eletrônico, eletrônica industrial, semicondutor);

EN06-Eng Nucle (tecnologia de reatores, reator nuclear). 14. Finanças FN01-Finan Públ (receita pública, orçamento público, sistema tributário,

despesa pública, crédito público, administração fiscal); FN02-Finan Priv FN03-Sist Finan (instituição financeira, operações financeiras: operação

de crédito, bancária, de fiança, de câmbio, de sero, open market, hedge, overnight, cobrança; mercado de capitais);

FN04-Rec/Instrum Recursos/Orçamento/Instrumentos (aplicação de recursos, capital, recursos orçamentários, fundos; orçamento: analítico, de custeio de capital, empresarial ou privado, público, de aplicação, de caixa, de receita e despesa, familiar; título de crédito, ação, cartão de crédito, caderneta de poupança, financiamento);

FN05-Adm Finan (administração financeira, juro, crédito, débito, loteria (planejamento financeiro, política financeira, controle financeiro, análise financeira; assistência financeira, juro de mora, taxa de juro, spread; crédito: especialização geral; público, internacional, tributário; débito, débito fiscal; loteria esportiva, loto);

FN06-Contabilid (contabilidade, financeira, gerencial, técnicas contábeis, demonstração de resultado: receita/despesa, resultado contábil; balancete, demonstração de lucros e prejuízos acumulados, demonstração de origens e aplicações de recursos, depreciação, exaustão).

15. Física e Química FQ01-Fís Partíc Matéria/Física das Partículas/e dos íons (antimatéria,

valência composição de matéria, estados da matéria, partícula ótica, partícula elementar, partícula carregada, ionização);

FQ02-Acúst/Ótic (onda sonora, som; luz, ótica geométrica, microscópica, física, alidade microscopia, solametria);

FQ03-Onda (amplitude, difração, freqüência, modulação,

13

demodulação, reflexão, refração, propagação, ressonância e tipos de onda);

FQ04-Metrologia (unidade de medida, dimensão, análise dimensional, equação dimensional, sistema de medida, medição: macro e micro-medição);

FQ05-Mecânica (estática, dinâmica, cinemática, cinética, espaço, tempo, movimento, momento, força, densidade, massa, volume, resistência dos materiais, trabalho (potência);

FQ06-Fis Solid Física dos Sólidos/ dos Fluídos/ dos Plasmas (mecânica dos sólidos, propriedade dos sólidos, estrutura dos sólidos; mecânica dos fluídos, dinâmica dos fluídos, estática dos fluídos, cinemática dos fluídos, mecânica dos gases, hidromecânica, viscosidade; plasma-física);

FQ07-Termodinâm (calor, calorimetria, temperatura, radiação térmica, tratamento térm., termologia, propried. termodinâmica);

FQ08-Eletrônica (quântica, linear, não linear); FQ09-Magn/Elmag Magnetismo/Eletromagnetismo (campo, polo, circuito e

propriedade magnética; interferência eletromagnética, propriedade eletromagnética, onda eletromagnética, radiação monocromática, micro-onda, polarização espontânea, onda hertziana);

FQ10-Fís SupDis Física de Superfície/de Dispersão (tensão superficial, capilaridade; física coloidal);

FQ11-Radiação (efeito da radiação, radiação atmosférica, radiação ionizante);

FQ12-Espectrosc (espectrografia, espectrometria, espectroscopia atômica, molecular e ótica, espectrofotometria);

FQ13-Fís Molecl Física Molecular (ou física atômica, reação nuclear, estrutura molecular, radiatividade, radiometria);

FQ14-Química (composto químico, substância combustível, substância química, propriedade química, legação química, radical químico, reação química, composição química, polímero inorgânico);

FQ15-Quím An/Po Química Analítica / dos polímeros (análise químicas calorimetria, condumetria, cromatografia; polímero orgânico, polímero inorgânico);

FQ16-Fís-Quím (análise físico-química, processos físicos-químicos); FQ17-Quím Orgân (composto orgânico, ácido, sal); FQ18-Quím Inorg (elemento químico, metal, gases raros, terras raras,

composto inorgânico, nuclídeo). 16. Geografia e Cartografia GC01-Geog Físic (ou fisiografia, paleografia, geomorfologia, acidente

geográfico, morfologia genética, morfologia fisiológica); GC02-Geog Humna (ou antopogeografia, geografia econômica, política, da

população); GC03-Geog Regio (região: homogênea, elementar; zona geográfica:

tórrida, subtropical);

14

GC04-Orient Geo (pontos cardeais, colaterais, hemisfério); GC05-Geodesia (astronômica, espacial, gravimétrica, geométrica,

levantamento geodésico); GC06-Topografia (topometria, planimetria, altimetria, acidente topográfico,

sensoramento remoto ou monitoreamento remoto); GC07-Fotogramet (fotogrametria terrestre, aerofotogrametria, etc); GC08-Mapeamento (fotogramia, mapa, carta, fotocarta, mosaico, etc); GC09-Met Cartog Métodos e Processos de Cartografia (processo

astrogeodésico, método das direções, método de Schreiber, de Sterneck, etc.);

GC10-Plan Carto Plano Cartográfico (azimute / posição / ponto meridiano, paralelo, círculo horário, etc, azimute de Laplace, geodésico, da carta, etc; triângulo de posição, polar, culminação, etc; polo geográfico, celeste, elevado, etc).

17. Geologia GL01-Geol Físic (dinâmica externa: intemperismo, eluviação, iluviação,

erosão; dinâmica interna: tectonismo, magma, etc; geologia estrutural: anticlinal, sinclinal, dobra, junta, foliação);

GL02-Glaciolog (ou criologia, glaciação, moraina); GL03-Geotectonc Geotectônica (tectônica, geodinâmica, sismologia); GL04-Geol Marin Geologia Marinha (fotogeologia: mapeamento

geológico); GL05-Geol Hist (paleontologia, arcabouço tectônico da terra,

sedimentologia, estratigrafia); GL06-Geol Econ (petrologia, petrografia, gênese de jazida: metalgenia,

mineralização, jazida mineral, prospecção; mineralogia física, química, etc);

GL07-GeoQuiFiTe Geoquímica / Hidrogeologia / Geofísica / Geotécnica (geoquímica dos solos, das rochas; água subterrânea; geofísica marinha, terrestre, sísmica, gravimetria; ensaio geotécnico);

18. Habitação HB01-Habitação (moradia, função habitacional, mercado habitacional,

política habitacional); HB02-Tipol Habt Tipologia Habitacional (habitação unifamiliar,

multifamiliar, funcional, especial: para velhos, para estudantes; habitação provisória: alojamento, acampamento, tugurio, habitação móvel, espontânea, flutuante, etc).

Hidrologia e Oceanografia HD01-Hidrologia (água, ciclo hidrológico); HD02-Hidrograf (bacia hidrográfica, representativa, área de inundação,

15

curso de água, bacia lacustre, etc); HD03-Hidrometr (fluviometria, pluviometria, evapometria,

sedimentometria, estação hidrométrica, fluviométrica, etc);

HD04-Oceanograf (ou oceanologia, ou talassografia, oceano, mar, tipos de oceanografia: física, química, biológica, geológica, batimetria);

Indústria IN01-Indústria (política industrial, concentração industrial, produção

industrial, pesquisa industrial, empresa industrial); IN02-Tecnologia (política tecnológica, cooperação técnica, pesquisa

tecnológica, inovação tecnológica, tecnologia apropriada, química tecnológica);

IN03-Engenharia (desenho técnico, engenharia metalúrgica, engenharia química, mecânica, automotiva, aeronáutica, naval, de produção, de teste);

IN04-Ind Ext Mi Indústria Extrativa Mineral (política mineral, pesquisa mineral, engenharia e minas, mineração, extrativismo mineral, ou exploração mineral);

IN05-Ind Transf Indústria de Transformação (indústria manufatureira, produto, industrialização, processo industrial, gênero da indústria: metalúrgica, de material elétrico, eletrônico, química, mecânica, de componentes, de armamento, têxtil, etc; estabelecimento industrial, produto industrializado, alimentício, etc; materiais e equipamentos).

19. Informação IF01-Informação (científica, tecnológica, bibliográfica, estratégica, dados,

etc); IF02-Documentaç (análise da informação, processamento de informação

armazenamento, recuperação, disseminação, intercâmbio, bibliofilia, bibliologia, bibliometria);

IF03-Reprograf (fotocópia, microfotografia, microfilmagem, micrografia); IF04-Documento (informação, registrada, ou material de informação,

documento científico, confidencial, primário, secundário, não convencional, obra de referência, multimeio, material legível por máquina);

IF05-Biblioteco (administração de biblioteca, processos técnicos); IF06-Arquivolog (ou arquivística, administração de arquivos); IF07-Ciênc Info (sistema de informação, rede de informação, teoria da

informação, fluxo de informação); IF08-Serv Info (biblioteca, centro de documentação, arquivo, centro

referencial, museu, etc); IF09-Uso Inform (usuário, estudo e perfil do usuário); IF10-Genérico (processamento de dados).

16

20. Matemática MT01-Lógica Mat (metamatemática, método matemático, processo

matemático, teoria lógica); MT02-Álgebra (teoria dos conjuntos, teoria dos números, álgebra

elementar, estrutura algébrica, tipos de álgebra); MT03-Geometria (geometria plana, geometria sólida, geometria analítica,

trigonometria, geometria descritiva, geometria diferencial, etc);

MT04-Anális Mat (topologia, análise real, análise numérica, análise complexa, vetorial, matricial, tensorial, funcional, transformação integral, equação);

MT05-Cálculo (cálculo diferencial, integral, operacional, vetorial, matricial, tensorial, numérico, variacional);

MT06-Mat Aplic (= modelo matemático. Especificar a aplicação: estatística, gráfico, cálculo de probabilidade, análise estatística, pesquisa operacional, matemática financeira atuarial).

21. Meio Ambiente MA01-Meio Amb (artificial, natural, política do meio ambiente); MA02-Recurs Nat (natureza: conservação, recursos naturais renováveis,

não renováveis, área protegida); MA03-Poluição (tipos de poluição: atmosférica, bacteriológica, física, do

solo, água, química, radioativa, sonora, etc; controle prevenção; nível de poluição; poluente);

MA04-Qualid Amb (qualidade da vida, da água, do ar, monitoramento ambiental, engenharia ambiental, de defesa civil).

22. Meteorologia e climatologia ME01-Metodolg (física, dinâmica, aplicada); ME02-Atmosfera (ar, atmosfera inferior, superior, circulação e pressão

atmosférica, previsão e estação metereológica, vento, tempestade, massa de ar, temperatura do ar, radiação solar, umidade do ar);

ME03-Climatolog (clima, aclimatação, agroclimatologia, estação climatológica; tipos de clima).

22. Pedologia PD01-Pedologia (= ciência do solo; terra, solo: mineral ou orgânico); PD02-Pedogênese (fatores de formação do solo, processo pedogenético,

perfil do solo: morfopedologia, física do solo: morfopedologia, física do solo, química do solo mineralogia do solo, biologia do solo, horizonte);

PD03-Tipos de Solo

17

23. Política PL01-Ciênc Pol (teoria política, metodologia política); PL02-Política (sistema político, estrutura política, Estado (nação)

soberania, formas de estado, governo, regime político, poder público, organização do poder, ação política, política de governo, doutrina política).

24. Previdência e Assistetência social PR01-Previdênc (seguridade social, política de previdência social,

previdência social, previdência privada); PR02-Benef Prev (aposentadoria, auxílio ou assistência previdenciária,

pecúlio, abono, etc); PR03-Assist Soc (médica, odontológica, alimentar, reeducativa,

assistência habitacional, organizações de assistência social, serviço social).

25. Psicologia PS01-Psicologia (= ciência do comportamento, psicologia do

desenvolvimento, psicologia social, aplicada - clínica, psicoterapia, educacional; processos: sensorial, inteligência, congnitivo, reluxo);

PS02-Comportamt (= conduta ou comportamento humano; motivação); PS03-Teor Psic (sistema e teoria de psicologia, parapsicologia

(associacionismo), behaviorismo, psicologia existencialista, do reforço, etc).

26. Saneamento SM01-Saneamento (engenharia sanitária, saneamento básico); SM02-Resíduo (detrito, dejeto ou efluente; lixo, resíduo: gasoso,

líquido, orgânico, químico, térmico, tóxico); SM03-Limpeza (limpeza pública, drenagem urbana (limpeza urbana, de

logradouro, coleta de lixo, destinação do lixo, etc; rede de drenagem urbana));

SM04-Abast água (= sistema de abastecimento de água; serviços de água, captação de água, adução de água, tratamento de água, reservatório de água, distribuição de água, medição de água);

SM05-Esgoto (serviço de esgoto, esgoto sanitário, tratamento: preliminar, primário, secundário, terciário; remoção de sólidos, lodo, emissário, etc, esgoto industrial).

27. Saúde SD01-Saúde (política de saúde, higiene, saúde física, mental,

18

pública); SD02-Adm Sanit (= administração de saúde; serviços básicos de saúde,

serviços de saúde: hospital, centro de saúde, posto de saúde, de socorro, etc; sistema de saúde, levantamento sanitário, educação sanitária, campanha de saúde pública, equipamento médico);

SD03-Doença (congênita, infecciosa, do sistema reprodutor, do sistema glandular, etc);

SD04-Defic Fís (física, mental, inválido); SD05-Assist Méd (hospitalar, médico-domiciliar, ambulatorial, médico-

sanitária); SD06-Terap Diag (terapia, diagnóstico médico (terapêutica, fisioterapia,

hemoterapia, dieta, etc; diagnóstico: laboratorial, radiológico, síndrome, sintoma);

SD07-Medicina (alopática, hemeopática, preventiva, tropical, nuclear, medicina do trabalho, legal, de urgência);

SD08-Espec Med Especialidades Médicas (cardiologia, endocrinologia, epidemiologia, ginecologia, oftalmologia, psiquiatria, patologia, dermatologia, radiologia, etc; medicina não-convencional: naturopática, caseira, acupuntura, do-in, etc);

SD09-Eng Biomed Engenharia Biomédica, ciências paramédicas (bioengenharia, biotecnologia, enfermagem, optometria, fonoaudiologia);

SD10-Farmacolog (assistência farmacêutica, toxicologia, farmacopeia, farmacognosia, medicamento);

SD11-Odontolog (saúde oral, periodontias, prótese dentária, assistência odontológica).

Serviços SV01-Serviços (públicos especificar conforme o tipo: telefonia,

telegrafia, etc: correio, serviços de energia elétrica, segurança pública, de água, de esgoto, etc - serviços privados: alojamento e alimentação, de reparo e manutenção, pessoais, de vigilância e guarda, etc, tarifa de serviços);

SV02-Seguro (social, privado; quanto ao objeto; pessoal, patrimonial, de responsabilidade; contrato de seguro, seguradora, resseguro, co-seguro, corretora de seguro);

SV03-Comércio (interno, exterior, ilícito, comercialização, corretagem ou serviços de corretagem, ensilagem, entrepostagem, intercâmbio comercial, especulação, mercadoria, zona franca, porte livre, política comercial);

SV04-Turismo (política de turismo, turismo interno, externo, intercâmbio turístico, infra-estrutura turística: agência de turismo, rede hoteleira).

19

Telecomunicações TC01-Telecom (política de telecomunicações, modelo de

telecomunicações); TC02-Sist Telec (radiocomunicação, sistema de televisão, telefonia,

telegrafia, sistema de radar, telemetria, transmissão de dados, comunicação por fio, teoria de telecomunicações

TC03-Eng Telec (linha de comunicação, recepção, transmissão); TC04-Serv/Redes (serviços, redes estações e material de

telecomunicações). Trabalho TB01-Trabalho (intelectual, técnico, manual, mecanizado, rural,

doméstico, eventual, em condomínio, mão-de-obra, teoria do trabalho: método de trabalho, controle do trabalho, organização do trabalho);

TB02-Rec Human (desenvolvimento de recursos humanos, pessoal trabalhador = operário, classe trabalhadora: trabalhador rural, autônomo, não qualificado, etc);

TB03-Merc Trab Mercado de Trabalho (política empregatícia, salarial, pleno emprego, desemprego, subemprego, força de trabalho, emprego cíclico, fiscalização do trabalho, racionalização do trabalho);

TB04-Cond Trab Condições de Trabalho (ergonomia ou engenharia humana; ambiente de trabalho);

TB05-Estr Ocup Estrutura Ocupacional (ocupação, profissão liberal, sindicato, associação de empregos, conselho profissional, empresariado, emprego, cargo);

TB06-Lazer (renovação, colônia de férias, etc). Transporte TP01-Transporte (política de transporte, planejamento de transporte); TP02-Sist Trans (doméstico, regional, interregional, rural, urbano,

integrado, etc; infra-estrutura transporte = rede de transporte, sistema viário, rede: aeroviário, dutoviário, hidroviária; corredor de transporte, via de transporte, terminal de transporte, equipamento de transporte, material de transporte);

TP03-Serv Trans (transporte de carga, de passageiro, linha de transporte, empresa de transporte);

TP04-Eng Transp (de tráfego, aeronáutica, ferroviária, rodoviária, naval, automotiva);

TP05-Mod Transp Modalidades de Transporte (aéreo, terrestre, hidroviário, especial: dutoviário, vertical).

Urbanismo UB01-Urbanismo (= arte urbana, organização do espaço urbano, projeto

20

urbanístico, forma urbana, planejamento urbano, história do urbanismo);

UB02-Solo urban (imóvel urbano, terreno urbano, parcelamento do solo, cadastro imobiliário, avaliação imobiliária, tributação urbana, renda imobiliária, especulação imobiliária);

UB03-Área urban (= zona urbana; sítio urbano, estrutura urbana, urbanização, uso do solo = apropriação do espaço, zoneamento urbano, renda imobil., especulação imobil.);

UB04-Circ Urban Circulação Urbana (via de circulação, terminal de transporte, tráfego urbano; infra-estrutura urbana = equipamento urbano, serviços públicos urbanos, equipamento comunitário);

UB05-Arquitetur (projeto de arquitetura, reconversão de uso; arquitetura: doméstica, industrial, de comércio, de administração, institucional, militar, tradicional, de interiores = decoração elemento formal, elemento funcional, elemento decorativo).

21

TABELA 2 - TIPOS DE PROGRAMA

SO01-Sist Operac Sistema Operacional SO02-Interf E&S Interface de Entrada e Saída SO03-Interf Disc Interface Básica de Disco SO04-Interf Com Interface de Comunicação SO05-Geren Usuar Gerenciador de Usuários SO06-Adm Dispost Administrador de Dispositivos SO07-Cont Proces Controlador de Processos SO08-Cont Redes Controlador de Redes SO09-Proc Comand Processador de Comandos LG01-Linguagem Linguagens LG02-Compilador Compilador LG03-Montador Montador LG04-Pré-Compld Pré-Compilador LG05-Comp Cruz Compilador Cruzado LG06-Pré-Proces Pré-Processador LG07-Interptd Interpretador LG08-Ling Procd Linguagem Procedural LG09-Ling N Prcd Linguagem Não Procedural GI01-Gerenc Info Gerenciador de Informações GI02-Gerenc BD Gerenciador de Banco de Dados GI03-Gerad Telas Gerador de Telas GI04-Gerad Relat Gerador de Relatórios GI05-Dicion Dad Dicionário de Dados GI06-Ent Val Dad Entrada e Validação da Dados GI07-Org Man Arq Organização, Tratamento, Manutenção de Arquivos GI08-Recup Dados Recuperação de Dados CD01-Com Dados Comunicação de Dados CD02-Emul Termnl Emuladores de Terminais CD03-Monitor TP Monitores de Teleprocessamento CD04-Ger Dispost Gerenc. Disposit. e Periféricos CD05-Ger de Rede Gerenciador de Rede de Comunicação de Dados CD06-Rede Local Rede Local FA01-Ferrm Apoio Ferramenta de Apoio FA02-Proc Texto Processadores de Texto FA03-Planil Elet Planilhas Eletrônicas FA04-Gerad Gráfc Geradores de Gráficos DS01-Ferrm Desnv Ferramentas de Suporte ao Desenvolv. de Sistemas DS02-Gerd Aplic. Gerador de Aplicações DS03-CASE Computer Aided Softw Engineering DS04-Desv c/Metd Aplicativos Desenvolv. Sist. de acordo com determ.

Metodologia

22

DS05-Bib Rotinas Bibliotecas de Rotinas ("Libraries") DS06-Apoio Progm Apoio à Programação DS07-Sup Documt Suporte à Documentação

DS08-Convers Sis Conversor de Sistemas AV01-Aval Desemp Avaliação de Desempenho AV02-Cont Recurs Contabilização de Recursos PD01-Seg Prot Dd Segurança e Proteção de Dados PD02-Senha Senha PD03-Criptograf Criptografia PD04-Man Intg Dd Manutenção da Integridade dos Dados PD05-Cont Acess Controle de Acessos SM01-Simul & Mod Simulação e Modelagem SM02-Simulador Simulador Vôo/Carro/Submarino/... SM03-Sim Amb Op Simuladores de Ambiente Operacional SM04-CAE/CAD/CAM CAE/CAD/CAM/CAL/CBT/... IA01-Intlg Artf Inteligência Artificial IA02-Sist Especl Sistemas Especialistas IA03-Proc Lng Nt Sistemas de Processamento de Linguagem Natural IT01-Instrument Instrumentação IT02-Inst T&M Instrumentação de Teste e Medição IT03-Inst Biomd Instrumentação Biomédica IT04-Inst Analt Instrumentação Analítica AT01-Automação Automação AT02-Atm Escrt Automação de Escritório AT03-Atm Comerc Automação Comercial AT04-Atm Bancar Automação Bancária AT05-Atm Indust Automação Industrial AT06-Contr Proc Controle de Processos AT07-Atm Manuf Automação da Manufatura (Controle Numérico

Computadorizado, Robótica, etc) AT08-Elet Autom Eletrônica Automotiva (computador de bordo, sistema

de injeção e/ou ignição eletrônica, etc) TI01-Teleinform Teleinformática TI02-Terminais Terminais TI03-Transm Dados Transmissão de Dados TI04-Comut Dados Comutação de Dados CT01-Comutação Comutação Telefônica e Telegráfica CT02-Impl Fun Ad Implementador de Funções Adicionais CT03-Ger Op&Man Gerenciador Operação e Manutenção

23

CT04-Term Op&Man Terminal de Operação e Manutenção de Central UT01-Utilitários Utilitários UT02-Compress Dd Compressor de Dados UT03-Conv Arq Conversor Meios de Armazenamento UT04-Class/Inter Classificador / Intercalador UT05-Cont Spool Controlador de Spool

UT06-Transf Arq Transferência de Arquivos AP01-Aplicativo Aplicativos AP02-Planejament Planejamento AP03-Controle Controle AP04-Auditoria Auditoria AP05-Contabiliz Contabiliz TC01-Aplc Tcn Ct Aplicações Técnico-Científicas TC02-Pesq Operac Pesquisa Operacional TC03-Recnh Padr Reconhecimento de Padrões TC04-Proc Imagem Processamento de Imagem ET01-Entrtmnto Entretenimento ET02-Jogos Anim Jogos Animados ("arcade games") ET03-Gerad Desen Geradores de Desenhos ET04-Simuladores Simuladores Destinados ao Lazer

24

ANEXO 1 - Resumo estendido CBO 2010 Este anexo tem como objetivo apresentar o resumo estendido apresentado durante o IV Congresso Brasileiro de Oceanografia que ocorreu em maio de 2010.

DESENVOLVIMENTO DE FERRAMENTA COMPUTACIONAL PARA ANÁLISE DO EQUILÍBRIO EM PLANTA DE PRAIAS DE ENSEADA

Pelz, F. D.1,2 ; Raabe, A. L. A.1 ; Klein, A. H. F. 1,3

1Universidade do Vale do Itajaí (UNIVALI), Centro de Ciências Tecnológicas da Terra e do Mar (CTTMar). Rua Uruguai n° 458, Centro, CEP 88302-202 - Itajaí, SC – Brasil. [email protected].; [email protected]; [email protected] 2 CNPq 500249/2007-5 Bolsa de Iniciação Científica. 3 Bolsista de Produtividade – CNPq

RESUMO Este trabalho apresenta a terceira versão do software MEPBay. Este é usado para analisar o equilíbrio em planta de praia de enseada utilizando o modelo parabólico aplicado em mapas, imagens de satélite e/ou fotografias aéreas verticais de praias de enseada. Para tanto foram apontadas as limitações da versão anterior que são: limite no tamanho da imagem, falta de suporte para imagens do tipo TIFF, simulação de somente uma curva (resultado do modelo parabólico) e impossibilidade de fazer operações de rotação. Para suprir as necessidades apontadas foram estudadas tecnologias onde se priorizou os problemas relacionados a manipulação de imagens. A tecnologia escolhida foi Java pela rica biblioteca de manipulação de imagens disponível. Utilizou-se de técnicas de computação gráfica para calcular e desenhar o modelo no local correto. Foram realizados protótipos e testes com o modelo comparado-o com a versão 2.0, então foi elaborado a nova versão com base nos testes. No inicio da ultima fase foi construído um site para disponibilizar informações sobre o MEPBay e um link para download da ferramenta.

Palavras chave: Modelo Parabólico, MEPBay.

INTRODUÇÃO

O MEPBay é uma importante ferramenta para auxílio dos estudantes e demais profissionais das áreas de Oceanografia, Engenharia Costeira, Geologia Costeira e Geografia na análise morfológica, das praias de enseada, e suas alterações (KLEIN et al.,2003; RAABE et al. 2010). Para tanto o usuário necessita entrar com os dados para o cálculo de modelo parabólico como a localização do promontório, a localização do final da praia, e a direção predominante das ondas. Com tais dados o software pode então calcular a linha teórica da costa e desenhá-la na tela. Comparando a linha desenhada pelo software com imagens verticais ou mapas o usuário pode então verificar em que tipo de equilíbrio a praia se encontra.

Com o uso contínuo do MEPBay 1.0 e 2.0 foram encontradas limitações destacadas por LAUSMAN et al. (2010), surgindo assim a possibilidade de evoluir a experiência do usuário com a elaboração de uma nova versão que suprisse as necessidades encontradas com o decorrer do uso do MEPBay. As principais limitações listadas também por RAABE et al. (2010) são relacionadas à manipulação de imagem, destaca-se aqui a incompatibilidade com imagens de grande formato e com o tipo de arquivo TIFF; outra limitação é a impossibilidade de rotacionar a imagem e/ou projeto, bem como a a impossibilidade de simular mais de um modelo de curva no mesmo projeto.

MATERIAIS E MÉTODOS O modelo parabólico é uma equação polinomial de segunda ordem (Eq. 1) contendo dois

parâmetros físicos primários, sendoβR a linha de controle e β a obliquidade das ondas, ou seja,

ângulo entre a crista da onda incidente a linha de controle, que une o ponto de difração de

25

ondas a um ponto na praia quase em linha reta (ponto final) (SILVESTER et al., 1993, 1997), com pares de ângulo θ e raios

nR é possível desenhar o modelo estático da costa, como visto

na Fig. 1.

( )2

21 /*/*/ nnon CCCRR θβθββ ++= (1)

As três constantes C presentes na formula do modelo parabólico foram geradas pela análise de regressão de 27 protótipos de modelos de baías. Os valores das constantes C delimitam-se de 2.5 à -1.0 para a variação de β entre 10º a 80º aplicável na maioria das condições, e são representadas por equações polinomiais de quarta ordem dependentes do ângulo β, como se segue (RAABE et al.,2010):

432

0 50000000476.000000875.0000349.00047.00707.0 ββββ +−+−=C (2)

432

1 000001281.00000182.000004879.00078.09536.0 ββββ −+−+=C (3)

432

2 30000000934.000001183.00003004.00078.00214.0 ββββ +−+−=C (4)

Figura 1 – Esboço do modelo parabólico mostrando principais parâmetros (RAABE et al.,2010).

Para a codificação do modelo é necessário isolar as variáveis com base nos pontos inseridos pelo usuário. Esta operação foi descrita por KLEIN et al. (2003), porém a diferença aqui é a não utilização da tabela de valores conhecidos das constantes C e sim a utilização das equações (Eq. 2 - 4) para obtenção das mesmas.

Para realizar operações de rotação e zoom sobre o modelo parabólico utiliza-se de álgebra linear aplicado sobre cada ponto de controle para definição da nova localização do modelo rotacionado e/ou escalonado e então é refeito o calculo do modelo.

A linguagem computacional utilizada foi Java por ser orientada a objetos e possuir bibliotecas de código fonte para manipulação de imagens, interface gráfica e desenhos vetoriais, recursos estes disponibilizados gratuitamente, pesando na escolha da linguagem.

Técnicas de engenharia de software, como padrões de projeto, foram utilizados na elaboração de todo o sistema. Padrões de projeto descrevem soluções para problemas recorrentes no desenvolvimento de sistemas software orientado a objetos. Um padrão de projeto estabelece um nome e define um problema, a solução, quando aplicar essa solução e suas consequências (GAMMA et al., 1995).

Os principais padrões de projeto adotados foram o Observer utilizado na notificação de mudanças de estados das ferramentas para o restante da aplicação, com um fraco acoplamento de código; O Factory Method utilizado na criação polimórfica das ferramentas inseridas pelo usuário; E o Command utilizado para encapsular requisições do usuário, permitindo a funcionalidade de desfazer e refazer. Estes padrões de projeto servirão para colaborar na manutenção e inclusão de novas funcionalidades ao MEPBay.

RESULTADOS E DISCUSSÕES Com a utilização de Java como plataforma para executar o MEPBay 3.0 foi retirada a

incompatibilidade com versões mais recentes do Windows presente na versão 2 do MEPBay e também a utilização do MEPBay em diferentes sistemas operacionais como Linux e Mac OS.

26

Funcionalidades foram acrescentadas na nova versão como rotação e outras ferramentas foram incluídas como medição de área e distância. Uma das diferenças mais impactantes na mudança de versão é a maneira como o usuário interage com a ferramenta curva. Na versão anterior (MEPBay 2.0) era necessário adicionar cada ponto de controle individualmente utilizando três botões distintos, um para cada ponto de controle, implicando na simulação de apenas um modelo por projeto, dificultando o uso da aplicação em praias com mais de um ponto de difração. Na nova versão (MEPBay 3.0) os pontos de controle do modelo parabólico são agregados a um objeto curva e não mais ao projeto, possibilitando então, mais de três pontos de controle, três por curva, o que implica em mais de uma simulação. Destaca-se que na nova versão o desenho da curva é feita automaticamente sem a necessidade de indicar em que local do plano da imagem está o promontório e a costa como era feito na versão anterior, as diferenças podem ser vistas na Fig. 2.

Figura 2 – Diferenças de interface entre as versões 2 e 3 do MEPBay.

Para divulgação do MEPBay foi construído um site onde será disponibilizado informações sobre e link para download [http://siaiacad17.univali.br/mepbay](Fig. 3). O software será testado por um grupo de pessoas, onde, pretende-se verificar se a interface de usuário esta adequada e se ele disponibiliza os resultados da forma adequada.

Figura 3 – Site onde o MEPBay esta disponível para download.

REFERÊNCIAS GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. 1995 Design patterns: Elements of reusable -object-oriented software. Addison Wesley, Reading, MA. KLEIN, A.H.F; VARGAS, A.; RAABE, A.L.A; HSU, J.R.C. 2003 Visual assessment of bayed beach stability with computer software. Computer & Geosciences, 29 (10) 1249 -1257 LAUSMAN, R.; KLEIN, A.H.F.; STIVE, M.J.F. 2010 Uncertainty in the application of the Parabolic Bay Shape Equation: Part 1. Coastal Engineering, 57, (2) 132-141

27

RAABE, A.L.A.; KLEIN, A.H.F.; GONZÁLEZ, M.; MEDINA, R. 2010 MEPBAY and SMC: Software tools to support different operational levels of headland-bay beach in coastal engineering projects. Coastal Engineering, 57, (2) 213-226 SILVESTER, R.; HSU, J.R.C. 1993 Coastal Stabilization: Innovative Concepts. Prentice-Hall, Englewood Cliffs, NJ. 578 pp. SILVESTER, R.; HSU, J.R.C.1997 Coastal Stabilization. World Scientific Publ. Co., Singapore. 578pp. (Reprint of Silvester and Hsu,1993.)

28

ANEXO 2 - Tabela dos Downloads do MEPPE Este anexo tem como objetivo apresentar as Tabela 1 a 5, contendo a relação dos Tabela - Relação de downloads do MEPPE.

Instituição Endereço Uso Coastal Planning & Engineering do Brasil, Ltda.

R. Bocaiuva, 2159-2221 - Centro Florianpolis - SC, 88015-530 projeto

Royal Haskoning Marlborough House, Marlborough Crescent, Newcastle upon Tyne NE1 4EE, United Kingdom

projeto

Laboratorio Nacional de Engenharia Civil Av. do Brasil 101, 1700 Lisboa, Portugal projeto

KV Consultores Calle de Serrano, 16, 28001 Madrid, Espanha projeto

Hydrosoft SA 95 58 Av, St-Zotique, QC J0P 1Z0, Canada - (450) 267-9453 pesquisa

COWI Papirfabrikken 28, 8600 Silkeborg, Danmark projeto University of Calabria Via Pietro Bucci, 87036 Rende CS, Italy ensino Halcrow 22 Cortlandt St, New York projeto Universidade do Algarve - CIMA

Universidade do Algarve, Campus de Gambelas, Faro, Portugal pesquisa

Aristotle University of Thessaloniki (AUTh)

Lab. of Maritime Engineering and Maritime Works, Div. of Hydraulics and Environmental Engineering, Dept. of Civil Engineering, Faculty of Engineering, Aristotle University of Thessaloniki, Thessaloniki, Greece, GR-54124

ensino

UNIVALI Rua Uruguai, Itajaí ensino LKS Ingenieria C/ Ourense 41, 6º B. 27004. Lugo. Spain projeto University of Catania Viale A. Doria 6 - 95125 Catania -ITALY ensino

University of East London University of East London, University Way, London. E16 2RD ensino

UNIVERSIDAD POLITECNICA DE MADRID - E.T.S. INGENIEROS DE CAMINOS, CANALES Y PUERTOS

Profesor Aranguren, s/n Ciudad Universitaria 28040 Madrid Spain ensino

CEPEMAR Avenida Carlos Moreira Lima, 80 - Bento Ferreira, Vitória - ES pesquisa

US Army Corps of Engineers

4735 E. Marginal Way S., Seattle, WA 98124, USA projeto

Dubai Municipality PO Box 67, Dubai projeto university of connecticut 1080 shennecossett road, grotn, ct 06340 ensino sandwell engineering vancouver bc canada projeto

tonkin & Taylor Ltd 105 Carlton Gore Road, Newmarket, Auckland, New Zealand projeto

Shoreplan Engineering Ltd

55 Eglinton Ave E Toronto ON Canada M4P 1G8 projeto

NIWA PO Box 11115, Hamilton, NZ projeto Shoreplan Engineering Ltd

55 Eglinton Ave E Toronto ON Canada M4P 1G8 projeto

29

Tabela - Relação de downloads do MEPPE continuação.

Instituição Endereço Uso

Cadiz University Departamento Ciencias de la Tierra. CASEM Poligono Rio San Pedro SN Puerto Real, Cadiz (Spain) 11510

ensino

HRC-Consulting Engineers 23, Ikarias str., Ekali 14578, Athens, Greece projeto

University of Victoria Bc 3800 Finnerty Road, Victoria, BC V8N 1M5, Canada pesquisa

Sinclair Knight Merz 256 Adelaide Tce, Perth, Western Australia ensino

Oceanica Consulting PO Box 3172, Broadway Nedlands WA 6009 Australia projeto

Hanbat National University

san 16-1, duckmyoung-dong, yuseong-gu, daejeon, korea ensino

worleyparsons Level 7, QV1 Building, 250 St Georges Terrace, PERTH WA 6000 projeto

nanyang technological university

Nanyang Technological University, 50 Nanyang Avenue,639798,Singapore, pesquisa

GHD 239 Adelaide Terrace projeto East Sea Research Institute, KORDI 695-1 Hujeong-ri, Jukbyeon-myeon pesquisa

Ocean Engineering, Bandung Institute of Technology (ITB)

Jl. Ganesha 10, TP Rahmat Building (Labtek VI) 3rd Floor, Bandung, 40124, West Java, Indonesia

ensino

Aurecon PO BOX 494, CAPE TOWN, 8000, SOUTH AFRICA pesquisa

Arak University Iran, Arak, Beheshti st., Universty of Arak pesquisa AMET University 135, ECR, Kanathur, Chennai 112, India pesquisa INCDM Constanta (www.rmri.ro) Mamaia 300, 900581 Constanta, Romania pesquisa

Environment Agency Worthing, UK pesquisa PAP/RAC Kraj. Ivana 11 21.000 Split (Croatia) pesquisa WSP Africa Coastal church Street, Stellenbosch, south africa projeto

Atkins Transport House, Crown Industrial Estate, Taunton, Somerset, UK, TA2 8QY projeto

TU Delft Stevinweg 1, Delft, Netherlands pesquisa Tohoku University 6-6-06 Sendai, Japan ensino Progetti e Opere Viale delle Magnolie 36 - 90146 Palermo projeto

University of Southampton

School of Civil Engineering and the Environment, University of Southampton, Highfield, Southampton. SO17 1BJ. UK

pesquisa

Universitat Politecnica de Catalunya

c/ Jordi Girona 1-3, Campus Nord ed D1, 08034 Barcelona, Spain ensino

Universidad Nacional de Colombia Cr 80 # 65-223 M2, 209 ensino

Baird & Associates Padre Mariano # 181, Of 902 Providencia, Santiago, Chile. projeto

Coastal Research Institute, Egypt

15, El Pharana st., El Shalalat, Alexandria, Egypt pesquisa

dhi-italia Via Luigi Cadorna, 7 17100 Savona SV, Italia projeto UNMSM universitaria av S/N Lima, Peru pesquisa University of Genoa Via Montallegro 1 ensino opus uk fareham, HANTS , uk Ensino

30

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso Coastal Planning & Engineering do Brasil, Ltda.

Rodovia José Carlos Daux (SC 401), No 8.600, Sala 05 Bloco 6, Bairro: Santo Antônio de Lisboa, Florianópolis, SC

projeto

U. Stellenbosch, Sudafrica Stellenbosh, Western Cape, Sudafrica pesquisa

Intecsa-Inarsa Santa Leonor, 32; 28037 - Madrid; Spain projeto GENIVAR 1175, Lebourgneuf, Québec, Canada projeto UNAM Ciudad Universitaria, Mexico, DF ensino TYPSA - spanish consulting company

Avenida de Juan Carlos I, 31, 30009 Murcia, España ensino

GENIVAR 1175, Lebourgneuf, Québec, Québec, Canada, G1C 1J2 projeto

Scott Wilson Scott House, Basingstoke, RG21 7PP, UK projeto Dept. of Civil Engineering, Udayana University

Bali-Indonesia ensino

IOUSP Praça do Oceanográfico, 191 São Paulo - SP CEP 05508-120 ensino

aix marseille université CEREGE , BP 80, 13545 Aix en Provence Cedex04, France ensino

Tarbiat Modares University Tehran, Iran ensino

UFRGS Av. Bento Gonçalves 9500 ensino Khaje Nasir Toosi university of technology- tehran, Iran

valiasr, Tehran, Iran pesquisa

DBC No. 11 South Kaj St., Zabety St., Heravi Sq., Tehran, Iran ensino

Sogreah Dubai projeto WorleyParsons Oman projeto Tu Delft Steinsweg, 1 Delft Netherlands ensino

PTP 5 Moghaddam St., Mirzaye Shirazi Ave., Tehran Iran projeto

KISR Kuwait pesquisa ncst 1616 E millbrook rd, raleigh, nc 27609 ensino Coastal Planning & Engineering, Inc. 2481 Boca Raton Blvd. Boca Raton FL 33431 projeto

Caribbean Oceanography Group 2305 Cacique St., San Juan PR 00913 projeto

UTM Kuala Lumpur (Malaysia) pesquisa Dept of Env, Climate Change, Water

Honeysuckle Drive, Newcastle West, NSW, 2300 pesquisa

USACE 2735 E. Marginal Way South, Seattle, wa projeto

UFRJ Cidade Universitaria - Iha do Fundão - Rio de Janeiro projeto

Ohio Department of Natural Resources - Office of Coastal Management

West Shoreline Drive, Sandusky, 105, Ohio, USA, 44870 projeto

31

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso ICOS MG Road, B-405, Mumbai, , India, 400067 projeto University of Cagliari, Dept of Land Engineering Piazza d'Armi - Cagliari, 2, CA, ITALY, 09123 pesquisa

PB 32, Tmn Sg Chua, 32, Selangor, Malaysia, 43000 ensino

Royal Boskalis Westminster NV

Rosmolenweg , 20, Papendrecht, The Netherlands, 3350 AA projeto

UFPB UFPB/CT/DECA, S/N, Paraiba, Brasil, 58051-900 pesquisa

Modimar s.r.l. via monte zebio, 40, italy, lazio, 00195 projeto University Bremen Klagenfurtstr., 5, Bremen, Germany, 28203 pesquisa international coastal managment

g arm southport yacht club, 50/51, QLD, Australia, 4217 pesquisa

Coast & Harbor Engineering

3410 Far West Blvd, Austin, 210, TX, USA, 78731 projeto

COWI Jens Chr Skousvej, 9, none, DK, 8000 projeto Environment Agency, UK Chatsworth Rd, 0, East Sussex, UK, BN11 1LD pesquisa

Sea Spectrum Co., Ltd. Sukumvit 71, 1000/61, Bangkok, Thailand, 10110 projeto

Water Resources University Tay Son, 175, Hanoi, Vietnam, 10000 ensino

University of Queensland Hawken Drive, 20, Queensland, Australia, 10000 ensino

University of L'Aquila Piazzale Pontieri, 1, ITALY, ITALY, 67040 ensino particular Palqui , 2933, Ñuñoa, Chile, 12121212 ensino sea engineering, inc. Makai Research Pier, NA, HI, USA, 96795 projeto

UFRGS Av. Bento Gonçalves, 9500, rgs, brasil, 90000000 ensino

University of Bucharest N. Balcescu, 1, Bucharest, Romania, 01004 pesquisa Dalian University of Technology LingGong Road, 2, Liaoning, China, 116024 pesquisa

Institute of Fluid Mechanics and Environmental Engineering (IMFIA). Universidad de la República

Julio Herrera y Reissig, 565, Montevideo, Uruguay, 11300 ensino

bucharest university nicolae balcescu, 1, ilfov, romania, 07000 pesquisa

UFBA Av. Princesa Leopoldina 17 - apt 1401, 17, Bahia, Brazil, 40150-080 ensino

Universidade Federal do Rio Grande - FURG Alfredo Huck, 475, RS, Brasil, 96200000 ensino

Tonkin & Taylor Ltd Carlton Gore , 105, Auckland, New Zealand, 0627 projeto

TU Delft Stevinweg, 1, Zuid Holland, Netherlands, 2628CN ensino

DHI water and Environment

Pandan Loop, 200, singapore, singapore, 128388 pesquisa

UGR c/ Almoraima , 17, Cadiz, España, 11360 ensino University of L'Aquila P.le Pontieri , 1, Monteluco di Roio, Italy, 67040 ensino

32

Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Uso National Sun Yat-sen University

Lienhai Rd, 70, Kaohsiung , Taiwan, R.O.C., 80424 pesquisa

Universidade Lusofona do Porto

Rua Augosto Rosa, 24, Porto, Portugal, 4000-098 pesquisa

National Sun Yat-sen University

Lienhai Road, Kaohsiung City, 70, TAIWAN, Republic of China, 80424 ensino

Hiroshima University Kagamiyama, Higashi-hiroshima, 1-5-1, Hiroshima, Japan, 739-8529 ensino

COWI India Private Limited

CP RAMASWAMY ROAD, CHENNAI, 68, TAMILNADU, INDIA, 600041 pesquisa

Udayana University Jimbaran, 0, Badung, Bali, 80145 ensino CBCL Limited Hollis, 1489, NS, Canada, B3J2R7 projeto