desenvolvimento de ferramenta computacional para análise do
Transcrição
desenvolvimento de ferramenta computacional para análise do
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 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 2.3.1 JAI 6 6 2.4 Computação Gráfica 2.4.2 Escala 2.4.3 Rotação 2.4.4 Matriz de Transformação 11 11 12 13 2.5 Orientação a Objetos 14 2.6 Padrões de Projeto 2.6.1 Factory Method 2.6.2 Observer 2.6.3 Command 14 15 15 16 2.7 Model View Control 16 3 CONSTRUÇÃO DO MODELO PARABÓLICO 17 3.1 Implementação do código 17 ii 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 iii Í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 iv Í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 v Í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 vi Í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 vii 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 viii 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 ix 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: 1 • 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. 2 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). 3 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 β . 4 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). R n / R β = C o + C1 * β / θ n + C 2 * ( β / θ n ) 2 θ () (Teta): Ângulo formado entre a linha de crista de onda e os demais comprimentos . Rn : Comprimentos obtidos a partir da linha de ondas predominantes ligados a outros pontos ao longo da periferia da praia (Figura 4). Coeficientes C 0 , C1 , e C 2 : Os coeficientes C 0 , C1 , C 2 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. C 0 = 0,0707 − 0,0047 β + 0,000349β 2 − 0,00000875β 3 + 0,00000004765β 4 () C1 = 0,9536 − 0,0078β + 0,00004879 β 2 − 0,0000182 β 3 + 0,0000001281β 4 () C 2 = 0,0214 − 0,0078β + 0,0003004 β 2 − 0,00001183β 3 + 0,00000009343β 4 () 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). 5 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. 6 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). 7 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 armazenase 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). 8 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 1 imagem, as coordenadas para o centro da rotação, o ângulo e o tipo de interpolação , 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. 9 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) 10 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). x' = x + Tx () y ' = y + Ty P' = P + T ⇒ [x' y '] = [x y] + [Tx Ty ] () 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 11 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). x' = x ∗ Sx y' = y ∗ Sy [x ' y '] = [x () Sx 0 y ]∗ 0 Sy () 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. x' = x cos(λ ) − y sin (λ ) y' = y cos(λ ) + x sin (λ ) [x' y '] = [x cos λ y]∗ − sin λ () sin λ cos λ () 12 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): x' m00 m01 m02 x m00 x + m01y + m02 y' = m10 m11 m12 ⋅ y = m10 x + m11 y + m12 1 0 0 1 1 1 13 () 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 14 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-paramuitos 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). 15 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 2 página HTML , 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. 16 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 17 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. 18 Rβ = ( x1 − x0 ) − ( y1 − y 0 ) () 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. 19 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. c 2 = a 2 + b 2 − 2ab cos(β ) cos(β ) = () a2 + b2 − c2 2ab () β = arccos(cos(β )) () 20 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; } 21 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. 22 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 23 . 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β . m= ∆y ∆x () y − y 0 = m(x − x 0 ) () ax + by + c = 0 () 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. 24 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. 25 Figura - Protótipo para teste de manipulação de imagens. Figura - Protótipo de teste das implementações das ferramentas. 26 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 [siaiacad17.univali.br/mepbay], a Figura 21 mostra a pagina inicial do site. Figura - Pagina inicial do site. 27 no domínio 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 28 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. 29 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 30 APÊNDICES 31 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 Coastal Planning & Engineering do Brasil, Ltda. Royal Haskoning Laboratorio Nacional de Engenharia Civil KV Consultores Hydrosoft SA COWI University of Calabria Halcrow Universidade do Algarve CIMA Aristotle University of Thessaloniki (AUTh) UNIVALI LKS Ingenieria University of Catania University of East London UNIVERSIDAD POLITECNICA DE MADRID - E.T.S. INGENIEROS DE CAMINOS, CANALES Y PUERTOS CEPEMAR US Army Corps of Engineers Dubai Municipality university of connecticut sandwell engineering tonkin & Taylor Ltd Shoreplan Engineering Ltd NIWA Shoreplan Engineering Ltd Endereço Uso R. Bocaiuva, 2159-2221 - Centro Florianpolis SC, 88015-530 projeto Marlborough House, Marlborough Crescent, Newcastle upon Tyne NE1 4EE, United Kingdom projeto Av. do Brasil 101, 1700 Lisboa, Portugal projeto Calle de Serrano, 16, 28001 Madrid, Espanha 95 58 Av, St-Zotique, QC J0P 1Z0, Canada (450) 267-9453 Papirfabrikken 28, 8600 Silkeborg, Danmark Via Pietro Bucci, 87036 Rende CS, Italy 22 Cortlandt St, New York Universidade do Algarve, Campus de Gambelas, Faro, Portugal 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 Rua Uruguai, Itajaí C/ Ourense 41, 6º B. 27004. Lugo. Spain Viale A. Doria 6 - 95125 Catania -ITALY University of East London, University Way, London. E16 2RD projeto Profesor Aranguren, s/n Ciudad Universitaria 28040 Madrid Spain Avenida Carlos Moreira Lima, 80 - Bento Ferreira, Vitória - ES 4735 E. Marginal Way S., Seattle, WA 98124, USA PO Box 67, Dubai 1080 shennecossett road, grotn, ct 06340 vancouver bc canada 105 Carlton Gore Road, Newmarket, Auckland, New Zealand 55 Eglinton Ave E Toronto ON Canada M4P 1G8 PO Box 11115, Hamilton, NZ 55 Eglinton Ave E Toronto ON Canada M4P 1G8 32 pesquisa projeto ensino projeto pesquisa ensino ensino projeto ensino ensino ensino pesquisa projeto projeto ensino projeto projeto projeto projeto projeto Tabela - Relação de downloads do MEPPE continuação. Instituição Cadiz University HRC-Consulting Engineers University of Victoria Bc Sinclair Knight Merz Oceanica Consulting Hanbat National University worleyparsons nanyang technological university GHD East Sea Research Institute, KORDI Ocean Engineering, Bandung Institute of Technology (ITB) Aurecon Arak University AMET University INCDM Constanta (www.rmri.ro) Environment Agency PAP/RAC WSP Africa Coastal Atkins TU Delft Tohoku University Progetti e Opere University of Southampton Universitat Politecnica de Catalunya Universidad Nacional de Colombia Baird & Associates Coastal Research Institute, Egypt dhi-italia UNMSM University of Genoa opus uk Endereço Departamento Ciencias de la Tierra. CASEM Poligono Rio San Pedro SN Puerto Real, Cadiz (Spain) 11510 Uso 23, Ikarias str., Ekali 14578, Athens, Greece projeto 3800 Finnerty Road, Victoria, BC V8N 1M5, Canada 256 Adelaide Tce, Perth, Western Australia PO Box 3172, Broadway Nedlands WA 6009 Australia san 16-1, duckmyoung-dong, yuseong-gu, daejeon, korea Level 7, QV1 Building, 250 St Georges Terrace, PERTH WA 6000 Nanyang Technological University, 50 Nanyang Avenue,639798,Singapore, 239 Adelaide Terrace 695-1 Hujeong-ri, Jukbyeon-myeon ensino pesquisa ensino projeto ensino projeto pesquisa projeto pesquisa Jl. Ganesha 10, TP Rahmat Building (Labtek VI) 3rd Floor, Bandung, 40124, West Java, Indonesia PO BOX 494, CAPE TOWN, 8000, SOUTH AFRICA Iran, Arak, Beheshti st., Universty of Arak 135, ECR, Kanathur, Chennai 112, India pesquisa pesquisa Mamaia 300, 900581 Constanta, Romania pesquisa Worthing, UK Kraj. Ivana 11 21.000 Split (Croatia) church Street, Stellenbosch, south africa Transport House, Crown Industrial Estate, Taunton, Somerset, UK, TA2 8QY Stevinweg 1, Delft, Netherlands 6-6-06 Sendai, Japan Viale delle Magnolie 36 - 90146 Palermo School of Civil Engineering and the Environment, University of Southampton, Highfield, Southampton. SO17 1BJ. UK c/ Jordi Girona 1-3, Campus Nord ed D1, 08034 Barcelona, Spain pesquisa pesquisa projeto Cr 80 # 65-223 M2, 209 ensino Padre Mariano # 181, Of 902 Providencia, Santiago, Chile. 15, El Pharana st., El Shalalat, Alexandria, Egypt Via Luigi Cadorna, 7 17100 Savona SV, Italia universitaria av S/N Lima, Peru Via Montallegro 1 fareham, HANTS , uk 33 ensino pesquisa projeto pesquisa ensino projeto pesquisa ensino projeto pesquisa projeto pesquisa ensino Ensino Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Coastal Planning & Rodovia José Carlos Daux (SC 401), No 8.600, Engineering do Brasil, Sala 05 Bloco 6, Bairro: Santo Antônio de Ltda. Lisboa, Florianópolis, SC U. Stellenbosch, Stellenbosh, Western Cape, Sudafrica Sudafrica Intecsa-Inarsa Santa Leonor, 32; 28037 - Madrid; Spain GENIVAR 1175, Lebourgneuf, Québec, Canada UNAM Ciudad Universitaria, Mexico, DF TYPSA - spanish Avenida de Juan Carlos I, 31, 30009 Murcia, consulting company España 1175, Lebourgneuf, Québec, Québec, Canada, GENIVAR G1C 1J2 Scott Wilson Scott House, Basingstoke, RG21 7PP, UK Dept. of Civil Engineering, Udayana Bali-Indonesia University Praça do Oceanográfico, 191 São Paulo - SP IOUSP CEP 05508-120 CEREGE , BP 80, 13545 Aix en Provence aix marseille université Cedex04, France Tarbiat Modares Tehran, Iran University UFRGS Av. Bento Gonçalves 9500 Khaje Nasir Toosi university of technologyvaliasr, Tehran, Iran tehran, Iran No. 11 South Kaj St., Zabety St., Heravi Sq., DBC Tehran, Iran Sogreah Dubai WorleyParsons Oman Tu Delft Steinsweg, 1 Delft Netherlands 5 Moghaddam St., Mirzaye Shirazi Ave., Tehran PTP Iran KISR Kuwait ncst 1616 E millbrook rd, raleigh, nc 27609 Coastal Planning & 2481 Boca Raton Blvd. Boca Raton FL 33431 Engineering, Inc. Caribbean Oceanography 2305 Cacique St., San Juan PR 00913 Group UTM Kuala Lumpur (Malaysia) Dept of Env, Climate Honeysuckle Drive, Newcastle West, NSW, Change, Water 2300 USACE 2735 E. Marginal Way South, Seattle, wa Cidade Universitaria - Iha do Fundão - Rio de UFRJ Janeiro Ohio Department of Natural Resources West Shoreline Drive, Sandusky, 105, Ohio, Office of Coastal USA, 44870 Management 34 Uso projeto pesquisa projeto projeto ensino ensino projeto projeto ensino ensino ensino ensino ensino pesquisa ensino projeto projeto ensino projeto pesquisa ensino projeto projeto pesquisa pesquisa projeto projeto projeto Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço ICOS MG Road, B-405, Mumbai, , India, 400067 University of Cagliari, Piazza d'Armi - Cagliari, 2, CA, ITALY, 09123 Dept of Land Engineering 32, Tmn Sg Chua, 32, Selangor, Malaysia, PB 43000 Royal Boskalis Rosmolenweg , 20, Papendrecht, The Westminster NV Netherlands, 3350 AA UFPB/CT/DECA, S/N, Paraiba, Brasil, 58051UFPB 900 Modimar s.r.l. via monte zebio, 40, italy, lazio, 00195 University Bremen Klagenfurtstr., 5, Bremen, Germany, 28203 international coastal g arm southport yacht club, 50/51, QLD, managment Australia, 4217 Coast & Harbor 3410 Far West Blvd, Austin, 210, TX, USA, Engineering 78731 COWI Jens Chr Skousvej, 9, none, DK, 8000 Environment Agency, UK Chatsworth Rd, 0, East Sussex, UK, BN11 1LD Sukumvit 71, 1000/61, Bangkok, Thailand, Sea Spectrum Co., Ltd. 10110 Water Resources Tay Son, 175, Hanoi, Vietnam, 10000 University Hawken Drive, 20, Queensland, Australia, University of Queensland 10000 University of L'Aquila Piazzale Pontieri, 1, ITALY, ITALY, 67040 particular Palqui , 2933, Ñuñoa, Chile, 12121212 sea engineering, inc. Makai Research Pier, NA, HI, USA, 96795 Av. Bento Gonçalves, 9500, rgs, brasil, UFRGS 90000000 University of Bucharest N. Balcescu, 1, Bucharest, Romania, 01004 Dalian University of LingGong Road, 2, Liaoning, China, 116024 Technology Institute of Fluid Mechanics and Environmental Julio Herrera y Reissig, 565, Montevideo, Engineering (IMFIA). Uruguay, 11300 Universidad de la República bucharest university nicolae balcescu, 1, ilfov, romania, 07000 Av. Princesa Leopoldina 17 - apt 1401, 17, UFBA Bahia, Brazil, 40150-080 Universidade Federal do Alfredo Huck, 475, RS, Brasil, 96200000 Rio Grande - FURG Carlton Gore , 105, Auckland, New Zealand, Tonkin & Taylor Ltd 0627 Stevinweg, 1, Zuid Holland, Netherlands, TU Delft 2628CN DHI water and Pandan Loop, 200, singapore, singapore, Environment 128388 UGR c/ Almoraima , 17, Cadiz, España, 11360 University of L'Aquila P.le Pontieri , 1, Monteluco di Roio, Italy, 67040 35 Uso projeto pesquisa ensino projeto pesquisa projeto pesquisa pesquisa projeto projeto pesquisa projeto ensino ensino ensino ensino projeto ensino pesquisa pesquisa ensino pesquisa ensino ensino projeto ensino pesquisa ensino ensino Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço National Sun Yat-sen Lienhai Rd, 70, Kaohsiung , Taiwan, R.O.C., University 80424 Universidade Lusofona Rua Augosto Rosa, 24, Porto, Portugal, 4000do Porto 098 National Sun Yat-sen Lienhai Road, Kaohsiung City, 70, TAIWAN, University Republic of China, 80424 Kagamiyama, Higashi-hiroshima, 1-5-1, Hiroshima University Hiroshima, Japan, 739-8529 COWI India Private CP RAMASWAMY ROAD, CHENNAI, 68, Limited TAMILNADU, INDIA, 600041 Udayana University Jimbaran, 0, Badung, Bali, 80145 CBCL Limited Hollis, 1489, NS, Canada, B3J2R7 36 Uso pesquisa pesquisa ensino ensino pesquisa ensino projeto ANEXOS 37 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 1 Universidade 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 38 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 Rn é possível desenhar o modelo estático da costa, como visto na Fig. 1. R n / R β = C o + C1 * β / θ n + C 2 * (β / θ n ) 2 (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): C 0 = 0.0707 − 0.0047β + 0.000349β 2 − 0.00000875β 3 + 0.00000004765β 4 (2) C1 = 0.9536 + 0.0078β − 0.00004879β 2 + 0.0000182β 3 − 0.000001281β 4 (3) C 2 = 0.0214 − 0.0078β + 0.0003004β 2 − 0.00001183β 3 + 0.00000009343β 4 (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. 39 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. 40 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.) 41 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. 42 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 (x) (x) () (x) Nº de páginas Relatório de registro de programa de computador 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. 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 43 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 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: Estado Civil: Solteiro Ramal: 8057 02/07/1989 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 Participante Externo UNIVALI ( ) Professor ( ( ) Técnico-administrativo ( ( x ) Aluno Graduação ( ( ( ( ( ( ) Aluno Especialização ) Aluno Mestrado ) Aluno Mestrado Profissionalizante ) Aluno Doutorado ) Professor Informe Instituição: ) Técnico-administrativo ) Aluno Graduação ) Aluno Pós-Graduaçã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: Estado Civil: Casado 09/11/1973 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 Participante Externo UNIVALI ( ( x ) Professor ( ) Técnico-administrativo ( ( ) Aluno Graduação ( ( ( ( ( ( ) Aluno Especialização ) Aluno Mestrado ) Aluno Mestrado Profissionalizante ) Aluno Doutorado ) Professor Informe Instituição: ) Técnico-administrativo ) Aluno Graduação ) Aluno Pós-Graduaçã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: Estado Civil: Casado 29/01/1966 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 Participante Externo UNIVALI ( ( x ) Professor ( ) Técnico-administrativo ( ( ) Aluno Graduação ( ( ( ( ( ( ) Aluno Especialização ) Aluno Mestrado ) Aluno Mestrado Profissionalizante ) Aluno Doutorado ) Professor Informe Instituição: ) Técnico-administrativo ) Aluno Graduação ) Aluno Pós-Graduaçã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. ________________________________________________________________________________ _______ 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. 1 ANTECEDENTES DO PROGRAMA DE COMPUTADOR (PARA ESTA SEÇÃO, SE NECESSITAR DE FOLHA ADICIONAL, IDENTIFIQUE-A COMO ANEXO 3) Não sei Sim 1. Conhece outro programa de computador com característica similar? 2. Há pesquisa bibliográfica relacionada com o programa de computador • Se 1 for afirmativo, informe o nome do programa de computador: X X SMC Coastal Modelling System. Não Sim 1. O presente programa de computador já foi revelado fora da X Universidade? 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 2 • 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. 3 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 4 TABELA 1 – CAMPO DE APLICAÇÃO 1. Administração AD01-Administr AD02-Função Adm AD03-Modern Adm AD04-Adm Publ AD05-Adm Empres AD06-Adm Prod AD07-Adm Pes AD08-Adm Materl AD09-Adm Patrim AD10-Marketing AD11-Adm Escrit 2. Agricultura AG01-Agricultur AG02-Ciênc Agrl AG03- Adm Agricl AG04-Econom Agríc AG05-Sist agríc AG06-Eng agrícl AG07-Edafologia AG08-Fitopatol AG09-Prod Veget (desenvolv.organizacional, desburocratização); (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); (análise organizacional, O&M); (Administr. Federal, Estadual, Municipal, direito administr., reforma administr., intervenção do Estado na economia, controle da administr. pública); (administr., de negócios, privada, organização de empresas); (planejamento da fábrica, engenharia do produto, protótipo, planejamento da produção, controle de qualidade); (planejamento de pessoal - recrutamento, seleção, admissão, avaliação, promoção, etc); (planejamento de material, aquisição, armazenamento, almoxarifado, alienação, controle de material, de estoque, inventário, requisição de material); (inventário patrimonial, fiscalização, conservação, manutenção do patrimônio); (mercadologia, administr. de marketing ou mercadológica, análise, e pesquisa de mercado, estratégia de marketing, composto do produto-marcaembalagem, administr. de vendas - planejamento de vendas - controle de vendas); (serviços de escritório - comunicação administr., arquivo de escritório, etc). (agropecuária, desenvolvimento rural, extensão rural, planejamento e política agrícola, zoneamento agrícola); (agrologia, agronomia, agrostologia, edafologia, pomologia); (imóvel rural: fazenda - granja empresa rural); (economia agrícola); (agricultura extensiva, intensiva, itinerante, monocultura, policultura); (construção rural: açude - barragem, estufa, habitação rural, drenagem irrigação); (conservação de solo, controle da erosão, melhoramento, recuperação, tratamento, manejo do solo: adubação, fertilização); (doenças e pragas vegetais, defensivo agrícola); (produção agrícola, fitotecnia: cultura agrícola, lavoura, 5 AG10-Prod Animl AG11-Ciênc Flor AG12-Aquacultur AG13-Extr Veget AG14-Extr Animl cultivo - técnica agrícola); (produto animal, zootecnia: tipos de criação, veterinária ou medicina veterinária, zoopatologia, produto veterinário; veterinária preventiva); Ciências Florestais (dasonomia, economia florestal, política florestal, produção vegetal, silvicultura; arboricultura-florestamento, reflorestamento, terra marginal); (aquacultura ou aquicultura animal, vegetal); Extrativismo vegetal (produto extrativo vegetal: celulose, cera, fibra, goma natural, madeira, látex); 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, bemestar 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); 6 5. Biologia BL01-Biologia BL02-Genética BL03-Citologia BL04-Microbiolg BL05-Anatomia BL06-Fisiologia BL07-Bioquímica BL08-Biofísica 6. Botânica BT01-Botânica BT02-Fitogeograf BT03-Botân Econ BT04-Botân Sist (ser vivo, substância orgânica, leis biológicas, biotipologia, biometria, bioclimatologia, parasitologia, filogenia ou evolução, geobiologia, histologia, limnologia); (citogenética, engenharia genética, genotipo, hereditariedade, melhoramento genético, gen, genética das populações); (ou biologia celular, célula, meiose, etc); (bacteriologia, virologia, biogeografia); (sistemas: cardiovascular - digestivo - tegumentar, etc, embriologia, secreção, excreção, órgãos dos sentidos); (nascimento, digestão, reprodução, sexualidade, nemofisiologia, metabolismo); (aminoácido, proteína, hormônio, fenômeno bioquímicos: biossíntese - fermentação - osmose, etc); (bioenergética, biomecânica, eletrofisiologia). (fitologia, vegetal, vegetação, morfologia, fisiologia vegetal, quimiossíntese, genética vegetal, fitossociologia, biologia floral); (geografia botânica ou botânica geográfica, caatinga, cerrado, campo, mangue, etc.); (planta condimentícia, daninha ou nociva, aromática, feculenta, têxtil, cereal, legume, hortaliça, grão alimentício); (taxonomia vegetal). 7. Conhecimento e Comunicação CO01-Filosofia CO02-Ciência CO03-Ciênc Ling CO04-Comunic (metafísica, estética, ética, filosofia social, teoria do conhecimento, hermenêutica, lógica, dialética, doutrina filosófica); (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); (lingüística, geolinguística, sociolinguística e linguagem popular, linguagem: natural, artificial); (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); 7 CO05-Arte CO06-História 8. Construção Civil CC01-Construção CC02-Proc Const CC03-Org Constr CC04-Obra Públ CC05-Estrutura CC06-Edificação CC07-Tecn Const CC08-Hig Const CC09-Eng Hidrl CC10-Solo 9. Direito DI01-Legislação (criação artística, patrimônio artístico, industrial, fotografia, aerofotografia, cinema, música, literatura); (política, econômica, social, pesquisa histórica: arqueologia, numismática, genealogia, filatelia, epigrafia; patrimônio histórico). (construção civil: habitacional, comercial, industrial: construção industrializada ou pré-fabricada); Processo Construtivo (tradicional, convencional, misto, evoluído, cantaria, adobe, alvenaria, concreto, máquina de construção, equipamento para construção); 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); (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); (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); (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); (ancoragem, apiloagem, caleamento estrutural, cimbramento, concretagem, escoramento, terraplanagem, pavimentação); Higiene das construções (ventilação, iluminação, conforto térmico isolamento: acústico, térmico, e higroscópico); (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); (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). (federal, estadual, municipal, hierárquica das leis; 8 DI02-Dir Constl DI03-Disc Dr. constituição, lei ordinária, etc; proteção da lei ou proteção legal, hermenêutica jurídica ou interpretação das leis); 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); 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 EL02-Ecofisiol EL03-Ecol Human EL04-Ec Veg/Anm EL05-Etologia 11. Economia EC01-Economia EC02-An Microec (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); (ecofisiologia animal, vegetal, distrófico, digotrófico, eutrófico, etc.); (ecodesenvolvimento, ecologia social, ecologia urbana); Ecologia Vegetal/Ecologia Animal (autoecologia, sinecologia, habitat, vida selvagem); (migração; anodromo, catadromo, piracema, hibernação, comportamento animal, comportamento vegetal). (teoria econômica, metodologia da economia: modelos e econometria; análise econômica, sistema econômico); (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 9 EC03-Teo Microe EC04-Ativ Econm EC05-Contab Nac EC06-Econ Monet EC07-Mercado EC08-Bens Econom EC09-Eng/Din Ec EC10-Econ Espec EC11-Propriedad EC12-Ec Internac do bem-estar, ou economia social ou teoria da distribuição da renda, ótimo de pareto curva de Lorenz, custo social); (ou microeconomia ou teoria microeconômica, demanda agregada, oferta agregada, venda, nível de emprego); (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); (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); (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); (demanda, oferta, mercado consumidor, mercado externo ou externo ou exterior, mercado interno, internacional, produtor, paralelo, a termo, preço); (bens de consumo, de capital, insumo, bens: duráveis, não duráveis, tangíveis, intangíveis, inferiores, normais, de Giffen); 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); (ou ciência regional ou economia regional, economia local, urbana regionalização); (propriedade do capital, da terra ou propriedade fundiária, estrutura agrária, loteamento); (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) 10 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 ED02-Ensin-Supl ED03-Adm/Pr Ens ED04-Formas Ens ED05-Currículo ED06-Educação 13. Energia EN01-Energia EN02-Rec Energ Ensino regular (pré-escolar, 1º grau, 2º grau, superior, pós-graduação, orientação profissional); Ensino supletivo (alfabetização, aprendizagem; comercial, industrial, agrícola, suprimento: curso de atualização, de aperfeiçoamento, treinamento); 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); 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); (currículo ou programa de ensino, reforma de ensino, currículo mínimo, etc; corpo docente, corpo discente, graus e diplomas); (pedagogia, ensino, sistema educacional, rede de ensino, educação de adulto, educação de base, de massa, etc, política educacional; educação ectraescolar: educação comunitária, recuperadora). (política energética, economia energética: consumo de energia, empresa de energia); 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 11 EN03-Combustívl EN04-Tecn Energ EN05-Eng Eltrôn EN06-Eng Nucle 14. Finanças FN01-Finan Públ FN02-Finan Priv FN03-Sist Finan FN04-Rec/Instrum FN05-Adm Finan FN06-Contabilid 15. Física e Química FQ01-Fís Partíc FQ02-Acúst/Ótic FQ03-Onda canalizado; formas: energia elétrica, mecânica, química, radiante, luminosa, sonora, térmica, etc); (fóssil, de origem vegetal, biomassa, nuclear, sólido, líquido, gasoso); 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); (microeletrônica, circuito eletrônico, eletrônica industrial, semicondutor); (tecnologia de reatores, reator nuclear). (receita pública, orçamento público, sistema tributário, despesa pública, crédito público, administração fiscal); (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); 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); (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); (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). 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); (onda sonora, som; luz, ótica geométrica, microscópica, física, alidade microscopia, solametria); (amplitude, difração, freqüência, modulação, 12 FQ04-Metrologia FQ05-Mecânica FQ06-Fis Solid FQ07-Termodinâm FQ08-Eletrônica FQ09-Magn/Elmag FQ10-Fís SupDis FQ11-Radiação FQ12-Espectrosc FQ13-Fís Molecl FQ14-Química FQ15-Quím An/Po FQ16-Fís-Quím FQ17-Quím Orgân FQ18-Quím Inorg demodulação, reflexão, refração, propagação, ressonância e tipos de onda); (unidade de medida, dimensão, análise dimensional, equação dimensional, sistema de medida, medição: macro e micro-medição); (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); 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); (calor, calorimetria, temperatura, radiação térmica, tratamento térm., termologia, propried. termodinâmica); (quântica, linear, não linear); 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); Física de Superfície/de Dispersão (tensão superficial, capilaridade; física coloidal); (efeito da radiação, radiação atmosférica, radiação ionizante); (espectrografia, espectrometria, espectroscopia atômica, molecular e ótica, espectrofotometria); Física Molecular (ou física atômica, reação nuclear, estrutura molecular, radiatividade, radiometria); (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); Química Analítica / dos polímeros (análise químicas calorimetria, condumetria, cromatografia; polímero orgânico, polímero inorgânico); (análise físico-química, processos físicos-químicos); (composto orgânico, ácido, sal); (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); 13 GC04-Orient Geo GC05-Geodesia GC06-Topografia GC07-Fotogramet GC08-Mapeamento GC09-Met Cartog GC10-Plan Carto 17. Geologia GL01-Geol Físic GL02-Glaciolog GL03-Geotectonc GL04-Geol Marin GL05-Geol Hist GL06-Geol Econ GL07-GeoQuiFiTe 18. Habitação HB01-Habitação HB02-Tipol Habt Hidrologia e Oceanografia HD01-Hidrologia HD02-Hidrograf (pontos cardeais, colaterais, hemisfério); (astronômica, espacial, gravimétrica, geométrica, levantamento geodésico); (topometria, planimetria, altimetria, acidente topográfico, sensoramento remoto ou monitoreamento remoto); (fotogrametria terrestre, aerofotogrametria, etc); (fotogramia, mapa, carta, fotocarta, mosaico, etc); Métodos e Processos de Cartografia (processo astrogeodésico, método das direções, método de Schreiber, de Sterneck, etc.); 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). (dinâmica externa: intemperismo, eluviação, iluviação, erosão; dinâmica interna: tectonismo, magma, etc; geologia estrutural: anticlinal, sinclinal, dobra, junta, foliação); (ou criologia, glaciação, moraina); Geotectônica (tectônica, geodinâmica, sismologia); Geologia Marinha (fotogeologia: mapeamento geológico); (paleontologia, arcabouço tectônico da terra, sedimentologia, estratigrafia); (petrologia, petrografia, gênese de jazida: metalgenia, mineralização, jazida mineral, prospecção; mineralogia física, química, etc); 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); (moradia, função habitacional, mercado habitacional, política habitacional); 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). (água, ciclo hidrológico); (bacia hidrográfica, representativa, área de inundação, 14 HD03-Hidrometr HD04-Oceanograf Indústria IN01-Indústria IN02-Tecnologia IN03-Engenharia IN04-Ind Ext Mi IN05-Ind Transf 19. Informação IF01-Informação IF02-Documentaç IF03-Reprograf IF04-Documento IF05-Biblioteco IF06-Arquivolog IF07-Ciênc Info IF08-Serv Info IF09-Uso Inform IF10-Genérico curso de água, bacia lacustre, etc); (fluviometria, pluviometria, evapometria, sedimentometria, estação hidrométrica, fluviométrica, etc); (ou oceanologia, ou talassografia, oceano, mar, tipos de oceanografia: física, química, biológica, geológica, batimetria); (política industrial, concentração industrial, produção industrial, pesquisa industrial, empresa industrial); (política tecnológica, cooperação técnica, pesquisa tecnológica, inovação tecnológica, tecnologia apropriada, química tecnológica); (desenho técnico, engenharia metalúrgica, engenharia química, mecânica, automotiva, aeronáutica, naval, de produção, de teste); Indústria Extrativa Mineral (política mineral, pesquisa mineral, engenharia e minas, mineração, extrativismo mineral, ou exploração mineral); 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). (científica, tecnológica, bibliográfica, estratégica, dados, etc); (análise da informação, processamento de informação armazenamento, recuperação, disseminação, intercâmbio, bibliofilia, bibliologia, bibliometria); (fotocópia, microfotografia, microfilmagem, micrografia); (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); (administração de biblioteca, processos técnicos); (ou arquivística, administração de arquivos); (sistema de informação, rede de informação, teoria da informação, fluxo de informação); (biblioteca, centro de documentação, arquivo, centro referencial, museu, etc); (usuário, estudo e perfil do usuário); (processamento de dados). 15 20. Matemática MT01-Lógica Mat MT02-Álgebra MT03-Geometria MT04-Anális Mat MT05-Cálculo MT06-Mat Aplic 21. Meio Ambiente MA01-Meio Amb MA02-Recurs Nat MA03-Poluição MA04-Qualid Amb (metamatemática, método matemático, processo matemático, teoria lógica); (teoria dos conjuntos, teoria dos números, álgebra elementar, estrutura algébrica, tipos de álgebra); (geometria plana, geometria sólida, geometria analítica, trigonometria, geometria descritiva, geometria diferencial, etc); (topologia, análise real, análise numérica, análise complexa, vetorial, matricial, tensorial, funcional, transformação integral, equação); (cálculo diferencial, integral, operacional, vetorial, matricial, tensorial, numérico, variacional); (= 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). (artificial, natural, política do meio ambiente); (natureza: conservação, recursos naturais renováveis, não renováveis, área protegida); (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); (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 PD02-Pedogênese (= ciência do solo; terra, solo: mineral ou orgânico); (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 16 23. Política PL01-Ciênc Pol PL02-Política (teoria política, metodologia 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 PS02-Comportamt PS03-Teor Psic 26. Saneamento SM01-Saneamento SM02-Resíduo SM03-Limpeza SM04-Abast água SM05-Esgoto 27. Saúde SD01-Saúde (= ciência do comportamento, psicologia do desenvolvimento, psicologia social, aplicada - clínica, psicoterapia, educacional; processos: sensorial, inteligência, congnitivo, reluxo); (= conduta ou comportamento humano; motivação); (sistema e teoria de psicologia, parapsicologia (associacionismo), behaviorismo, psicologia existencialista, do reforço, etc). (engenharia sanitária, saneamento básico); (detrito, dejeto ou efluente; lixo, resíduo: gasoso, líquido, orgânico, químico, térmico, tóxico); (limpeza pública, drenagem urbana (limpeza urbana, de logradouro, coleta de lixo, destinação do lixo, etc; rede de drenagem urbana)); (= 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); (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). (política de saúde, higiene, saúde física, mental, 17 SD02-Adm Sanit SD03-Doença SD04-Defic Fís SD05-Assist Méd SD06-Terap Diag SD07-Medicina SD08-Espec Med SD09-Eng Biomed SD10-Farmacolog SD11-Odontolog Serviços SV01-Serviços SV02-Seguro SV03-Comércio SV04-Turismo pública); (= 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); (congênita, infecciosa, do sistema reprodutor, do sistema glandular, etc); (física, mental, inválido); (hospitalar, médico-domiciliar, ambulatorial, médicosanitária); (terapia, diagnóstico médico (terapêutica, fisioterapia, hemoterapia, dieta, etc; diagnóstico: laboratorial, radiológico, síndrome, sintoma); (alopática, hemeopática, preventiva, tropical, nuclear, medicina do trabalho, legal, de urgência); Especialidades Médicas (cardiologia, endocrinologia, epidemiologia, ginecologia, oftalmologia, psiquiatria, patologia, dermatologia, radiologia, etc; medicina nãoconvencional: naturopática, caseira, acupuntura, do-in, etc); Engenharia Biomédica, ciências paramédicas (bioengenharia, biotecnologia, enfermagem, optometria, fonoaudiologia); (assistência farmacêutica, toxicologia, farmacopeia, farmacognosia, medicamento); (saúde oral, periodontias, prótese dentária, assistência odontológica). (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); (social, privado; quanto ao objeto; pessoal, patrimonial, de responsabilidade; contrato de seguro, seguradora, resseguro, co-seguro, corretora de seguro); (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); (política de turismo, turismo interno, externo, intercâmbio turístico, infra-estrutura turística: agência de turismo, rede hoteleira). 18 Telecomunicações TC01-Telecom TC02-Sist Telec TC03-Eng Telec TC04-Serv/Redes Trabalho TB01-Trabalho TB02-Rec Human TB03-Merc Trab TB04-Cond Trab TB05-Estr Ocup TB06-Lazer Transporte TP01-Transporte TP02-Sist Trans TP03-Serv Trans TP04-Eng Transp TP05-Mod Transp Urbanismo UB01-Urbanismo (política de telecomunicações, modelo de telecomunicações); (radiocomunicação, sistema de televisão, telefonia, telegrafia, sistema de radar, telemetria, transmissão de dados, comunicação por fio, teoria de telecomunicações (linha de comunicação, recepção, transmissão); (serviços, redes estações e material de telecomunicações). (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); (desenvolvimento de recursos humanos, pessoal trabalhador = operário, classe trabalhadora: trabalhador rural, autônomo, não qualificado, etc); 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); Condições de Trabalho (ergonomia ou engenharia humana; ambiente de trabalho); Estrutura Ocupacional (ocupação, profissão liberal, sindicato, associação de empregos, conselho profissional, empresariado, emprego, cargo); (renovação, colônia de férias, etc). (política de transporte, planejamento de transporte); (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); (transporte de carga, de passageiro, linha de transporte, empresa de transporte); (de tráfego, aeronáutica, ferroviária, rodoviária, naval, automotiva); Modalidades de Transporte (aéreo, terrestre, hidroviário, especial: dutoviário, vertical). (= arte urbana, organização do espaço urbano, projeto 19 UB02-Solo urban UB03-Área urban UB04-Circ Urban UB05-Arquitetur urbanístico, forma urbana, planejamento urbano, história do urbanismo); (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); (= zona urbana; sítio urbano, estrutura urbana, urbanização, uso do solo = apropriação do espaço, zoneamento urbano, renda imobil., especulação imobil.); 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); (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). 20 TABELA 2 - TIPOS DE PROGRAMA SO01-Sist Operac SO02-Interf E&S SO03-Interf Disc SO04-Interf Com SO05-Geren Usuar SO06-Adm Dispost SO07-Cont Proces SO08-Cont Redes SO09-Proc Comand Sistema Operacional Interface de Entrada e Saída Interface Básica de Disco Interface de Comunicação Gerenciador de Usuários Administrador de Dispositivos Controlador de Processos Controlador de Redes Processador de Comandos LG01-Linguagem LG02-Compilador LG03-Montador LG04-Pré-Compld LG05-Comp Cruz LG06-Pré-Proces LG07-Interptd LG08-Ling Procd LG09-Ling N Prcd Linguagens Compilador Montador Pré-Compilador Compilador Cruzado Pré-Processador Interpretador Linguagem Procedural Linguagem Não Procedural GI01-Gerenc Info GI02-Gerenc BD GI03-Gerad Telas GI04-Gerad Relat GI05-Dicion Dad GI06-Ent Val Dad GI07-Org Man Arq GI08-Recup Dados Gerenciador de Informações Gerenciador de Banco de Dados Gerador de Telas Gerador de Relatórios Dicionário de Dados Entrada e Validação da Dados Organização, Tratamento, Manutenção de Arquivos Recuperação de Dados CD01-Com Dados CD02-Emul Termnl CD03-Monitor TP CD04-Ger Dispost CD05-Ger de Rede CD06-Rede Local Comunicação de Dados Emuladores de Terminais Monitores de Teleprocessamento Gerenc. Disposit. e Periféricos Gerenciador de Rede de Comunicação de Dados Rede Local FA01-Ferrm Apoio FA02-Proc Texto FA03-Planil Elet FA04-Gerad Gráfc Ferramenta de Apoio Processadores de Texto Planilhas Eletrônicas Geradores de Gráficos DS01-Ferrm Desnv DS02-Gerd Aplic. DS03-CASE DS04-Desv c/Metd Ferramentas de Suporte ao Desenvolv. de Sistemas Gerador de Aplicações Computer Aided Softw Engineering Aplicativos Desenvolv. Sist. de acordo com determ. Metodologia 21 DS05-Bib Rotinas DS06-Apoio Progm DS07-Sup Documt Bibliotecas de Rotinas ("Libraries") Apoio à Programação Suporte à Documentação DS08-Convers Sis Conversor de Sistemas AV01-Aval Desemp AV02-Cont Recurs Avaliação de Desempenho Contabilização de Recursos PD01-Seg Prot Dd PD02-Senha PD03-Criptograf PD04-Man Intg Dd PD05-Cont Acess Segurança e Proteção de Dados Senha Criptografia Manutenção da Integridade dos Dados Controle de Acessos SM01-Simul & Mod SM02-Simulador SM03-Sim Amb Op SM04-CAE/CAD/CAM Simulação e Modelagem Simulador Vôo/Carro/Submarino/... Simuladores de Ambiente Operacional CAE/CAD/CAM/CAL/CBT/... IA01-Intlg Artf IA02-Sist Especl IA03-Proc Lng Nt Inteligência Artificial Sistemas Especialistas Sistemas de Processamento de Linguagem Natural IT01-Instrument IT02-Inst T&M IT03-Inst Biomd IT04-Inst Analt Instrumentação Instrumentação de Teste e Medição Instrumentação Biomédica Instrumentação Analítica AT01-Automação AT02-Atm Escrt AT03-Atm Comerc AT04-Atm Bancar AT05-Atm Indust AT06-Contr Proc AT07-Atm Manuf Automação Automação de Escritório Automação Comercial Automação Bancária Automação Industrial Controle de Processos Automação da Manufatura (Controle Numérico Computadorizado, Robótica, etc) Eletrônica Automotiva (computador de bordo, sistema de injeção e/ou ignição eletrônica, etc) AT08-Elet Autom TI01-Teleinform TI02-Terminais TI03-Transm Dados TI04-Comut Dados Teleinformática Terminais Transmissão de Dados Comutação de Dados CT01-Comutação CT02-Impl Fun Ad CT03-Ger Op&Man Comutação Telefônica e Telegráfica Implementador de Funções Adicionais Gerenciador Operação e Manutenção 22 CT04-Term Op&Man Terminal de Operação e Manutenção de Central UT01-Utilitários UT02-Compress Dd UT03-Conv Arq UT04-Class/Inter UT05-Cont Spool Utilitários Compressor de Dados Conversor Meios de Armazenamento Classificador / Intercalador Controlador de Spool UT06-Transf Arq Transferência de Arquivos AP01-Aplicativo AP02-Planejament AP03-Controle AP04-Auditoria AP05-Contabiliz Aplicativos Planejamento Controle Auditoria Contabiliz TC01-Aplc Tcn Ct TC02-Pesq Operac TC03-Recnh Padr TC04-Proc Imagem Aplicações Técnico-Científicas Pesquisa Operacional Reconhecimento de Padrões Processamento de Imagem ET01-Entrtmnto ET02-Jogos Anim ET03-Gerad Desen ET04-Simuladores Entretenimento Jogos Animados ("arcade games") Geradores de Desenhos Simuladores Destinados ao Lazer 23 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 1 Universidade 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 24 ondas a um ponto na praia quase em linha reta (ponto final) (SILVESTER et al., 1993, 1997), com pares de ângulo θ e raios Rn é possível desenhar o modelo estático da costa, como visto na Fig. 1. R n / R β = C o + C 1 * β / θ n + C 2 * (β / θ n ) 2 (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): C 0 = 0.0707 − 0.0047β + 0.000349β 2 − 0.00000875β 3 + 0.00000004765β 4 (2) C1 = 0.9536 + 0.0078β − 0.00004879β 2 + 0.0000182β 3 − 0.000001281β 4 (3) C 2 = 0.0214 − 0.0078β + 0.0003004β 2 − 0.00001183β 3 + 0.00000009343β 4 (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. 25 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 26 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.) 27 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 Coastal Planning & Engineering do Brasil, Ltda. Royal Haskoning Laboratorio Nacional de Engenharia Civil KV Consultores Hydrosoft SA COWI University of Calabria Halcrow Universidade do Algarve CIMA Aristotle University of Thessaloniki (AUTh) UNIVALI LKS Ingenieria University of Catania University of East London UNIVERSIDAD POLITECNICA DE MADRID - E.T.S. INGENIEROS DE CAMINOS, CANALES Y PUERTOS CEPEMAR US Army Corps of Engineers Dubai Municipality university of connecticut sandwell engineering tonkin & Taylor Ltd Shoreplan Engineering Ltd NIWA Shoreplan Engineering Ltd Endereço Uso R. Bocaiuva, 2159-2221 - Centro Florianpolis SC, 88015-530 projeto Marlborough House, Marlborough Crescent, Newcastle upon Tyne NE1 4EE, United Kingdom projeto Av. do Brasil 101, 1700 Lisboa, Portugal projeto Calle de Serrano, 16, 28001 Madrid, Espanha 95 58 Av, St-Zotique, QC J0P 1Z0, Canada (450) 267-9453 Papirfabrikken 28, 8600 Silkeborg, Danmark Via Pietro Bucci, 87036 Rende CS, Italy 22 Cortlandt St, New York Universidade do Algarve, Campus de Gambelas, Faro, Portugal 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 Rua Uruguai, Itajaí C/ Ourense 41, 6º B. 27004. Lugo. Spain Viale A. Doria 6 - 95125 Catania -ITALY University of East London, University Way, London. E16 2RD projeto Profesor Aranguren, s/n Ciudad Universitaria 28040 Madrid Spain Avenida Carlos Moreira Lima, 80 - Bento Ferreira, Vitória - ES 4735 E. Marginal Way S., Seattle, WA 98124, USA PO Box 67, Dubai 1080 shennecossett road, grotn, ct 06340 vancouver bc canada 105 Carlton Gore Road, Newmarket, Auckland, New Zealand 55 Eglinton Ave E Toronto ON Canada M4P 1G8 PO Box 11115, Hamilton, NZ 55 Eglinton Ave E Toronto ON Canada M4P 1G8 pesquisa projeto ensino projeto pesquisa ensino ensino projeto ensino ensino ensino pesquisa projeto projeto ensino projeto projeto projeto projeto projeto 28 Tabela - Relação de downloads do MEPPE continuação. Instituição Cadiz University HRC-Consulting Engineers University of Victoria Bc Sinclair Knight Merz Oceanica Consulting Hanbat National University worleyparsons nanyang technological university GHD East Sea Research Institute, KORDI Ocean Engineering, Bandung Institute of Technology (ITB) Aurecon Arak University AMET University INCDM Constanta (www.rmri.ro) Environment Agency PAP/RAC WSP Africa Coastal Atkins TU Delft Tohoku University Progetti e Opere University of Southampton Universitat Politecnica de Catalunya Universidad Nacional de Colombia Baird & Associates Coastal Research Institute, Egypt dhi-italia UNMSM University of Genoa opus uk Endereço Departamento Ciencias de la Tierra. CASEM Poligono Rio San Pedro SN Puerto Real, Cadiz (Spain) 11510 Uso 23, Ikarias str., Ekali 14578, Athens, Greece projeto ensino 3800 Finnerty Road, Victoria, BC V8N 1M5, Canada 256 Adelaide Tce, Perth, Western Australia PO Box 3172, Broadway Nedlands WA 6009 Australia san 16-1, duckmyoung-dong, yuseong-gu, daejeon, korea Level 7, QV1 Building, 250 St Georges Terrace, PERTH WA 6000 Nanyang Technological University, 50 Nanyang Avenue,639798,Singapore, 239 Adelaide Terrace projeto 695-1 Hujeong-ri, Jukbyeon-myeon pesquisa Jl. Ganesha 10, TP Rahmat Building (Labtek VI) 3rd Floor, Bandung, 40124, West Java, Indonesia PO BOX 494, CAPE TOWN, 8000, SOUTH AFRICA Iran, Arak, Beheshti st., Universty of Arak 135, ECR, Kanathur, Chennai 112, India pesquisa ensino projeto ensino projeto pesquisa ensino pesquisa pesquisa pesquisa Mamaia 300, 900581 Constanta, Romania pesquisa Worthing, UK Kraj. Ivana 11 21.000 Split (Croatia) church Street, Stellenbosch, south africa Transport House, Crown Industrial Estate, Taunton, Somerset, UK, TA2 8QY Stevinweg 1, Delft, Netherlands 6-6-06 Sendai, Japan Viale delle Magnolie 36 - 90146 Palermo School of Civil Engineering and the Environment, University of Southampton, Highfield, Southampton. SO17 1BJ. UK c/ Jordi Girona 1-3, Campus Nord ed D1, 08034 Barcelona, Spain pesquisa pesquisa projeto Cr 80 # 65-223 M2, 209 ensino Padre Mariano # 181, Of 902 Providencia, Santiago, Chile. 15, El Pharana st., El Shalalat, Alexandria, Egypt Via Luigi Cadorna, 7 17100 Savona SV, Italia universitaria av S/N Lima, Peru Via Montallegro 1 fareham, HANTS , uk projeto pesquisa ensino projeto pesquisa ensino projeto pesquisa projeto pesquisa ensino Ensino 29 Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço Coastal Planning & Rodovia José Carlos Daux (SC 401), No 8.600, Engineering do Brasil, Sala 05 Bloco 6, Bairro: Santo Antônio de Ltda. Lisboa, Florianópolis, SC U. Stellenbosch, Stellenbosh, Western Cape, Sudafrica Sudafrica Intecsa-Inarsa Santa Leonor, 32; 28037 - Madrid; Spain GENIVAR 1175, Lebourgneuf, Québec, Canada UNAM Ciudad Universitaria, Mexico, DF TYPSA - spanish Avenida de Juan Carlos I, 31, 30009 Murcia, consulting company España 1175, Lebourgneuf, Québec, Québec, Canada, GENIVAR G1C 1J2 Scott Wilson Scott House, Basingstoke, RG21 7PP, UK Dept. of Civil Engineering, Udayana Bali-Indonesia University Praça do Oceanográfico, 191 São Paulo - SP IOUSP CEP 05508-120 CEREGE , BP 80, 13545 Aix en Provence aix marseille université Cedex04, France Tarbiat Modares Tehran, Iran University UFRGS Av. Bento Gonçalves 9500 Khaje Nasir Toosi university of technologyvaliasr, Tehran, Iran tehran, Iran No. 11 South Kaj St., Zabety St., Heravi Sq., DBC Tehran, Iran Sogreah Dubai WorleyParsons Oman Tu Delft Steinsweg, 1 Delft Netherlands 5 Moghaddam St., Mirzaye Shirazi Ave., Tehran PTP Iran KISR Kuwait ncst 1616 E millbrook rd, raleigh, nc 27609 Coastal Planning & 2481 Boca Raton Blvd. Boca Raton FL 33431 Engineering, Inc. Caribbean Oceanography 2305 Cacique St., San Juan PR 00913 Group UTM Kuala Lumpur (Malaysia) Dept of Env, Climate Honeysuckle Drive, Newcastle West, NSW, Change, Water 2300 USACE 2735 E. Marginal Way South, Seattle, wa Cidade Universitaria - Iha do Fundão - Rio de UFRJ Janeiro Ohio Department of Natural Resources West Shoreline Drive, Sandusky, 105, Ohio, Office of Coastal USA, 44870 Management Uso projeto pesquisa projeto projeto ensino ensino projeto projeto ensino ensino ensino ensino ensino pesquisa ensino projeto projeto ensino projeto pesquisa ensino projeto projeto pesquisa pesquisa projeto projeto projeto 30 Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço ICOS MG Road, B-405, Mumbai, , India, 400067 University of Cagliari, Piazza d'Armi - Cagliari, 2, CA, ITALY, 09123 Dept of Land Engineering 32, Tmn Sg Chua, 32, Selangor, Malaysia, PB 43000 Royal Boskalis Rosmolenweg , 20, Papendrecht, The Westminster NV Netherlands, 3350 AA UFPB/CT/DECA, S/N, Paraiba, Brasil, 58051UFPB 900 Modimar s.r.l. via monte zebio, 40, italy, lazio, 00195 University Bremen Klagenfurtstr., 5, Bremen, Germany, 28203 international coastal g arm southport yacht club, 50/51, QLD, managment Australia, 4217 Coast & Harbor 3410 Far West Blvd, Austin, 210, TX, USA, Engineering 78731 COWI Jens Chr Skousvej, 9, none, DK, 8000 Environment Agency, UK Chatsworth Rd, 0, East Sussex, UK, BN11 1LD Sukumvit 71, 1000/61, Bangkok, Thailand, Sea Spectrum Co., Ltd. 10110 Water Resources Tay Son, 175, Hanoi, Vietnam, 10000 University Hawken Drive, 20, Queensland, Australia, University of Queensland 10000 University of L'Aquila Piazzale Pontieri, 1, ITALY, ITALY, 67040 particular Palqui , 2933, Ñuñoa, Chile, 12121212 sea engineering, inc. Makai Research Pier, NA, HI, USA, 96795 Av. Bento Gonçalves, 9500, rgs, brasil, UFRGS 90000000 University of Bucharest N. Balcescu, 1, Bucharest, Romania, 01004 Dalian University of LingGong Road, 2, Liaoning, China, 116024 Technology Institute of Fluid Mechanics and Environmental Julio Herrera y Reissig, 565, Montevideo, Engineering (IMFIA). Uruguay, 11300 Universidad de la República bucharest university nicolae balcescu, 1, ilfov, romania, 07000 Av. Princesa Leopoldina 17 - apt 1401, 17, UFBA Bahia, Brazil, 40150-080 Universidade Federal do Alfredo Huck, 475, RS, Brasil, 96200000 Rio Grande - FURG Carlton Gore , 105, Auckland, New Zealand, Tonkin & Taylor Ltd 0627 Stevinweg, 1, Zuid Holland, Netherlands, TU Delft 2628CN DHI water and Pandan Loop, 200, singapore, singapore, Environment 128388 UGR c/ Almoraima , 17, Cadiz, España, 11360 University of L'Aquila P.le Pontieri , 1, Monteluco di Roio, Italy, 67040 Uso projeto pesquisa ensino projeto pesquisa projeto pesquisa pesquisa projeto projeto pesquisa projeto ensino ensino ensino ensino projeto ensino pesquisa pesquisa ensino pesquisa ensino ensino projeto ensino pesquisa ensino ensino 31 Tabela - Relação de downloads do MEPPE continuação. Instituição Endereço National Sun Yat-sen Lienhai Rd, 70, Kaohsiung , Taiwan, R.O.C., University 80424 Universidade Lusofona Rua Augosto Rosa, 24, Porto, Portugal, 4000do Porto 098 National Sun Yat-sen Lienhai Road, Kaohsiung City, 70, TAIWAN, University Republic of China, 80424 Kagamiyama, Higashi-hiroshima, 1-5-1, Hiroshima University Hiroshima, Japan, 739-8529 COWI India Private CP RAMASWAMY ROAD, CHENNAI, 68, Limited TAMILNADU, INDIA, 600041 Udayana University Jimbaran, 0, Badung, Bali, 80145 CBCL Limited Hollis, 1489, NS, Canada, B3J2R7 Uso pesquisa pesquisa ensino ensino pesquisa ensino projeto 32