• Nenhum resultado encontrado

2011.2 TCC Final

N/A
N/A
Protected

Academic year: 2021

Share "2011.2 TCC Final"

Copied!
92
0
0

Texto

(1)

BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO

BRENO COSTA RAMOS

DESENVOLVIMENTO DE UM SISTEMA DE ARMAZENAMENTO E PUBLICAÇÃO

DE DADOS DE PEQUENOS SISTEMAS METEOROLÓGICOS COM AQUISIÇÃO

AUTOMATIZADA, BASEADO EM SISTEMAS PIMS

FEIRA DE SANTANA

2012

(2)

DESENVOLVIMENTO DE UM SISTEMA DE ARMAZENAMENTO E PUBLICAÇÃO

DE DADOS DE PEQUENOS SISTEMAS METEOROLÓGICOS COM AQUISIÇÃO

AUTOMATIZADA, BASEADO EM SISTEMAS PIMS

Trabalho

de

Conclusão

de

Curso

apresentado ao Colegiado de Engenharia

de Computação como requisito parcial

para

obtenção

do

grau

de

Bacharel

em

Engenharia

de

Computação

pela

Universidade

Estadual

de

Feira

de

Santana.

Orientador: Prof. Msc. Thiago Cerqueira

de Jesus

FEIRA DE SANTANA

2012

(3)

de bem, integro e responsável, a meus pais

que dedicaram sua vida para o início do

meu projeto de vida.

(4)

Ao professor Mestre Thiago Cerqueira de Jesus, pela confiança, incentivo e

orientação neste trabalho.

Ao professor Doutor Germano Pinto Guedes, pelo auxílio fornecendo dados

para o trabalho.

A todos os colegas de Engenharia de Computação da UEFS, pela ajuda em

tópicos relacionados a este trabalho.

(5)

Este trabalho trata da pesquisa, modelagem e desenvolvimento de um sistema de

armazenamento de dados coletados em pequenas estações solarimétricas, baseado

em sistemas gerenciadores de informações de plantas industriais Plant Information

Manage Systems (PIMS). O projeto consiste no desenvolvimento de um sistema de

aquisição de dados da estação meteorológica presente no Laboratório de Energia

solar da UEFS que armazene estes dados de forma comprimida e exiba estas

informações via sistemas Web. Neste trabalho são apresentados todos os passos

para a produção desse sistema, começando por uma explicação sobre meteorologia

e aquisição de dados, e detalhando o funcionamento da estação de coleta de

dados meteorológicos. Em seguida é citada a teoria sobre bancos de dados em

meteorologia, sistemas PIMS e bancos de dados temporais. Expõe na sequência a

organização dos sistemas desenvolvidos e a sua modelagem em UML, e a modelagem

temporal do banco de dados.

Exibe também o processo de desenvolvimento

detalhando as ferramentas utilizadas, a implementação da comunicação entre os

sistemas desenvolvidos, a aplicação do algoritmo de compressão e a interação entre

o banco de dados e o sistema de exibição Web. Para validar o desenvolvimento foram

aplicados testes durante seis dias, gerando ao fim do processo dados para a análise

e discussão de resultados.

(6)

This work deals with the research, modeling and development of a storage system

data collected at small solarimetric stations based in plant information manage systems

(PIMS). The project consists of developing a data acquisition system of this weather

station in the Solar Energy Laboratory of UEFS, that stores data in compressed

form and display this information in Web systems. This paper presents the steps

for the production of this system, starting with an explanation of meteorology and

data acquisition, and detailing the operation of the station to collect weather data.

Then the theory is quoted about databases in meteorology, PIMS systems and

temporal databases. Exposes the organization of the systems developed and its UML

modeling, and modeling of temporal database. It also shows the development process,

detailing the tools used, the implementation of communication systems developed,

the application of compression algorithm and interaction between the database and

display system Web. To validate the development tests were applied for six days, after

generating process data for the analysis of results and discussion.

(7)

Figura 1

Exemplo de conversão de um sinal analógico passado à forma digital

15

Figura 2

Piranômetro Eppley

16

Figura 3

Estação atmosférica NOMAD II

17

Figura 4

Pirâmide de Automação

22

Figura 5

Arquitetura do sistema historiador PIMS

23

Figura 6

Algoritmo de compressão Boxcar/Backslope

25

Figura 7

Paralelogramo Formado no algoritmo Swinging Doors

26

Figura 8

Condição para salvar o valor no algoritmo Swinging Doors

27

Figura 9

Fluxograma Swinging Doors

28

Figura 10 Estratégia de mudança do archive primário

30

Figura 11 Archive PI

30

Figura 12 Dado relacional

32

Figura 13 Dado temporal

33

Figura 14 Notação para modelagem TempER

35

Figura 15 Arquitetura em três módulos

37

(8)

Figura 18 Diagrama de pacotes

39

Figura 19 Classes do pacote Coleta

40

Figura 20 Classes do pacote armazenamento

40

Figura 21 Classes do pacote Visualização

41

Figura 22 Diagrama de atividades da busca de valor real

42

Figura 23 Diagrama de atividades da busca de valor histórico

42

Figura 24 Diagrama de estados da coleta

43

Figura 25 Diagrama de estados do Armazenamento

44

Figura 26 Exemplo de sequência para consulta de um dado histórico

45

Figura 27 Diagrama de implantação do sistema

45

Figura 28 Arquivo de amostragem

47

Figura 29 Visão das tabelas do banco de dados criado

51

Figura 30 Ângulos formados por tags armazenadas

53

Figura 31 Paralelogramo formado pelo desvio sobre a reta

54

Figura 32 Exemplo de Timeline Chart

57

(9)

Figura 35 Gráfico da resposta para amostra 3 no terceiro dia

63

Figura 36 Gráfico da resposta para amostra 2 no quarto dia

64

Figura 37 Gráfico da resposta para amostra 1 no quinto dia

65

(10)

Tabela 1

Tabela comparativa de amostragem do dia 1

59

Tabela 2

Tabela de tempos de resposta do dia 1

59

Tabela 3

Tabela comparativa de amostragem do dia 2

60

Tabela 4

Tabela de tempos de resposta do dia 2

61

Tabela 5

Tabela comparativa de amostragem do dia 3

62

Tabela 6

Tabela de tempos de resposta do dia 3

62

Tabela 7

Tabela comparativa de amostragem do dia 4

63

Tabela 8

Tabela de tempos de resposta do dia 4

63

Tabela 9

Tabela comparativa de amostragem do dia 5

64

Tabela 10 Tabela de tempos de resposta do dia 5

65

Tabela 11 Tabela comparativa de amostragem do dia 6

66

(11)
(12)

1

INTRODUÇÃO. . . 11

2

FUNDAMENTAÇÃO TEÓRICA . . . 14

2.1 SISTEMAS METEOROLÓGICOS . . . 14

2.2 AQUISIÇÃO DE DADOS . . . 15

2.3 PROJETO RADIÔMETROS . . . 16

2.4 BANCO DE DADOS . . . 18

2.5 BANCO DE DADOS METEOROLÓGICO . . . 19

2.6 SISTEMAS PIMS . . . 21

2.7 SISTEMA PI OSISOFT . . . 29

2.8 BANCO DE DADOS TEMPORAL . . . 31

3

METODOLOGIA . . . 36

3.1 ORGANIZAÇÃO EM 3 MÓDULOS . . . 36

3.2 MODELO DE BANCO DE DADOS TEMPORAL . . . 36

3.3 MODELAGEM UML DOS SUBSISTEMAS . . . 37

4

DESENVOLVIMENTO . . . 46

4.1 SUB-SISTEMA SIMULANOMADII . . . 46

4.2 SUB-SISTEMA INTERFACE . . . 48

4.3 SUB-SISTEMA DE ARMAZENAMENTO . . . 50

4.4 SUB-SISTEMA DE VISUALIZAÇÃO WEB . . . 56

5

RESULTADOS. . . 58

5.1 TESTE DIA 1 - DESVIO DE 1% E 15 MINUTOS DE TEMPO MÁXIMO . . . 58

