Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Верификация данных в сетевом сообщении |
Автор: mathemat 12.8.2011, 21:47 |
В программу поступает сообщение, описывающее тактовое расписание работы устройства. Сообщение содержит поля, определяющие режимы работы устройства, и необходимые вспомогательные данные. Режимы по-крупному определяются несколькими полями. Причем значения полей могут быть несовместимы друг с другом. Например, за включение передатчика отвечает одно поле, а за включение приемника - другое. Неправильные значения могут привести к одновременному включению и того и другого - следствие - вероятное повреждение аппаратуры. Необходим механизм контроля совместимости данных структуры между собой. А именно:
Одно решение - написать соответствующий код, который будет проверять входящие сообщения по заранее определенному набору правил. Но сообщения могут меняться в процессе разработки устройства (и меняются). Каждый раз перекомпилировать код проблематично, т.к. он исполняется минимум на 4 типах процессоров и на нескольких различных платформах. Хотелось бы написать программу-верификатор, которая проверяла бы сообщения на основе правил, описанных в отдельном файле (едином для всех платформ). Соответственно, при изменении состава сообщения файл будет редактироваться. Вопрос: есть ли готовые средства, технологии или алгоритмы контроля совместимости данных. Речь не идет о повреждении в процессе передачи по сети. Контроль целостности и так присутствует. Речь идет об ошибках программистов, формирующих расписание. Они далеко не всегда знают об ограничениях. |