The discipline that addresses the planning and programming tasks of building, testing, and deploying knowledge-based systems. It includes the development of expert systems, including knowledge acquisition and knowledge representation.
The building, maintaining and development of knowledge-based systems is the main objective of knowledge engineering (KE). It has a great deal in common with software engineering, and is related to many computer science domains such as artificial intelligence, databases, data mining, expert systems, decision support systems and geographic information systems. Knowledge engineering is also related to mathematical logic, as well as strongly involved in cognitive science and socio-cognitive engineering where the knowledge is produced by socio-cognitive aggregates (mainly humans) and is structured according to our understanding of how human reasoning and logic works.