Knowledge-based problem solving is characterized by the intensive use of highly domain specific elements of knowledge. The purpose of knowledge modeling approaches is to describe this knowledge and how it is being used in a particular problem in an implementation independent way. Different knowledge modeling approaches have proposed different categories of knowledge elements and different abstractions to describe them.
In this section we will present the reflective object-centered language Noos. First we will present the knowledge categories of our model in order to show the framework and motivations of design decisions in the Noos language. Then we will describe the Noos language and how the components of model are mapped to the Noos language, and finally we will explain the inference process in Noos.