5.2 TESTE DIA 2 - DESVIO DE 1% E 30 MINUTOS DE TEMPO MÁXIMO . . . 60

5.3 TESTE DIA 3 - DESVIO DE 2% E 15 MINUTOS DE TEMPO MÁXIMO . . . 61

5.4 TESTE DIA 4 - DESVIO DE 2% E 30 MINUTOS DE TEMPO MÁXIMO . . . 62

5.5 TESTE DIA 5 - DESVIO DE 5% E 15 MINUTOS DE TEMPO MÁXIMO . . . 64

5.6 TESTE DIA 6 - DESVIO DE 5% E 30 MINUTOS DE TEMPO MÁXIMO . . . 66

6

CONSIDERAÇÕES FINAIS . . . 68

REFERÊNCIAS . . . 70

(13)

1

INTRODUÇÃO

As mudanças nas relações causadas, principalmente, pela massificação da

computação e surgimento dos novos meios de comunicação trazem a tona um novo

molde de sociedade denominada por estudiosos, como Silva (2007) e Pinto (2008),

de "Sociedade da informação".

Os autores mostram que neste novo modelo de

sociedade seus membros trocam grandes volumes de dados, em alta velocidade e

com informações das mais variadas áreas.

Dentre as áreas do conhecimento,

uma das que produzem dados

constantemente e em grandes quantidades é a meteorologia.

Nesta, se utilizam

cada vez mais estações de coleta de dados automatizadas que armazenam medições

precisas em frações de segundo, gerando uma grande quantidade de informações.

Como toda a comunidade científica tende à difusão do conhecimento, na meteorologia

não é diferente. Hoje em dia é possível se utilizar de estratégias de armazenamento

e exibição de dados via Web para que informações de uma estação meteorológica

cheguem a qualquer lugar do mundo. Com a informatização, os centros de pesquisa

deixam de ser somente pontos isolados, tornam-se centros de cooperação, quebrando

as barreiras geográficas (TADDEI, 2008).

Entretanto, existem problemas para a criação de sistemas de exibição de dados

coletados via Web. As informações meteorológicas podem ser capturadas em frações

de segundo, desta forma, um grande volume de dados é gerado ao fim de um

período de coleta relativamente extenso. Mesmo com as unidades de armazenamento

modernas que conseguem guardar grandes quantidades de dados, seu tratamento e

exibição serão prejudicados, como mostra Krusche (2003, p.2).

Organizar informações de forma racional e, principalmente, recuperá-las e distribuí-las com alto nível de controle, traz a tona à necessidade da implementação de novos conceitos de programação e gerenciamento de bancos de dados preocupados especialmente com uma melhor performace da estrutura e maior nível de segurança dos dados em questão.

Nesta mesma linha de coleta e exibição de grandes quantidades de dados,

outra área do conhecimento teve este problema reduzido. Na área de Eletrônica

Industrial, Sistemas e Controles Eletrônicos, em que os processos produtivos

automatizados geram grandes quantidades de dados a todo o momento, há o

surgimento de uma nova solução para armazenar informações de chão de fábrica

disponibilizando dados em sistemas de tempo real, de forma simples e transparente

ao usuário. Essa solução é chamada de Plant Information Manage Systems (PIMS),

(14)

sistemas gerenciadores de informações de plantas industriais. Os PIMS são formados

por sistemas de coleta, armazenamento, exibição e análise de dados oriundos de

sistemas de controle e supervisão industrial, que armazenam dados de instrumentos

de automação de forma comprimida, com perda mínima de informação, exibindo e

analisando-os (SOUZA; CORREIA; NETO, 2009; FILHO, 2011).

Embora a utilização de PIMS seja largamente difundida, ele se torna uma

solução inviável para pequenas aplicações, como uma estação meteorológica. Isso se

dá pelo fato de que para o funcionamento de um PIMS, uma infra-estrutura utilizando

sistemas industriais é necessária e, como a infra-estrutura industrial segue um padrão,

a utilização em sistemas meteorológicos automatizados de pequeno porte demandaria

um grande esforço e aquisição de uma nova infra-estrutura para sua adequação

(FILHO, 2011). Além disso, os custos dos sistemas de infra-estrutura de automação

e softwares PIMS poderiam tornar um projeto de utilização financeiramente inviável

para pequenas estações meteorológicas.

Analisando a viabilidade de implantação de um sistema que possa gravar e

analisar o histórico de informações meteorológicas, foi visto que é possível projetar

um sistema de armazenamento e exibição que utilize uma estratégia de compressão e

arquivamento baseado em sistemas PIMS, e que seja adequado às características de

uma estação meteorológica, como a do projeto radiômetros do Laboratório de Energia

Solar (Labensol) da Universidade Estadual de Feira de Santana (UEFS). Desta forma,

este trabalho mostra que um sistema PIMS simplificado é uma estratégia viável

para pequenas aplicações de aquisição de dados, adequando-se a uma infinidade

de aplicações, como no caso do armazenamento e exibição dos dados colhidos

pelo Labensol.

Para isso é necessário implantar todo o processo de registro da

informação, desde a aquisição de dados até a análise e exibição, passando pelo seu

armazenamento.

Este trabalho tem por objetivo desenvolver um sistema para coletar dados

meteorológicos, aplicar um algoritmo de compressão, armazenar essas informações

em um banco de dados e exibi-las via Web, baseando-se em sistemas PIMS. Para a

criação do sistema é necessário conhecer o funcionamento da estação automatizada

de coleta de informações solarimétricas da UEFS, com suas variáveis, configurações

e interfaces de comunicação. Conhecendo a estação, é possível criar um sistema

de interface capaz de receber dados via interface serial, fazer pequenos tratamentos

e repassar os dados via socket para um sistema de compressão e armazenamento.

Para desenvolver o sistema de compressão e armazenamento, é necessário conhecer

(15)

algoritmos de compressão e estratégias de armazenamento de dados temporais,

aplicando este conhecimento com tecnologias como a linguagem Java e o banco de

dados MySQL. Com os dados armazenados em um banco de dados se torna possível

desenvolver um sistema para exibir as informações utilizando ferramentas de exibição

Web, simples e interativas.

Este trabalho está dividido em seis capítulos, incluindo do primeiro capítulo de

introdução. O segundo capítulo, de fundamentação, cita todas as teorias relacionadas

ao projeto deste sistema, a aquisição de dados em estações meteorológicas, o

armazenamento de informações em bancos de dados de forma relacional e temporal,

e o funcionamento e organização de sistemas PIMS. O capítulo três, metodologia,

apresenta o projeto do sistema a ser desenvolvido, primeiro citando a tecnologia de

apresentação dos modelos, em seguida apresentando a modelagem em subsistemas

baseada em PIMS, o modelo do banco de dados a ser utilizado e por fim os

diagramas modelados das interações entre os usuários e o sistema, e os diagramas

do funcionamento e interações dos subsistemas.

O capítulo quatro, desenvolvimento, apresenta todas as tecnologias utilizadas

e os detalhes do desenvolvimento de cada um dos subsistemas. No quinto capítulo,

resultados, são apresentados os resultados para seis dias de testes do sistema,

observando a compressão e os tempos de resposta do banco de dados. O último

capítulo, considerações finais, apresenta uma discussão sobre todo o processo

de pesquisa, desenvolvimento e resultados de testes do sistema, considerando as

vantagens da utilização do sistema desenvolvido.

(16)

2

FUNDAMENTAÇÃO TEÓRICA

Este trabalho se fundamenta na busca de uma solução de software para

armazenamento e exibição de informações da estrutura de coleta de dados

solarimétricos do Labensol. Neste capítulo será mostrada a teoria envolvida no projeto

do sistema.

2.1

SISTEMAS METEOROLÓGICOS

Segundo Saúde (2011),

a meteorologia é a "ciência que estuda as

características da atmosfera, tais como sua temperatura, densidade, ventos, nuvens,

precipitações, e outros fenômenos atmosféricos, que objetiva considerar o tempo

climático em termos de influências externas e de acordo com as leis básicas da

física". Hoje em dia os estudos meteorológicos têm influência sobre várias áreas do

