Are natural language specifications useful?
In my efforts to create a formal specification of the Arm architecture, I have
focussed on the parts written in “pseudocode”. I have reverse engineered the
ASL language hiding inside the pseudocode to create a formal, executable
specification that I can execute and test. In the process, I have tended to
ignore all the natural language prose that makes up the bulk of the 6,000 page
Arm Architecture Reference Manual. In defiance of Betteridge’s
Law, this
article is going to explain how I finally found a use for all that prose.