Thursday, August 27, 2009

State machines

Way too often I see new implementers trying to take shortcuts when implementing the various BACnet state machines (Clause 5 Application Layer, Clause 9 MS/TP, and especially Clause 10 PTP). They attempt to infer the intent of the machine and implement their inference instead.

Such attempts frequently, if not always, end in failure. It's not that hard to implement straight from the standard. Perhaps it would help to have an informative annex that provides pseudo-code or actual code, such as was done for the CRC calculations in Annex G.

I wonder if the committee would entertain, or be merely entertained by, such examples written in FORTRAN IV -- or IBM 360 assembly?

1 comment:

  1. speaking as a former committee member, I'd say neither! LOL