conhecimento, sendo de grande importância para o desenvolvimento da agricultura,

navegação marítima, operações militares e a vida social. (METEOROLOGIA, 2011)

Na agricultura, por exemplo, é possível com o uso de sistemas meteorológicos,

especificar melhores épocas de plantio para determinadas culturas, fazer previsão

de produtividade e controlar níveis de umidade e temperatura em estufas. Além da

agronomia, outras atividades econômicas também podem utilizar a meteorologia. Na

construção civil as obras são planejadas com base na previsão de chuvas; na saúde é

possível alertar a população sobre riscos de doenças por baixa umidade relativa do ar

ou altos índices de radiação ultravioleta; na produção energética é possível descobrir

melhores áreas para produção de energia eólica ou solar. (LUIZ, 2011)

Na medição de eventos meteorológicos, ou seja, qualquer variação no tempo

ou clima, são utilizados instrumentos dos mais variados tipos que podem medir as

variáveis meteorológicas, como temperatura, pressão atmosférica, umidade relativa

do ar e radiação solar.

Entre os instrumentos de medição estão, termômetros e

termógrafos para medição de temperatura, barômetros para medição de pressão

atmosférica, psicotrópicos, higrômetros e higrófafos para medir a umidade relativa do

ar, e periliômetros, piranômetros, heliógrafos e radiômetros para medições de radiação

solar, entre outros equipamentos. (VAREJÃO-SILVA, 2006)

A meteorologia atual se utiliza cada vez mais de sistemas de medição

automatizados e independentes da ação humana, que fazem a aquisição e

armazenamento dos dados em sistemas computadorizados atrelados ou embarcados,

podendo ser descarregados em computadores para posterior análise.

(17)

2.2

AQUISIÇÃO DE DADOS

Segundo Ferraz (2008, p. 32), ”um sistema básico de aquisição de dados

é composto por quatro partes essenciais: sensores/transdutores, condicionador de

sinais, conversor analógico/digital (A/D) e programa de aquisição.”

Um sensor é

um dispositivo que irá converter algum forma de energia produzida pelo estímulo ou

parâmetro físico, em um sinal elétrico análogo.

O termo transdutor é usado para designar alguns tipos de sensores.

Geralmente são utilizados para converter algum parâmetro físico, tal como força,

pressão, ou temperatura, em um sinal elétrico análogo e proporcional ao parâmetro

original (FERRAZ, 2008). Estes possuem características especificas como, precisão,

resolução, off-set e tempo de resposta, por isso, se faz necessária para cada aplicação

a busca do dispositivo que melhor se ajusta.

Um condicionador de sinal é um sistema eletrônico utilizado para ajustar o sinal

analógico antes da conversão digital. Podem conter vários componentes entre eles,

amplificadores, filtros e isoladores. Esses componentes ajustam a amplitude do sinal,

filtram os ruídos e fazem o isolamento do sistema para que diferenças de tensões e

correntes não possam danificar nenhum dos dispositivos.

O conversor A/D é um sistema que permite que um sinal analógico seja utilizado

como entrada gerando um sinal digital de saída correspondente. O sinal digitalizado

se diferencia do analógico por apresentar-se em saltos periódicos e não de forma

contínua, essa diferença é apresentada na figura 1.

Figura 1: Exemplo de conversão de um sinal analógico passado à forma digital

Fonte: Ferraz (2008)

Um programa de aquisição de dados é um sistema responsável pela leitura

de um sinal digital, seu armazenamento e utilização em interação com outro

sistema. Esse programa é construído para, coletar dados de sistemas eletrônicos

ou eletromecânicos, exibindo esses dados em tempo real, além de gerar relatórios a

(18)

cerca desses dados.

Um dos equipamentos utilizados nas medições solarimétricas da UEFS é o

piranômetro, apresentado na figura 2. Esse é um instrumento que faz a medição

de ensolação.

Quando excitado por radiação solar, gera uma corrente elétrica

proporcional à intensidade irradiada.

Figura 2: Piranômetro Eppley

Fonte: Varejão-Silva (2006)

Para o caso específico deste trabalho o sistema aquisição faz parte da rede de

radiômetros do Labensol.

2.3

PROJETO RADIÔMETROS

Na UEFS, o Labensol faz estudos relacionados a ensolação e a radiação no

semi-árido baiano, sendo um dos seus focos de pesquisa o projeto radiômetros.

Segundo a equipe de pesquisadores o objetivo do projeto é o

desenvolvimento de instrumentação dedicada ao monitoramento remoto de variáveis atmosféricas: sensores, eletrônica digital e analógica; transmissão de dados em rede; Aplicação de modelos físicos para descrever a propagação da luz na atmosfera; Desenvolvimento e otimização de sistemas para utilização da energia solar. (LABENSOL, 2011)

Hoje, o Labensol utiliza uma estação de coleta remota fabricada pela empresa

Secondwind, chamada Nomad II, apresentada na figura 3. Segundo SECONDWIND

(2011), a estação de coleta Nomad II provê flexibilidade, simplicidade e economia.

(19)

Ela pode interagir com vários sensores presentes no mercado, além de possuir oito

entradas analógicas específicas para conexão direta de sensores atmosféricos. A

estação se caracteriza por permitir uma independência de fonte de energia já que ela

possui um sistema de alimentação solar acoplado para o armazenamento de energia.

Figura 3: Estação atmosférica NOMAD II

Fonte: SECONDWIND (2011)

O sistema de Coleta Nomad II pode se comunicar via porta serial, porta USB,

ou rede modbus. Seus dados são armazenados em cartões de memória que podem

ser descarregados em um computador com software específico.

Um dos problemas foco deste projeto é a centralização da informação.

O

sistema de monitoramento solar armazena os dados em cartões de memória ou

envia esses dados via comunicação serial por um software proprietário. O fato de

ter dados armazenados em um computador sem acesso à internet torna mais difícil a

divulgação destas informações tanto para o meio acadêmico, quanto para a sociedade

em geral. Por este motivo é necessário um sistema que armazene estes dados para

disponibilização para todo o mundo via Web. Para isso, é possível armazenar os dados

em um banco que possa ser acessado a partir de sistemas Web.

(20)

2.4

BANCO DE DADOS

Segundo Heuser (2001, p. 14) um banco de dados é um "conjunto de dados

integrados que tem por objetivo atender a uma comunidade de usuários", utilizando

características de um sistema gerenciador de banco de dados (SGBD), que é definido

como "software que incorpora as funções de definição, recuperação e alteração de

dados em um banco de dados."

O grande problema da não utilização de bancos de dados em uma determinada

área é a redundância não controlada.

Isto acontece quando um mesmo dado

é armazenado em lugares diferentes por vários usuários, tornando o retorno da

informação inconsistente. A solução para este problema é o compartilhamento em

bancos de dados. (HEUSER, 2001)

A utilização de bancos de dados para armazenamento de informações

acessadas por vários usuários é unanimidade nos dias atuais e traz uma série de

vantagens, como: manutenção simplificada, uma vez que os programas deixam de

englobar todas as funcionalidades de armazenamento passando a responsabilidade

para o Sistema Gerenciador de Banco de Dados (SGBD); aumento da acessibilidade,

os mesmos dados podem ser acessados por uma infinidade de pessoas e sistemas;

aumento da disponibilidade, os SGBDs podem funcionar em servidores disponíveis na

rede individuais ou agrupados em clusters, o que diminui as falhas de acesso; dentre

outras.

No mercado,

existem vários de SGBDs,

que podem utilizar diversas

características de modelagem, como a relacional, que é a mais comum no mercado, a

orientada a objetos e a objeto/relacionais.

Segundo Takai, Italiano & Ferreira (2005, p. 8) "a estrutura fundamental do

modelo relacional é a relação (tabela). Uma relação é constituída por um ou mais

atributos (campos) que traduzem o tipo de dados a armazenar. Cada instância do

esquema (linha) é chamada de tupla (registro)."Para trabalhar com o modelo relacional

deve-se evitar a repetição de informação, a incapacidade de representar parte da

informação e perda de informação, a fim de garantir a segurança dos dados.

