While reading the code top-down, we always try to use our expectations regarding the application domain in order to predict what major functional elements of the code will be. Suppose that you have been asked in order to fix some errors within the software which controls the security system at a chemical plant. Explain any three major functional elements that you would expect to be present in such a system, and provide some examples of the kinds of functionality that would be offered by each element.