There are two basic approaches to provide the functionality, which is described in Chapter 8, and comply with the requirements listed in Section 8.1. They concern the location where the inference engine is placed, in terms of cooperation with the database and the user. These are: