Использование B-метода для проверки структурированных данных

Я пытаюсь использовать B-метод как механизм формального указания структурированных данных.

Как в функции, которая анализирует блок байтов, представляющий некоторые данные. Все примеры, которые я могу найти, представляют собой некоторую форму последовательного конечного автомата (система поездов, система управления и т. д.), определяемую как машины (для которых, как я понимаю, в основном используется B-метод).

В качестве примера я пытаюсь формально указать синтаксический анализ DNS-пакета. Таким образом, можно частично или частично доказать, что функция синтаксического анализа удовлетворяет определенным условиям, поэтому можно сказать, что пакет искажен или нет.

Я попробовал инструмент Atelier, основанный на QT, как подход к реализации чего-то подобного, но, похоже, все это предназначено для машин упорядоченных событий.

1 ответ

Для таких целей в промышленности использовался метод B. Материалов в открытом доступе не так много. Для вдохновения вы можете взглянуть на набор инструментов Systerel S2OPC OPC UA (https://gitlab.com/systerel/S2OPC).

Есть некоторые разработки B вbsrcпапка.

Другие вопросы по тегам