Description Logics are used to solve a wide variety of problems, with configuration applications being some of the largest and longest-lived. There is concrete, commercial evidence that shows that DL-based configurators have been successfully fielded for over a decade. Additionally, it appears that configuration applications have a number of characteristics that make them well-suited to DL-based solutions. This chapter will introduce the problem of configuration, describe some requirements of configuration applications that make them candidates for DL-based solutions, show examples of these requirements in a configuration example, and introduce the largest and longest-lived family of DL-based configurators.
In order to solve a configuration problem, a configurator (human or machine) must find a set of components that fit together to solve the problem specification. Typically, that means the answer will be a parts list that contains a set of components that work together and that the system comprising the components meets the specification. This task can be relatively simple, such as choosing stereo components in order to create a home stereo system. The problem can also be extremely complex, such as choosing the thousands of components that must work together in order to build complicated telecommunications equipment such as cross-connect devices or switches.
One important factor that makes configuration challenging is that making a choice for one component typically generates constraints on other components as well. For example, a customer who chooses a receiver that only supports up to four speakers may not conveniently support a surround sound system with a subwoofer (since this would require more than four speakers).