As described in the previous chapter, the typical architecture of interactive software is event-driven architecture. In such an architecture, the software just waits for input commands, and it responds to such commands when they arrive. Until any command arrives, the software does nothing.
This architecture is efficient and responsive for many kinds of applications, but it is not optimal for some other kinds of applications, such as the following:
- Games with animations
- Continuous-simulation software
- Multimedia software
- Some kind of educational software
- Machine monitoring software (known as Human-Machine Interface (HMI) software)
- Systems monitoring software (known as Supervisory Control and Data Acquisition (SCADA) software)
In such systems, the software has always something to do, as in the following examples:
- In games with animations, such as sports games or combat games or racing games, both those against other human players and those...