Pelo fato da simplicidade e usabilidade os bancos de dados são utilizados pelas

mais diversas áreas fazendo o armazenamento de diferentes tipos de dados. Algumas

destas áreas são destacadas por Heuser (2001): a área de vendas, com a cotação

de produtos e disponibilidade; a área de produção, no planejamento e controle do que

se produz; a área de compras, com acompanhamento de preços, mapeamento de

fornecedores e controle de necessidades de estoque. Outra área que se utiliza de

(21)

bancos de dados específicos é a meteorologia, como descrito a seguir.

2.5

BANCO DE DADOS METEOROLÓGICO

Bancos de dados meteorológicos mostram-se cada vez mais úteis ao

armazenamento de informações geradas em estações meteorológicas.

O grande

diferencial destes sistemas é que devem ser adequados ao tipo de informações

meteorológicas que coletam, já que não existe um padrão de estação a ser seguido.

(FERREIRA; CARVALO; FILHO, 2000)

De acordo com Ferreira, Carvalo & Filho (2000), para o desenvolvimento

do banco de dados meteorológicos são utilizadas ferramentas comuns ao

desenvolvimento de qualquer outro software.

O que há de particular nesse tipo

de banco é a estrutura de tratamento e armazenamento desenvolvida para otimizar

leituras e inserções no banco de dados.

O sistema de armazenamento meteorológico necessita de três softwares

fundamentais,

o

sistema

de

coleta

e

pré-processamento,

o

sistema

de

armazenamento e as ferramentas que se servem do banco de dados.

Este

modelo de implementação traz uma série de benefícios,

compartilhamento de dados: eliminaram-se as cópias redundantes dos dados observados, criadas em função de necessidades específicas dos grupos de trabalho; os dados passaram a residir, de forma definitiva, apenas no banco de dados;

Integração: devido ao compartilhamento de dados, vários processos passaram a trocar informações através do banco de dados, que passou a servir como elemento de integração entre eles;

Eficiência na recuperação dos dados: o tempo para recuperação dos dados passou a ser substancialmente menor do que anteriormente, quando do uso de varredura seqüencial em arquivos convencionais contendo observações;

Sofisticação na consulta aos dados: foram viabilizadas consultas mais elaboradas como, por exemplo, aonde e quando uma variável meteorológica ultrapassou um determinado valor (se existir uma coluna desnormalizada correspondente); (FERREIRA; CARVALO; FILHO, 2000)

Um banco de dados meteorológico pode armazenar informações de

fontes como, estações meteorológicas e satélites, em um sistema centralizado

disponibilizando os dados para acesso por uma infinidade de aplicações. (SILVA;

BORGES; KRUSCHE, 2010)

A centralização das informações meteorológicas traz uma série de benefícios,

com a exibição Web da meteorologia e climatologia, desta forma acesso a informações

(22)

colhidas em pesquisas cientificas é democratizado chegando a toda população. Esses

bancos de dados podem tornar ferramentas de apoio à gestão pública, onde as

informações ajudam na criação de medidas para o beneficiamento da população de

uma região monitorada.

O sistema de compartilhamento de dados climatológicos constitui-se num mecanismo que viabiliza a publicação e consulta deste tipo de dado na Web. Tais dados são necessários como entrada em sistemas de apoio a gestão de recursos hídricos. Estes sistemas auxiliam aos gestores públicos na definição acerca de políticas públicas nesta área. Além do mais a disponibilização de dados climatológicos na Web democratiza a distribuição do conhecimento tanto para pesquisadores como para o público em geral. (LIRA; ARAÚJO, 2009)

O

armazenamento

de

dados

é

importante

também

na

geração

de

conhecimento. Dados meteorológicos minerados e cruzados podem ser utilizados

para obtenção de um modelo da probabilidade de incidência de algumas doenças e

pragas agrícolas, estes modelos podem ser encontrados a partir do cruzamento de

características meteorológicas com o período de incidência da doença ou praga na

cultura. (MEIRA; RODRIGUES, 2005).

Isso mostra o papel de bancos de dados meteorológicos como ferramentas de

suporte à tomada de decisão na agricultura, principalmente na prevenção de sinistros

causados por mudanças climáticas, trazendo ao produtor uma capacidade de aumento

produtivo. (PIMENTEL; CUNHA; PAVAN, 2001)

Com os sensores meteorológicos que conseguem adquirir informações em

frações de segundos as estações meteorológicas automatizadas podem medir uma

infinidade de variáveis, por exemplo, temperatura máxima, mínima e média do ar,

umidade relativa e média do ar e pressão atmosférica, gerando um grande conjunto

de informações a serem processadas. (SOUZA; GALVANI; ASSUNÇÃO, 2002)

Com o aumento da precisão e quantidade de informações geradas com a

automação é necessário dar ênfase à visão de performance dos sistemas criados.

Há uma necessidade de implementar conceitos de programação e gerenciamento

eficazes para que o sistema possa ser considerado seguro. Os principais conceitos

vistos são confiabilidade do sistema operacional escolhido para o servidor, serviço

web estável e sistema de banco de dados veloz e robusto. Com este conjunto se

espera dar ao usuário integridade, disponibilidade e autenticidade, que são pilares da

segurança da informação. (RODRIGUES; KRUSCHE, 2003)

Para obter melhor performance e segurança no armazenamento de

informações pode-se utilizar um modelo já existente no mercado que mantém dados

(23)

de sensoriamento eletrônico armazenados por anos e de forma segura e transparente

ao usuário, os sistemas PIMS.

2.6

SISTEMAS PIMS

A indústria possui problemas de isolamento de informações em ilhas, ou seja

as informações coletadas pelos sistemas automatizados de controle de produção

em uma fáabrica não conseguem ser colhidos e tratados em conjunto, fazendo com

que dados isolados não gerem informações úteis para o gerenciamento da indústria.

Além disso, a quantidade de dados de processo a serem armazenadas se torna

grande. Segundo Andrade et al. (2011) "o problema é que a quantidade de dados

provenientes das células de produção é muito grande exigindo um eficiente processo

de compressão dos dados antes de seu armazenamento."

Neste cenário, o PIMS surge como solução para findar o problema de

armazenamento das informações de processos. Segundo Urbano (2009) "o PIMS

nasceu na indústria de processos contínuos mais propriamente na indústria química e

petroquímica para solucionar o problema de fragmentação de dados, proporcionando

uma visão unificada do processo, eliminando ao acesso aos dados das ilhas de

automação” e por sua caracteristica de flexibilidade foi absorvido por outros ramos

industriais.

O sistema PIMS é definido por Carvalho et al. (2005) como, "sistemas de

aquisição de dados que, basicamente, recuperam os dados do processo residente

em fontes distintas, os armazenam em um banco de dados único e os disponibilizam

através de diversas ferramentas".

Urbano (2009) cita que, "de acordo com a norma internacional ISA-95 que

rege um padrão para integração entre os sistemas de chão de fábrica e os sistemas

corporativos, o PIMS é uma arquitetura de camada 2", como apresentado na figura

4 onde acima dos PIMS estão os sistemas corporativos de gestão industrial, abaixo

os sistemas de controle e supervisão da manufatura e no mesmo nível os sistemas

especialistas de execução da produção.

Com este sistema é possível visualizar e organizar dados históricos em tempo

real de forma que estes dados tragam informações úteis para a gestão do processo

industrial.

Além disso, podem-se montar tabelas, gráficos de tendências, telas

sinópticas e relatórios dinâmicos, concentrando a informação e possibilitando uma

visão unificada de todo processo produtivo.

(24)

Figura 4: Pirâmide de Automação

Fonte: Urbano (2009)

um suporte robusto e confiável para ajudar na tomada de decisão sobre o processo

produtivo, podendo adotar melhores estratégias para redução de custos e aumento da

produtividade.

Além de armazenar dados de instrumentos ligados diretamente a fontes como,

Programable Logic Controller (PLCs), sistemas Supervisory Control & Data Aquisition

(SCADA) ou Sistema Digital de Controle Distribuído (SDCD), é possível fazer cálculos

de variáveis de produção e armazenar os resultados como variáveis distintas. Sendo

