Есть некая сетевая программа, у неё есть свой протокол (уровня приложения в модели OSI), которым она общается по сети со своими компонентами-экземплярами. В протоколе чуть больше 30 различных типов сообщений, которые посылаются при определённых событиях или в ответ на другие сообщения. Нужно протокол расширить, добавить некоторые фичи. Для этого хочется иметь в голове картинку всех взаимосвязей и условий, какое сообщение после чего посылается, до модификации и после.
Какие удобные способы таких представлений существуют? Конечный автомат? Нарисовать всё на бумажке и держать перед глазами?
Кто как решает похожие задачи?