• Nenhum resultado encontrado

4.3. ARQUITETURA FUNCIONAL DA INTERFACE LÓGICA

4.3.2. Arquitetura Cliente/Servidor da Interface Lógica

A interface lógica desenvolvida neste trabalho possui uma estrutura cliente servidor para efetuar a ligação entre sistema SCOOT e a plataforma SIG TransCAD, por meio do software ASTRID. A idéia fundamental consiste em substituir o atual front end do ASTRID por uma nova interface, em ambiente SIG. Assim, através da capacidade de referenciamento e manipulação espacial do SIG, esta nova interface pode proporcionar maior produtividade ao processo de consulta de dados do sistema SCOOT, além de permitir a execução de análises espaciais.

Na página seguinte, a Figura 4.6 ilustra a arquitetura da referida interface lógica. De acordo com a Figura 4.6, a interface lógica, substituta do front end do software ASTRID, possui uma arquitetura cliente/servidor composta por quatro módulos de processamento, denominados: Compilador de Parâmetros, Construtor de Linhas de Comando, Escritor de Arquivos DBASE e Agregador de Arquivos DBASE. Verifique que o primeiro e o quarto módulos são front ends executados em plataforma SIG,

software TransCAD. Estes dois módulos foram desenvolvidos com o uso da linguagem

de programação Macro Caliper Script do TransCAD. Já o segundo e terceiro módulos, módulos back end, funcionam numa plataforma de programação, software Python. Estes dois módulos foram implementados via Python (www.python.org).

O uso conjunto das plataformas TransCAD e Python é devido a dois motivos. Primeiro, é através do TransCAD que é possível agregar caráter espacial aos dados importados da base de dados do sistema SCOOT. Contudo este sistema não é adequado para comunicação cliente/servidor. Portanto, foi usado o software Python para efetuar a conexão IP/TCP. A escolha do Python é justificada pelos seus atributos técnicos e pelo seu caráter gratuito de aquisição. Este argumento é corroborado por BRYDIA et al. (1998) que afirmam que o acesso à base de dados de sistemas ITS deve ser feito através de software aberto para evitar custos com licença de uso.

Figura 4.6: Arquitetura funcional da interface lógica de consulta à base de dados do

tráfego modelada pelo sistema SCOOT

De acordo com a Figura 4.6, o funcionamento da interface lógica é dividido em quatro etapas, executadas consecutivamente para cada objeto viário selecionado pelo usuário para a extração de dados no sistema SCOOT. As três etapas inicias (módulos

Computador Terminal Entrada do usuário Parâmetros Temporais e Espaciais Entrada do Usuário Base de Dados Georeferenciada Arquivo(s) de Versão(ões) Saída Pacotes de Parâmetros Plataforma de Programação Software Python Compilador de Parâmetros Construtor de Linhas de Comando Escritor de Arquivos DBASE Arquivo DBASE Agregador de Arquivos DBASE INTERFACE LÓGICA Processo Cíclico (um SCN por vez) front end back end Códigos SCN Plataforma SIG Software TransCAD Base de Dados Georeferenciada Referenciamento Espacial Flexível Entrada de Dados Saída de Dados Dados em Trânsito Módulo Processador Interface com o usuário Plataforma de Trabalho Conexão Remota Fluxo interno Fluxo controlado pelo usuário Computador Servidor Plataforma de Consulta Software ASTRID Arquivo Resultante Compilador de Formato de Saída Comando de Extração Executor de Comandos de Extração Base de Dados Sistema SCOOT Back-End Linha de Comando Arquivo TMP

Compilador de Parâmetros - 1º Etapa, Construtor de Linhas de Comando - 2º Etapa, Escritor de Arquivos DBASE - 3º Etapa) são executadas com conexão entre o computador terminal e servidor. Já a quarta etapa (módulo Agregador de Arquivos DBASE) é executada apenas no ambiente do computador terminal, após a importação e conversão dos arquivos extraídos da base de dados modelada pelo SCOOT.

Na primeira etapa, o módulo “Compilador de Parâmetros” efetua a leitura dos parâmetros espaciais (códigos SCN), temporais (datas, dias da semana, períodos horários), variáveis, estatísticas e opções especificados pelo usuário. Os códigos SCN são obtidos a partir da base de dados georeferenciada construída pelo usuário, a qual contém uma ou mais camadas geográficas com os objetos viários desejados e seus respectivos códigos SCN. Já os demais parâmetros temporais, variáveis, estatísticas e opções são especificados diretamente na interface lógica.

