ABSTRACT

If you look through enough real-life code in use across the industry, you probably agree that the code pertaining to the reactive parts of various systems is riddled with a disproportionate number of convoluted conditional execution branches (deeply nested if-else or switch-case statements in C/C++). This highly conditional code (recall the Visual Basic Calculator from Chapter 1) is a testament to the basic characteristics of reactive systems, which respond to an input based on not only the nature of the input but the history of the system (i.e., on past inputs in which the system was involved).