Researchers have been working for many years on formal specification of protocols. Many languages or systems have been developed. Today, for various reasons (some of them being good reasons), these language or systems are not used in RFCs. And there is no reason to believe that the IETF can do better than what these researchers did.
For the description of state machines ("description" and not "specification", which would be more ambitious), there was was two choices:
The second solution was choosen, which looked like more in the spirit of IETF.
So, many things are missing for Cosmogol such as timers (see the SIP state machine in RFC 3261, which makes an heavy use of timers) or protocol behavior like TCP slow start. It is not a bug, it is a feature.