domingo, 15 de março de 2009

Informatizando os Cálculos de Peso e Balanceamento (2)

Começamos a desenvolver o SimpleLoadsheet no final de setembro de 2008 e terminamos o protótipo no final de janeiro de 2009. Foram quatro meses, portanto, durante os quais implementamos funcionalidades equivalentes ao eLoadsheet da Jeppesen. Isto só foi possível porque trabalhamos durante um período anterior, bem mais longo, na modelagem orientada a objetos da aplicação. Um único modelo foi construído de acordo com os princípios definidos na abordagem conhecida como Domain Driven Design. Deste modelo, que é o modelo de objetos, foi derivado automaticamente o modelo de dados por meio de mapeamento objeto-relacional.


O diagrama a seguir mostra o ciclo de vida da loadsheet. Este ciclo pode ser repetido várias vezes até que seja emitida a loadsheetdefinitiva para um voo.




Ciclo de Vida

Na etapa de especificação o despachante informa os dados do voo (data, no. do voo, origem, destino(s) e matrícula da aeronave), assim como o carregamento (distribuição de passageiros, bagagem e carga pelos compartimentos da aeronave). A página de carregamento será apresentada apenas se a aeronave designada para o voo estiver cadastrada como parte da frota da companhia aérea. As informações relativas ao carregamento são então verificadas de acordo com as especificações técnicas da aeronave. Durante a verificação, valores superiores às capacidades máximas são bloqueados imediatamente.


Na etapa de cálculo são aplicadas as regras de peso e balanceamento com o objetivo de garantir que os pesos máximos de decolagem, pouso e zero-combustível, assim como os respectivos centros de gravidade (CG), permaneçam dentro dos limites da aeronave. Caso algum valor fique fora dos limites o despachante será obrigado a retornar à etapa de especificação.


Com o objetivo de destacar quais são os valores que se encontram fora dos limites, o diagrama de limites de CG, ou envelope de CG, é gerado na etapa de cálculo. Para gerar dinamicamente o diagrama usamos a biblioteca charts4j, a qual permite o acesso à Google Chart API a partir de código escrito em Java. A seguir são apresentados dois exemplos do diagrama: à direita, com os CGs dentro dos limites e à esquerda, fora dos limites.




Se todos os valores estiverem dentro dos limites o despachante passa à etapa de emissão, onde a loadsheet é gerada e disponibilizada para impressão. A qualquer momento o despachante pode voltar à etapa de especificação, ajustar os valores e/ou a distribuição do carregamento e emitir uma nova edição da loadsheet.


Tecnologia

SimpleLoadsheet foi desenvolvido em Java SE como uma aplicação web baseada em servlets. O servidor web é o Apache Tomcat e o banco de dados, MySQL Community Server. O mapeamento objeto-relacional usa a JPA implementada pelo Hibernate, e a interface com o usuário, HTML puro acoplado ao Apache Wicket.


A apresentação que incluímos abaixo mostra as páginas da aplicação, desde o login até a geração da loadsheet para impressão. Novamente, comentários e perguntas serão sempre bem-vindos.

SimpleLoadsheet, Part 2
View more presentations from c_belderrain.

Escrito por João Carlos Medau e Cristina Belderrain

Nenhum comentário: