Я зараз розробляю модуль управління сигналами та маршрутизацією для інтегрованої аудіовізуальної системи і розробляю її з метою бути максимально гнучким у різних мережах розподілу сигналів. Завдання модуля полягає в обробці маршрутизації через ряд складених матричних комутаторів 1 та обробці необхідного перетворення формату.
Найкраще рішення, яке я досліджував на даний момент, - це нанести на карту мережі графік з дискретними вершинами для кожного типу сигналу, що підтримується комутаторами, і які потім з'єднуються через вузли, що представляють відеопроцесори, які обробляють перетворення формату.

Кольори представляють формати сигналів. Круглі вузли - це або комутатори, джерела або мийки. Квадратні вузли - це відеопроцесори, які виконують перетворення формату.
Звідти я можу використовувати реалізацію алгоритму Dijkstra для визначення шляху, який повинен бути сформований, щоб отримати вхід X до виходу Y. Це повинно дозволяти передавати дані про конфігурацію вводу / виводу всіх комутаторів та процесорів і модуль відповідно адаптується.
Це підходяще рішення чи є альтернативний підхід, який, можливо, варто вивчити?
1 aka "перекладина перемикача", відеороутер з M входом x N виходів, який підтримує з'єднання один на багато. Кожен фізичний пристрій може обробляти декілька форматів сигналів, а може і не може здійснювати перетворення будь-якого формату.
редагувати: Як згадував Петер Тьорек, графік не обов'язково буде деревом, діаграма - простий приклад для ілюстрації ідеї. При реалізації в реальному світі можуть існувати декілька шляхів, які пропонують різний рівень визначення (DVI> VGA> компонент> композит), який я планував представляти із зважуванням краю.
редагувати 2: Ось трохи більш вичерпний приклад із вказаною спрямованістю та відображенням мережі, що складається з двох типів сигналу. Початковий приклад був трохи змінений, так що кожен вхід і вихід на пристрої визначається як дискретний вузол, оскільки це забезпечить дані, необхідні для управління маршрутизацією / вибором матриці.
