Ситуация
NAGIOS -- инструмент сетевого мониторинга. Показывает состояние сети: доступность и состо отдельных абонентов, карту сети, связность, качество связи и т. п. До какого-то времени проект был известен как NetSaint. Новое название -- это аббревиатура (как водится, рекурсивная), которая рашшифровывается так: "Nagios Ain't Gonna Insist On Sainthood".
Карта сети, которую автоматически генерирует Nagios, бывает двух видов: плоская и трёхмерная. И та, и другая крата может составляться автоматически, при этом одноранговые узлы сети вытягиваются в длинную неудобочитаеммую цепочку. Однако и для той, и для другой карты можно задать координаты узлов вручную.
Задача
Дано
- Поэтажный план факультета (возможно, бумажный)
- Карта сети факультета (возможно, в непреобразуемом формате)
Требуется
Написать ПО, генерирующее карту (обе карты) для Nagios, на которую удобно было бы смотреть.
Пути решения
- Разработать форматы хранения поэтажного плана и карты сети, пригодные и для редактирования, и для разбора
- Разработать формат хранения координат узлов на карте, пригодный для редактирования (внедрить в поэтажный план?)
- Программа должна уметь работать с узлами, координатв которых не заданы, и предлагать задать их в первую очередь
Возможно, стоит посмотреть в сторону GraphViz. Возможно, стоит подумать над тем, что редактируемые координаты задаются для помещений поэтажного плана, а координаты узлов вычисляются на основании привязки узла к помещению.