A estrutura de classes tem como principal objetivo representar os elementos que compõem a rede, com seus respectivos atributos e métodos.
Atributos referem-se a características dos elementos representados por uma classe. Neles ficam registradas as variáveis de processo, os parâmetros operacionais e outras informações relacionadas a estes elementos.
Métodos consistem em procedimentos especificados para uma classe. Visam modelar as características funcionais dos elementos descritos pela classe e são definidos por meio de algoritmos. Executam a maioria das tarefas de natureza procedural no sistema especialista.
Métodos e atributos são recursos da orientação por objetos, que facilitam a organização do código e aumentam a modularidade do programa. De acordo com os princípios de herança e polimorfismo, os atributos e métodos definidos em uma classe são automaticamente estendidos para suas subclasses, bem como podem ser redefinidos nas subclasses para representar especializações.
O primeiro protótipo a utilizar a orientação por objetos como paradigma de representação de conhecimento foi o SEGRED-SCGAS 1.1, descrito no capítulo 4. O diagrama de classes detalhado da versão 1.1 é mostrado no Apêndice A.
A estrutura de classes final do sistema é o resultado de sucessivos incrementos realizados ao longo do desenvolvimento dos protótipos. O diagrama de classes do SEGRED-SCGAS 1.3 é mostrado de maneira simplificada na Figura 5.10. O detalhamento deste diagrama está apresentado no Apêndice B. COMPONENTE CITYGATE SUBSISTEMA VES TUBO ERP EM ERPM TRAMO FILTRO VALVULA
VBLOQAUT VREG VSEG
CLIENTE MEDIDOR EQUIPAMENTO AREA ESTACAO SRP SM
Figura 5.10 - Diagrama de classes do sistema
A seguir faz-se uma breve descrição das principais classes da estrutura proposta e seus atributos e métodos mais importantes:
Classe: COMPONENTE
Representa os elementos que compõem a estrutura geral de uma RDGN, quais sejam, tubos, estações e válvulas de bloqueio de linha. Uma característica comum a estes componentes é que são conectados uns aos outros, o que representa sua relação semântica dentro do contexto da rede. Estabelecida esta relação, métodos implementados na classe permitem calcular as variáveis de processo ao longo de toda a rede. Os objetos desta classe armazenam ainda o resultado da avaliação de sua situação operacional.
Atributos:
• compMontante – nome do componente conectado a montante.
• compJusante - nome do componente conectado a jusante.
Métodos:
• get-pressMontante – determina a pressão a montante, resgatando a pressão a jusante do componente que o antecede.
• get-pressJusante - contém procedimentos para determinar a pressão a jusante.
• get-vazaoMassica – contém procedimentos para determinar a vazão mássica de gás total no componente.
Classe: TUBO
É uma especialização da classe COMPONENTE. Representa os tubos que compõem RDGN, contendo informações sobre as suas características de projeto, parâmetros operacionais e variáveis de processo calculadas. Esta classe é imprescindível para representar o comportamento da rede e fazer a simulação do escoamento de gás. Em seus métodos, são definidos procedimentos para o cálculo da perda de carga no tubo.
Atributos:
• comprimentoPR – comprimento do tubo.
• diametro – diâmetro interno do tubo.
• fatorRugPR – fator de rugosidade que determina a resistência imposta ao escoamento de gás.
• pressaoMaxPR – pressão máxima de projeto admitida no tubo.
• temperatura – temperatura do gás no interior do tubo.
• vazãoVolumetrica – vazão volumétrica calculada no interior do tubo.
• velEscoamento – velocidade de escoamento calculada no interior do tubo.
• pressEntrada – pressão no início do tubo.
• pressSaida – pressão no final do tubo.
Métodos:
• get-pressJusante - este método é redefinido nesta classe, contendo o procedimento para o cálculo de perda de carga no tubo utilizando a rotina apresentada no Anexo 2.
Classe: ESTACAO
É uma especialização da classe COMPONENTE. Representa as estações contidas na RDGN: CITYGATE, ERP, EM e ERPM. Contém informações sobre a estação e a definição
dos subsistemas que a compõem. Em seus métodos, são definidos procedimentos para avaliar a situação das variáveis de processo em relação aos parâmetros operacionais da estação. Uma característica comum às estações é que estas são compostas por um subsistema de redução de pressão (SRP) e ou um subsistema de medição (SM), descritos em seguida.
Atributos:
• subsistemas – contém uma referência aos subsistemas que compõem a estação.
• pressMontanteCalc – valor de pressão a montante da estação, calculado pelo sistema.
Métodos:
• define-estado-velEscoamento – cria fatos que definem a situação da velocidade de escoamento na estrada da estação.
• define-estado-temperatura - cria fatos que definem a situação da temperatura do gás na saída da estação.
Classe: SRP
É uma especialização da classe SUBSISTEMA e representa subsistemas de redução de pressão, os quais são parte integrante de estações de redução de pressão da RDGN. Contém a definição dos tramos de redução que o compõem e as variáveis de pressão a montante e a jusante da estação. Em seus métodos são definidos procedimentos determinar a válvula reguladora que está operando na estação.
Atributos:
• tramos – contém uma referência aos tramos de redução que compõem o subsistema.
• pressMontante – valor de pressão a montante da estação.
• pressJusante – valor de pressão a jusante da estação.
Métodos:
• get-valvula-operando – define a válvula reguladora que está operando na estação.
Classe: SM
É uma especialização da classe SUBSISTEMA e representa subsistemas de medição, os quais são parte integrante de estações de medição da RDGN. Contém informações sobre o
medidor de vazão instalado na estação e outras variáveis de processo obtidas do sistema de aquisição de dados.
Atributos:
• medidor – referência ao medidor de vazão da estação.
• temperatura – temperatura lida no medidor.
• pressao – pressão lida no medidor.
• pressMedDia – pressão média das últimas 24h.
• vazao – vazão lida no medidor.
• vazaoNormMedDia – vazão média das últimas 24h.
• vazaoNormMedMes – vazão média dos últimos 30 dias.
Classe: EQUIPAMENTO
Representa os equipamentos que compõem uma estação, tais como MEDIDOR, VBLOQAUT, VREG, VSEG e FILTRO, definidos em especializações da classe EQUIPAMENTO. Nos objetos desta classe ficam armazenados os resultados do diagnóstico de falhas, feito pelo sistema especialista. Informações mais detalhadas dos equipamentos são definidas nas subclasses. Estas informações consistem em parâmetros operacionais dos equipamentos, como limites para a pressão, a temperatura e a vazão de trabalho, e outras características funcionais.
Existem, ainda, classes que servem para auxiliar na organização de informações e controle do processo de inferência. É o caso das classes GERENTE e ALARMES.
A classe GERENTE, Figura 5.11, contém informações que servem para auxiliar no controle dos passos de execução do sistema e facilitar a comunicação com a ferramenta de interface. Possui, por exemplo, a definição das escalas de valores para compor as legendas apresentadas na interface. Esta classe também é responsável por criar instâncias da classe ALARME.
+zerarAlarmes() +geraAlarme() +defineEscalaVazao() +defineEscalaPressao() +legendaDiametro +legendaVazao +legendaPressao +tempVB : Single +alarmes GERENTE
Figura 5.11 - Classe GERENTE
A classe ALARME, Figura 5.12, contém a definição dos campos que definem um alarme apresentado na interface. Uma instância desta classe é criada sempre que um problema na rede de distribuição for constatado através da análise das variáveis de processo. A criação de alarmes constitui uma etapa do processo de inferência do sistema especialista, sendo descrita com mais detalhes no item 5.4.3.
+componente : COMPONENTE +display : Single
+mensagem : String +gravidade : Single
ALARME
Figura 5.12 - Classe ALARME