também possível utilizar todos os dados armazenados como base para obtenção de

conhecimentos através de análise de mineração, cubos de dados, entre outras.

Os sistemas PIMS utilizam tags, também chamados de pontos, como unidade

de armazenamento principal de dados de instrumento de medição em um sistema

automatizado. Cada tag é formada por um nome indicador, como uma chave primária

no banco de dados temporal, que armazena todos os registros de valor do instrumento

em um determinado momento e o carimbo de tempo (timestamp) de cada valor

armazenado, que é a data e hora em que o determinado evento ocorreu.

Além

de nome, valor e tempo, a tag possui também o nome do instrumento na rede de

automação ou variável que queira ser armazenada, descrição, área de processo, tipo

do dado e mais algumas informações de qualidade. (ANDRADE et al., 2011)

Em um banco de dados relacional é possível definir a chave primária e criar

correlações entre tabelas através desta chave. "No PIMS a chave primária é definida

pelo nome da tag e os dados organizados de acordo com o timestamp” (URBANO,

2009). Com esta estrutura temporal, onde o armazenamento e a leitura do banco

de dados é seqüencial, as consultas se tornam mais rápidas, já que o período de

consulta é bem definido no tempo, não sendo necessário comparar vários índices em

(25)

uma tabela. Somente é necessário retornar todo um trecho entre dois timestamps.

Em geral, a estrutura básica dos PIMS consiste em três módulos: servidor

principal, servidores de comunicação e estações clientes. A figura 5 apresenta o

fluxo dos dados por esta estrutura em três módulos adotada em sistemas PIMS, mais

especificamente no sistema PI da Osisoft. Na figura o PI Server é o servidor principal,

a Interface Node é o Servidor de comunicação e o Smart Client e Thin Client, são as

estações cliente.

Figura 5: Arquitetura do sistema historiador PIMS

Fonte: OSISOFT (2009)

Os servidores de comunicação, geralmente chamados de interfaces, recolhem

os dados da supervisão ou controle da planta e enviam-nos para o armazenamento

no servidor principal de banco de dados. Geralmente os sistemas PIMS possuem

interfaces com os sistemas de controle automatizado presentes no mercado, mas na

maioria dos casos fazem aquisição de dados de supervisão via protocolo OLE for

process control (OPC). OPC é um padrão de acesso à dados em tempo real sob o

sistema operacional Windows, baseado na tecnologia Object Linking and Embedding/

Distributed Component Object Model (OLE/DCOM) da Microsft.

O OPC surgiu da necessidade de se estabelecer comunicação entre diferentes

fontes de dados em uma rede de controle industrial.

O padrão OPC estabelece

as regras para que sejam desenvolvidos sistemas com interfaces comuns para

comunicação dos dispositivos de campo (CLP, sensores, etc.)

com sistemas de

monitoração, supervisão e gerenciamento.

O servidor principal é responsável pelo armazenamento dos dados vindos

dos sistemas de coleta em um banco de dados temporal centralizado, fazendo o

tratamento de compressão em tempo real destes dados antes da gravação. Nas

estações cliente podem ser instaladas ferramentas para acessar o servidor principal,

(26)

que por sua vez retornam dados históricos e em tempo real de forma gráfica. A partir

de ferramentas clientes é possível analisar as diversas variáveis do processo.

Os sistemas PIMS fazem o armazenamento dos dados de forma especial,

diferente dos bancos de dados convencionais, armazena em bancos de dados

temporais como compactação em tempo real com baixa perda de informação e maior

velocidade de resposta a consultas. Para a compactação são utilizados algoritmos

com taxa de compressão típica de 10:1, podendo chegar até a 20:1.

Estas características fazem com que dez a vinte anos de produção de um

sistema possam ser armazenadas em um disco rígido típico, dependendo do caso,

por exemplo, o PIMS que armazena as informações de produção termelétrica de

uma grande empresa brasileira que tem aproximadamente sessenta mil tags em sua

base de dados, armazena os dados de sua produção anual em aproximadamente

110 Gigabytes, se não estiver utilizando uma compressão de 20:1 o armazenamento

seria de 2,2 TeraBytes. Levando isso para a meteorologia seria o fim do trabalho de

recuperação de backup de informações antigas. (ANDRADE et al., 2011; CARVALHO

et al., 2005; URBANO, 2009)

O autor Carvalho et al. (2005) define bem nas páginas 3 e 4 a compressão de

dados em sistemas PIMS.

Ao invés de comprimir dados usando um algoritmo de codificação de repetição (run leght encoding), típica de compressores de texto, ou resumir os dados em um segmento pelos valores dos extremos do período e por figuras auxiliares como valores médio mínimo e máximo no intervalo, que causam grande perda de informação intermediária; os PIMS desenvolveram algoritmos mais engenhosos. Ao invés de amostrar os dados a intervalos fixos onde a única maneira de melhorar a compressão é aumentando o período de amostragem, o que implica muitas vezes em perda de informações, o sistema PIMS amostram a curva no ponto certo, ou seja o valor é armazenado quando existem mudanças significativas acontecendo.

Um sistema de compressão eficiente e eficaz é de fundamental importância

para sistemas historiadores de dados de automação.

Em PIMS a informação é

recuperada com integridade e com grande velocidade. Analisando a estratégia de

compressão, os PIMS possuem as seguintes características:

• Taxa de compressão alta;

• Reconstrução simples dos dados;

• Algoritmo veloz na compressão e reconstrução dos dados;

Os algoritmos mais utilizados para fazer a compressão em PIMS são o

Boxcar/Backslope e o Swinging Doors. O algoritmo Boxcar/Backslope possui critérios

(27)

que definem se a informação recebida será salva, o Boxcar e o Backslope. Basea-se

ainda em três parâmetros: o desvio de compressão, o tempo máximo de compressão

e a qualidade do dado, que são utilizados para configuração dos critérios Boxcar e

Backslope.

Sempre que o tempo transcorrido entre o último valor armazenado e o último valor recebido for maior que o tempo máximo de compressão, o último valor recebido será armazenado. Se a qualidade do último dado recebido mudar, o valor anterior ao último recebido será armazenado. A cada novo dado que é recebido, são verificados os dois critérios. Se ambos os critérios forem violados, então o dado será armazenado no Banco de Dados. Violar o critério Boxcar significa que o último valor recebido apresentou um desvio maior que o limite do desvio de compressão, em relação à reta paralela ao eixo do tempo, e que passa pelo último valor armazenado. Violar o critério Backslope significa que o último valor recebido apresentou um desvio maior que o limite do desvio de compressão, em relação à reta definida com os dois últimos valores armazenados. Se apenas um dos critérios for violado, nenhum dado será armazenado. (ANDRADE et al., 2005)

A figura 6 apresenta o funcionamento do algoritmo, sendo que o critério Boxcar

se baseia na reta paralela à linha do tempo que passa pelo último ponto preto, que foi o

último dado salvo. Caso o próximo valor esteja fora das retas formadas paralelamente

à do último valor salvo, com distância igual ao desvio de compressão, o valor violou o

critério Boxcar, como indicado na figura 6 pela primeira bola em branco.

O critério Backslope utiliza a reta formada pelos dois últimos valores salvos, os

dois pontos pretos, como base. Caso o valor seguinte esteja fora das retas formadas

paralelamente à reta base, com distância igual ao desvio de compressão, o valor violou

o critério Backslope, como indicado na figura 6 pela segunda bola em branco. O valor

a ser salvo é a bola colorida, que viola os dois critérios de compressão.

Figura 6: Algoritmo de compressão Boxcar/Backslope

Fonte: Almeida et. al. (2005)

(28)

de sistemas PIMS. Segundo os autores Andrade, Souza e Feijó ”Esse algoritmo é

classificado como um compressor com perda de informações, ou seja, os dados

reconstituídos não são idênticos aos dados originais.” Um dos grandes diferencias

desse algoritmo é a compressão em tempo real, pois não há necessidade de

janelamento em um período, sendo que à medida que chegam da interface de coleta

os dados são armazenados de forma comprimida.

"O algoritmo contém três parâmetros que são definidos para cada variável

cujas informações serão comprimidas. Esses parâmetros são: tempo mínimo de

compressão, tempo máximo de compressão e desvio de compressão.” (ANDRADE

et al., 2011)

"O algoritmo Swinging Doors cria uma área de cobertura no formato de um paralelogramo e com largura igual ao dobro do desvio de compressão, este paralelogramo se estende desde o último valor armazenado até o último valor recebido. Se qualquer um dos valores recebidos entre o último armazenado e o último recebido ficar fora da área de cobertura, então o valor anterior ao último recebido será armazenado no Banco de Dados. O último valor recebido é sempre armazenado se o tempo transcorrido desde o último valor armazenado for maior que o tempo máximo de compressão”. (ANDRADE et al., 2005)

Na figura 7 é apresentado o paralelogramo que é utlizado como base para fazer

as análises no algoritimo Swinging Doors. A reta formada pelo último valor salvo, a

bola preta, e o último valor recebido, bola colorida, servem de base para as laterais do

paralelogramo, a reta superior com distância da reta base igual à soma do desvio e a

inferior com distância da reta base igual à subtração do desvio.

Figura 7: Paralelogramo Formado no algoritmo Swinging Doors

Fonte: Andrade et. al. (2005)

Na figura 8 é apresentado o próximo valor que será salvo, é a terceira bola

branca, que é exibida fora do paralelogramo.

(29)

Figura 8: Condição para salvar o valor no algoritmo Swinging Doors

Fonte: Andrade et al. (2005)

A figura 9 apresenta um fluxograma baseado no algoritmo Swinging Doors

definido no trabalho de Urbano (2009).

O autor Carvalho et al. (2005, p.2) cita vários benefícios do uso de sistemas

PIMS:

• Centralização de dados de processo: Os sistemas PIMS concentram toda informação em uma única base de dados de forma a permitir uma melhor correlação e análise sobre estes dados.

• Democratização da informação: O PIMS possibilita que qualquer usuário tenha acesso aos dados da planta instantaneamente. • Visualização do processo produtivo em tempo real: Tal

visualização pode ser feita de várias formas, como gráficos de tendências, gráficos XY, relatórios dinâmicos, telas sinóticas, aplicações Web e etc.

• Maior interatividade com os dados do processo: Ferramentas simples mas poderosas permitem realizar, entre outras funcionalidades cálculos, estudos estatísticos e lógica de eventos, utilizando os dados do processo.

• Histórico de dados: Capaz de armazenar até 15 anos de dados de processo graças a eficiência do seu algoritmo de compressão que pode chegar a uma taxa de 20:1.

• Receita de processo: Os sistemas PIMS permitem identificar e armazenar os dados correspondentes ao melhor resultado obtido na produção, para que estes sirvam como referência às intervenções futuras.

Hoje em dia, os historiadores de dados, que estão deixando de ser somente

ferramentas de armazenamento e visualização, tornando-se uma plataforma para

o desenvolvimento de aplicativos em tempo real, tais como, "controle estocástico

da qualidade em tempo real, gestão de indicadores, gestão de ativos de rede,

combinação de dados, consolidação de dados dos equipamentos como tempo de

funcionamento, tempo de paradas, correlação de variáveis, análise de bateladas,

(30)

Figura 9: Fluxograma Swinging Doors

Fonte: Baseado em Urbano (2009)

rastreabilidade, análise de produção dentre outras funções.” (URBANO, 2009)

Os sistemas PIMS destacam-se também como ferramenta de fundamental

importância para manutenção dos sistemas industriais, fazendo gestão, manutenção

de ativos e geração de cronograma de manutenção corretiva. Este tipo de análise traz

(31)

a diminuição da variabilidade do produto, extensão da vida útil dos equipamentos e

diminui as chances de ocorrência de acidentes de trabalho por quebra de máquinas.

(SOUZA; CORREIA; NETO, 2009)

Os sistemas PIMS armazenam informações em bancos de dados proprietários

e com caracteristicas específicas de cada fabricante. Não há um padrão de sistema de

armazenamento e consulta de dados a ser seguido. Há somente um conceito utilizado

no desenvolvimento para armazenamento de dados de automação com segurança,

portabilidade e alta velocidade.

2.7

SISTEMA PI OSISOFT

Um exemplo de sistema de armazenamento em PIMS é o Sistema PI Osisoft,

que armazena dados em arquivos que podem ser fixos ou dinâmicos. Para arquivos

fixos o tamanho é sempre o mesmo, independentemente da quantidade de dados que

contêm. O tamanho de um arquivo dinâmico cresce à medida que se obtém os dados.

O arquivo de recepção de dados atual é chamado de archive pPrimário. Quando

o archive primário é completado, um shift (mudança de posição) ocorre e o arquivo

seguinte disponível torna-se o novo archive primário. (OSISOFT, 2009)

Como apresentado na figura 10, no momento do shift, o archive piarch.003

deixa de ser o primário, passando o archive piarch.004 à essa condição. Porém o

piarch.003 continua mantido como um archive secundário no servidor. Se o gestor de

sistema não criar novos archives neste servidor PI, no próximo shift o novo archive

primário será o mais antigo, o piarch.001. Para que isso não ocorra o servidor pode

ser configurado para criar um novo archive a cada shift.

Enquanto há um shift de archive o usuário não tem permissão para adicionar,

editar ou excluir tags. Enquanto o shift ocorre, o PI armazena os dados de entrada

na fila de eventos até que esta rotina seja completada e, em seguida, os eventos que

estavam na fila são salvos no novo archive primário. (OSISOFT, 2009)

Cada archive contém os eventos armazenados por um período de tempo

especificado, definido pelo horário de início e fim do archive.

Cada archive PI

armazena eventos como registros de dados, que podem ser primários ou de overflow

(estouro). (OSISOFT, 2009)

Cada tag no banco de dados tem um registro primário alocado em cada

archive. Registros primários são armazenados no início do arquivo e com o tempo

vão acumulando os valores e datas para determinada tag. Quando o registro principal

enche, os dados passam a ser armazenados em um registro de estouro no archive.

(32)

Figura 10: Estratégia de mudança do archive primário

Fonte: OSISOFT (2009)

Registros de estouro começam a ser criados do final do archive para o início, como

apresentado na figura 11, onde as colunas iniciais do archive file são registros

primários e as colunas finais, são registros secundários. Cada registro é definido

pelo sistema com um kilobyte de espaço. (OSISOFT, 2006)

Figura 11: Archive PI

Fonte: OSISOFT (2006)

Uma tag pode ter o número de registros de estouro que forem necessários.

Por exemplo, uma tag que recebe eventos em uma taxa lenta nunca alocará um

registro de estouro, enquanto que pontos que recebem eventos em um ritmo rápido

podem precisar alocar muitos registros de estouros. PI usa registros de índice para

acompanhar dados de vários registros de estouro para uma tag. (OSISOFT, 2006)

O sistema da Osisoft, apresentado, trata do armazenamento dos seus dados

em arquivos bem definidos. A manipulação, inserção, leitura e atualização destes

dados é feita em rotinas e subsistemas bem definidos pelo fabricante. Para uma

(33)

estrutura simplificada deste projeto não é necessário o desenvolvimento de um

sistema de banco de dados temporal em arquivos com seus subsistemas, já que

existem SGBDs de uso livre no mercado que fazem este papel, somente sendo

necessário especificar um modelo de banco de dados temporal baseado no conceito

de historiamento de dados de automação dos PIMS. Essa modelagem temporal para

banco de dados será apresentada a seguir.

2.8

BANCO DE DADOS TEMPORAL

O tempo é um dos aspectos mais difíceis de lidar em aplicações que incorporam

características do mundo real, como sistemas de banco de dados. Hoje não há grande

suporte às características temporais da informação em linguagem de consulta para

gerenciamento de dados. Muitas extensões temporais do modelo relacional foram

propostas e algumas delas são implementadas. (MAHMOOD; BURNEY; AHSAN,

2010)

Para a implementação de um sistema baseado em armazenamento PIMS,

podem ser utilizadas as estratégias de modelagem propostas no trabalho de Oliveira

(2001) - Temporal Entidade Relacionamento (TempER), e no trabalho de Mahmood,

Burney & Ahsan (2010). Em resumo, são variações do modelo de banco de dados

relacional com associação de atributos temporais.

O modelo de dados relacional só suporta funcionalidades para acesso a um

único estado do mundo real (o mais recente), conjunto chamado snapshot. No entanto,

existem muitas aplicações que precisam ter acesso não só ao estado mais recente,

mas também ao passado, como em históricos de pacientes e em análises financeiras.

A noção de permanência dos dados deve ser alargada para todo o período histórico

abrangendo todos os seus estados.

Para superar essa desvantagem, o modelo

relacional foi estendido para uma forma que suporte a história em aplicações no

mundo real, trazendo gestão de dados em tempo variável.

Esta nova perspectiva possui aplicações diversas, como financeiras, sistemas

de inventário, pedidos de seguro, reserva de sistemas, sistemas de gestão da saúde,

bases de dados para assistência médica e sistemas de apoio à decisão. Esforços

para incorporar o domínio temporal em sistema de gestão de banco de dados estão

em curso há mais de um década e dezenas de modelos temporais foram propostos.

(MAHMOOD; BURNEY; AHSAN, 2010)

Segundo Oliveira (2001), a diferença básica entre um banco de dados relacional

e um banco de dados temporal é a dimensão do tempo. No banco de dados relacional

(34)

as tabelas se desenvolvem em duas dimensões: as linhas (instâncias dos dados)

e as colunas (atributos). A dimensão temporal traz a associação do timestamp a

cada valor. Desta forma, o que era alterado, geralmente perdendo o valor no modelo

tradicional, agora é armazenado como uma nova linha onde a informação é associada

a um tempo, o que faz com que seja armazenado todo o histórico do determinado

atributo, dando uma terceira dimensão, temporal, ao banco de dados. Isso não quer

dizer que no modelo temporal os dados não podem ser alterados, mas quando ocorrer

serão corrigidos em um ou mais instantes na linha do tempo.

Dados temporais têm a sua própria semântica e organização, requerendo

algumas modificações do modelo relacional. Atributos em uma relação podem ser

variáveis no tempo (temporais) ou não variáveis no tempo (atemporais). Por exemplo,

para o atributo salário de um empregado existe uma associação de tempo variável,

pois, geralmente, os valores salariais mudam com o passar do tempo. O atributo

de sexo do empregado, ao contrário, não se associa a um tempo, não variando.

(MAHMOOD; BURNEY; AHSAN, 2010)

As figuras 12 e 13 traduzem o conceito de dimensão temporal. Na primeira, o

dado é mostrado sem a dimensão do tempo; na segunda, a cada momento, o dado é

armazenado com valores diferentes criando um histórico dos dados com o passar do

tempo.

Figura 12: Dado relacional

Fonte: Edelweiss (2011)

Até agora o modelo relacional é o método mais eficaz para a organização de

grandes quantidades de dados e ainda é a tecnologia amplamente aceita entre os

fornecedores e empresas em todo o mundo.

A abordagem de inserção de datas em tuplas foi adotada na definição do

modelo temporal para manter a simplicidade e essência do modelo relacional, pois

desta forma é possível manter a característica relacional com o armazenamento das

variações do dado no tempo. A proposta lógica do modelo de dados temporal é

composto por três construções principais, ou seja, a entidade (temporal ou atemporal),

(35)

Figura 13: Dado temporal

Fonte: Edelweiss (2011)

atributo (variável no tempo e não variável no tempo) e relação n-ária (temporal,

não-temporal ou semi-temporal).

Seguem-se algumas restrições para garantir a consistência do esquema:

• Tipo de entidade Temporal pode combinar atributos variáveis e

não variáveis no tempo.

• A Tupla pode ser composta por atributo variável no tempo mais a chave primária que é um atributo não variável.

• Uma relação n-ária determina se o esquema é atemporal, se os atributos de duas tabelas relacionadas não variam no tempo; temporal se os atributos de duas tabelas relacionadas variam no tempo; ou semi relacional-temporal se o atributo de somente uma das tabelas varia no tempo;(MAHMOOD; BURNEY; AHSAN, 2010)

Um dos modelos temporais propostos como base para este projeto é o

TempER que, segundo Oliveira (2001) "surge com a intenção de suprimir os pontos

desfavoráveis identificados nas propostas de modelagem temporal pesquisadas na

literatura". O modelo TempER, como outros modelos temporais, agrega a dimensão

temporal a um objeto simplesmente relacional apresentando entidades, relações e

atributos.

A primitiva temporal utilizada é o elemento temporal, um valor de tempo discreto

sempre associado ao valor que é alterado naquele instante de tempo. Uma das

características que aproximam o modelo de PIMS e o TempER é o eixo do tempo,

existe somente uma linha do tempo onde são armazenados os valores no momento

da alteração. Não existe tempo de validade ou de transação para uma informação.

(36)

O valor sofre alteração em instantes no tempo, se mantendo nessa condição

até a próxima modificação. Diferente de outras abordagens, que devem garantir o

período no tempo em que o valor existe ou é válido, sendo necessário armazenar uma

tempo inicial e um final para cada alteração.

Uma vantagem do modelo é a capacidade de associar tanto entidades

temporalizadas, quanto não temporalizadas, apesar de todas as entidades nesse

modelo apresentarem a dimensão temporal.

Para fazer a diferenciação entre as

entidades que mudam ou não com o tempo são feitas duas classificações. Transitórias,

são entidades temporalizadas que existem com suas modificações durante todo um

período de tempo, "são aquelas cuja validade temporal é um subconjunto de pontos

do tempo do eixo temporal". (OLIVEIRA, 2001)

As entidades e relações perenes apresentam características fixas, sem

modificações durante o tempo e sem armazenamento dos dados temporalizados.

Segundo Oliveira (2001) "São aquelas cuja validade temporal é exatamente igual a

todo o eixo temporal."... "a sua validade temporal inicia no primeiro ponto do eixo

temporal e se estende até o último. Normalmente as entidades que o modelador não

necessita ou não deseja associar ao tempo são consideradas como perenes".

Em relacionamentos temporais são relacionadas duas entidades no âmbito da

dimensão temporal, "este tipo de relacionamento serve para modelar as associações

das quais se necessita conhecer a validade temporal. Os relacionamentos temporais

só são válidos nos momentos especificados pelos seus rótulos temporais” (OLIVEIRA,

2001). Já os relacionamentos atemporais não levam em consideração o tempo, não

apresentando momento inicial ou final.

Os relacionamentos temporais se diferenciam dos antemporais por apresentar

restrições de cardinalidade com base no tempo. A cardinalidade é demonstrada por

Oliveira (2001). Para relacionamentos intemporais:

(0,1) a entidade pode não participar em relacionamentos; se participa, limita-se a no máximo uma vez;

(0,N) a entidade pode não participar em relacionamento, ou pode participar mais de uma vez;

(1,1) a entidade participa uma única vez do relacionamento;

(1,N) a entidade participa no mínimo uma vez no relacionamento, podendo participar mais vezes.

Para relacionamentos temporais:

(0,1) a entidade pode não participar em relacionamentos; se participa, limita-se a no máximo uma vez a cada momento do tempo;

(0,N) a entidade pode não participar em relacionamento, ou pode participar mais de uma vez a cada momento do tempo;

(37)

(1,1) a entidade participa uma única vez do relacionamento, a cada momento do tempo;

(1,N) a entidade participa no mínimo uma vez em relacionamento, podendo participar mais vezes a cada momento do tempo.

A figura 14 descreve a notação utilizada para modelagem pelo TempER.

Enquanto um modelo relacional apresenta um retângulo como entidade e um losango

como relacionamento, o TempER adiciona a estas marcas, sendo ’Tr’ para um

elemento transitório e ’P’ para um elemento perene.

Figura 14: Notação para modelagem TempER

Fonte: Oliveira (2001)

Os atributos temporais são aqueles que armazenam as mudanças ocorridas

na linha do tempo.