Ainda na primeira etapa, o “Compilador de Parâmetros” organiza os parâmetros lidos em seis pacotes, são eles: variáveis, relativo às variáveis especificadas; estatísticas, relativo às estatísticas definidas; dias, relativo aos dias da semana escolhidos; datas, relativo aos dias ou meses selecionados; horários, relativo aos períodos horários especificados; opções, relativo às opções especificadas; e SCN, relativo aos códigos SCN dos objetos viários selecionados. Em seguida, os cinco primeiros pacotes são enviados, via conexão IP/TCP, para o “Construtor de Linhas de Comando”, desenvolvido e executado na plataforma de programação Python. Já os códigos SCN são remetidos um para cada ciclo de execução da interface lógica (ver Figura 4.6).

Na segunda etapa, o módulo “Construtor de Linhas de Comando” usa os parâmetros enviados pelo módulo “Compilador de Parâmetros” para elaborar um conjunto de comandos de extração de dados para cada código SCN enviado, na forma de uma ou mais linhas de comando. Estas linhas são iguais àquelas geradas pelo front

end original do ASTRID, cuja estrutura é apresentada na Figura 4.5. Em seguida, a

partir do computador terminal, a(s) linha(s) de comando relativa(s) ao SCN corrente é (são) enviada(s) ao módulo “Executor de Comandos de Extração” do ASTRID, localizado no computador servidor, via conexão IP/TCP. Então o software ASTRID executa a(s) linha(s) de comando, similar ao procedimento convencional descrito na seção 4.3.1. O arquivo resultante é convertido em arquivo TMP pelo módulo

“Compilador de Formato de Saída”, e enviado ao computador terminal via conexão remota do tipo IP/TCP.

Na terceira etapa, o arquivo TMP, enviado pelo “Compilador de Formato de Saída”, é convertido para o formato DBASE através do módulo “Escritor de Arquivo DBASE”, conforme descrito na seção 4.2.2. O arquivo DBASE convertido é armazenado em pasta definida pelo parâmetro “opções”. A opção padrão da interface lógica é o endereço “C:\Arquivos de Programas” no computador terminal.

Finalizada a importação e conversão de dados de cada SCN, junto à base de dados do sistema SCOOT, é iniciada a quarta etapa. Nesta etapa, cada arquivo DBASE convertido é submetido ao processo de agregação temporal de dados extraídos do sistema SCOOT, conforme apresentado na Figura 4.1, seção 4.2.2. O módulo “Agregador de Arquivo DBASE” é o responsável por executar este processo de agregação. O resultado da agregação de cada arquivo DBASE é acumulado em conjuntos de “M” registros, onde cada conjunto é agrupado por tipo de estatística “E”. À medida que os arquivos são lidos e agregados, os registros resultantes são adicionados, em separado, a um vetor temporário de acumulação.

Após a agregação de dados dos arquivos DBASE de cada SCN, o “Agregador de Arquivo DBASE” insere, ainda na quarta etapa, os registros acumulados no vetor temporário em seus respectivos arquivo DBASE agregados (Arquivos de Versões mensais), através de testes lógicos, segundo a estatística e o mês a que se referem.

Ao final do processo de consulta à base de dados do SCOOT, o usuário dispõe de um Arquivo de Versão para cada combinação estatística e mês. Cada Arquivo de Versão contém valores das variáveis pesquisadas, agregados nos dias e períodos horários definidos pelo usuário, segundo uma dada estatística. A estrutura relacional dos Arquivos de Versões segue o modelo descrito na seção 4.2.2. Quando este arquivo é visualizado no software TransCAD, o nome da dataview informa a estatística, o mês e o ano a que se refere. Já os atributos informam o tipo de objeto viário, o dia e o período horário a que os dados estão associados. Cada linha de registro na dataview diz respeito a um objeto viário.

Após a descrição da modelagem espaço-temporal e apresentação da arquitetura funcional da interface lógica, faz-se necessário apresentar e exemplificar o uso da referida interface. Estes temas são abordados na seção 4.4, descrita a seguir.