Integración
con la herramienta HEIDI
La herramienta HEIDI (Herramienta
Inteligente para el Diseño de Redes de Comunicación Confiables,
[9]) fue desarrollada a través
de varios proyectos de investigación y de grado, con el fin de contar
con un software que permita testear y utilizar diversos algoritmos sobre
redes (principalmente aquellos relacionados con el tema de confiabilidad),
de forma sencilla. Las principales características de la misma son:
Desde el punto de vista del usuario:
-
Interfase gráfica que permite
dibujar la topología de la red utilizando el mouse.
-
Posibilidad de trabajar con redes orientadas
y no orientadas.
-
Posibilidad de asignar distintos valores
(capacidad, costo y confiabilidad) a nodos y aristas de forma sencilla.
-
Cálculo de parámetros
de redes como ser confiabilidad, vulnerabilidad, conectividad y otros.
-
Algoritmos de optimización de
redes.
Desde el punto de vista del programador:
-
La herramienta fue desarrollada en el
lenguaje C++ bajo ambiente Unix y en particular utiliza componentes del
entorno gráfico Open Windows.
-
Se cuenta con un diseño de la
estructura de módulos adecuado para realizar extensiones.
En nuestro caso particular la extensión
consistió en agregar un nuevo algoritmo para el cálculo de
la confiabilidad de una red a los ya existentes. A grandes rasgos, los
procedimientos necesarios para realizar la extensión fueron los
siguientes:
-
Agregar una nueva opción
en el menú de algoritmos.
-
Conectar la selección del
nuevo algoritmo con la invocación al mismo.
De esta forma se agregaron los algoritmos
GCE, MCC y RVR para el cálculo de la confiabilidad Rk
a los ya existentes. Los puntos principales de la integración fueron
los siguientes:
-
Se conectó (mediante herencia)
la jerarquía de clases C++ de nuestro trabajo con la jerarquía
de HEIDI.
-
Se escribió una operación
que realiza el pasaje de la estructura de datos del editor gráfico
a la nuestra.
-
Se agregaron los cambios en los archivos
originales de HEIDI para incluir la invocación a las nuevas funciones
de cálculo.
-
Se actualizó el makefile de la
aplicación.
-
Se actualizó el manual
de usuario.