Eles armazenam todo o histórico de alterações dos valores,

associando a cada mudança uma marca de tempo.

Os atributos atemporais

armazenam valores que podem ser alterados sem a preservação os antigos, como

no modelo convencional Entidade Relacionamento.

Em geral as entidades devem possuir um identificador, que deve ser único

e normalmente utilizado como chave primária. Independente do tipo, as entidades

podem combinar atributos transitórios e perenes. Já nas relações, ou se utilizam

atributos transitórios ou perenes, de acordo com a sua característica de temporalidade.

Como explicado anteriormente, em sistemas temporais o tempo de validade

da informação não é considerado. Os dados temporais serão representados como

pontos na linha do tempo mostrando o momento de atualização da informação. A

granularidade na linha do tempo é variável, ou seja, o tempo entre dois dados

consecutivos pode variar de segundos a anos, assim como em sistemas PIMS.

(38)

3

METODOLOGIA

Esta seção descreve a metodologia do desenvolvimento do projeto do sistema,

sendo apresentados os modelos que basearam esse processo de desenvolvimento.

Para as etapas de análise e projeto foi criada uma modelagem do sistema em Unified

Modeling Language (UML, traduzindo, Linguagem de modelagem unificada), que é

um padrão de modelagem amplamente aceito e empregado na demonstração dos

padrões e interações de software antes do desenvolvimento. Essa modelagem é

apresentada nesta seção, assim como a modelagem do banco de dados utilizado

e a visão geral do sistema(OMG, 2010)

3.1

ORGANIZAÇÃO EM 3 MÓDULOS

O sistema é organizado como um PIMS, possuindo 3 módulos como já

explicado na seção 2.6.

O módulo de coleta, o módulo de armazenamento e o

módulo de exibição, essa organização é apresentada na figura 15. Fazem parte do

módulo de coleta, a estação meteorológica Nomad II, que é a fonte de dados, e a

interface de coleta, podendo funcionar em qualquer máquina do sistema. O módulo de

armazenamento funciona no servidor principal que executa o sistema de compressão

e o banco de dados da aplicação, além disto, neste mesmo servidor é executado o

serviço web que contém as páginas do módulo de exibição, funcionando como as

ferramentas cliente do sistema PIMS.

3.2

MODELO DE BANCO DE DADOS TEMPORAL

A modelagem do banco de dados feita neste trabalho utiliza a abordagem

TempER, contendo cinco entidades (como apresentado na figura 16): NODE, é uma

entidade perene que representa o sistema de coleta de dados; DATASOURCE, é uma

entidade perene que representa de qual fonte o nó de coleta vai receber o dado;

SNAPSHOT, é uma entidade perene que representa a tabela com os dados mais

recentes recebidos; TAG é uma entidade perene que armazenará informações de

parametrização dos tags; e a entidade VALORES, que é transitória e armazena todo

o histórico de valores recebidos por cada tag.

Para este modelo, um NODE possui nenhum ou vários DATASOURCES, que

por sua vez possui um ou vários TAGS, que possuem um SNAPSHOT, e um ou vários

valores.

(39)

Figura 15: Arquitetura em três módulos, Coleta, Armazenamento e Exibição

Fonte: Próprio autor

3.3

MODELAGEM UML DOS SUBSISTEMAS

O diagrama de casos de uso apresenta as formas de interação dos atores com

o sistema. Dentro do projeto existem dois atores: o usuário e o gerente. O usuário

possui duas ações possíveis no sistema: buscar valor de um tag em tempo real e

buscar o histórico de um tag, como apresentado na figura 17. Além de buscar tags o

gerente possui os papeis de criar, editar e deletar tags e pointesources.

O sistema é composto por pacotes com funções específicas, por isso na

modelagem as estruturas são divididas e cada um destes pacotes contém o conjunto

de classes necessárias para desempenhar corretamente sua função no sistema. A

figura 18 apresenta o diagrama de pacotes de classes do sistema. O primeiro pacote

é o interface, que possui a função de coletar os dados da fonte e enviar ao pacote de

armazenamento e é executado no servidor de coleta de dados possuindo três classes:

PrincipalInt, Coleta e Transmissão.

O segundo pacote é o de armazenamento que é responsável por compactar e

guardar as informações no banco de dados. Ele é executado no servidor de dados e

(40)

Figura 16: Modelo de banco de dados Temporal

Fonte: Próprio autor

Figura 17: Modelagem de casos de uso do sistema

Fonte: Próprio autor

possui três classes: Principal, Leitura e Compressão.

O terceiro pacote é o de visualização que tem como característica principal

exibir a informação desejada ao usuário.

Ele é executado por um serviço web

presente no mesmo servidor do banco de dados e possui as classes PrincipalWeb,

(41)

ConsultaHistórico e ConsultaTempoReal. À frente serão detalhadas as classes de

cada módulo.

Figura 18: Diagrama de pacotes

Fonte: Próprio autor

No módulo de coleta, a classe PrincipalInt tem como variável o atributo

EntradaUsuário que é lido e passado como parâmetro para os métodos ParaColeta()

e IniciaColeta(). A classe Coleta lê o dado pelo método Leitura() e valida o dado a ser

armazenado, retornando-o para a classe Transmissão que possui a função de enviar a

informação ao sistema de armazenamento utilizando o método EscreveModLeitura().

O pacote coleta é melhor apresentado na figura 19.

O módulo de armazenamento, apresentado na figura 20, interage diretamente

com o banco de dados. A classe Principal executa os métodos IniciaArmazenamento()

e ParaArmazenamento().

A classe Leitura aguarda os dados chegarem da

interface pelo método LeColeta().

A cada dado recebido é executado o método

TesteParalelogramo() que faz a análise de compressão com base no algoritmo

Swinging Doors.

Este lê o desvio definido para a tag e o tempo máximo de

compressão, cria o paralelogramo de análise e armazena o dado comprimido.

(42)

Figura 19: Classes do pacote Coleta

Fonte: Próprio autor

Figura 20: Classes do pacote armazenamento

Fonte: Próprio autor

O pacote visualização, apresentado na figura 21, possui classes que

fazem busca, tanto do valor histórico (ConsultaHistorico), quanto em tempo real

(ConsultaTempoReal).

Ambas sobrescrevem o método BuscaTag() da classe

PrincipalWeb.

Na classe ConsultaTempoReal é lida uma tag a partir do método

BuscaValorAtual() e é retornado um único valor do snapshot.

Já o método

BuscaHistórica() retorna o período desejado pelo método TempoValido() e busca um

vetor de valores com suas respectivas datas.

Os casos de interação mais complexos são detalhados em diagramas de

atividades apresentados nas figuras 22 e 23.

Referências

Documentos relacionados

Declaro meu voto contrário ao Parecer referente à Base Nacional Comum Curricular (BNCC) apresentado pelos Conselheiros Relatores da Comissão Bicameral da BNCC,

Com o intuito de avaliar a possível presença de compostos poliaromáticos contendo mais de quatro anéis aromáticos fundidos, efetuou-se análises em três tipos de asfaltenos

Presidente--- Para Deliberação:Aprovado por maioria com a abstenção do Vereador António Moreira.--- Remeter à Assembleia Municipal para apreciação e votação.--- Ponto 4

4 RESULTADOS E DISCUSSÃO 4.1 Caracterização da cobertura florestal e da biodiversidade vegetal no entorno dos cultivos de tomate na região de Apiaí-SP a Módulos

Caroa alunoa da Turma 12, Este questionário é um dos instrumentos que utilizaremos para analisar os resultados de nosso trabalho de campo do Mestrado em Educação, onde realizamos

Entre os objetivos específicos estão: comparar a estrutura espacial de anelídeos poliquetas dessas seis praias para os seguintes descritores da comunidade:

Nesse contexto, a gestão de informação demonstrou mais eficácia e a metodologia PDCA foi utilizada não só como ferramenta para melhoria e acompanhamento no GRUPO VAREJO X,

Em viveiros de água doce com cultivo de catfish não houve alteração significativa nos valores de potencial redox ao longo do tempo ao contrario do que aconteceu no viveiro de