Существует ли формальный/традиционный способ описания протоколов обмена данными/командами? Например, для языков программирования существует несколько подходов к описанию синтаксиса и семантики (например: http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form).Формальный способ описания протоколов
Подход, который я ищу, довольно утилитарный (в отличие от академического). Мне нужно что-то для повседневного использования для описания обмена данными при работе над спецификациями, просто для передачи/распространения идеи другим. Итак, если есть что-то, что не признано де-факто стандартом, но полезно - все в порядке.
Я взглянул на диаграммы последовательности UML и «Формальные методы для спецификации и проверки протокола связи, Carl A. Sunshine, 1979». В прежнем методе отсутствует описание «полезных нагрузок» (по крайней мере, из того, что я понял), в то время как последний является скорее учебным документом, описывающим соображения, а не методы (хотя я все еще просматриваю эту статью).
Заранее спасибо
BNF паршивый способ модель протоколов. Это не модель государства, черт возьми. (Возможно, вам удастся определить строки, идущие туда и обратно, но большинство BNF не имеет контекста, что означает «не слишком много памяти о прошлом (левый контекст)» .Она могла бы использоваться в структуре сообщений модели. Но вы, вероятно, хотите более сложную модель, связанная с ограничениями, проверит XML-схемы как более сложный инструмент моделирования данных, который является надмножеством BNF. –
Я сомневаюсь, что Вирт ограничил определение протокола тем, что может быть захвачено EBNF, больше, чем он запретил объявление - использовать правила и декларации типов с его языков программирования. Но ... хорошо видно. (И я обязательно посмотрю на XSD когда-нибудь ... :-) –