
162 Chapter 3
have to execute simultaneously may need to be separated into
different tasks. For more, see the next criterion.
Software functions that execute synchronously
This criterion has a number of restrictions on it. The functions
must always execute at the same time, never separately. The func-
tions must also be linear. This means no branches, computed
GOTOs, loops, or conditional statements—just a straight linear
sequence for both functions. This type of task can also be difficult
to implement because the two functions must be interleaved
together into a single set of states. As a result, it is only recom-
mended for functions that meet ...