Le système Kheops [3,5] a été proposé comme une nouvelle approche pour la construction de systèmes basés sur la connaissance, destiné plutôt à des applications temps réel. Dans Kheops, un ensemble de règles propositionnelles monotones est transformé en un réseau décisionnel optimisé, au comportement déterministe.
Une base de connaissances Kheops est formée par un ensemble de règles du type SI ... ALORS ... qui font des inférences sur un ensemble d'attributs. À partir de certains attributs donnés en entrée, le système Kheops déduit les valeurs des attributs en sortie.
Dans un premier temps, tous les enchaînements possibles des règles sont construits. La structure obtenue est ensuite optimisée et compactée. La finitude du réseau peut être assurée car les attributs ont logiquement des valeurs dans les ensembles finis.
Après une compilation, l'interprétation des règles est remplacée par une simple traversée d'un graphe. Un résultat fondamental pour des applications temps réel est que cette procédure est caractérisée par une borne supérieure du temps d'exécution, déterminée par le chemin de la racine du graphe à la feuille la plus profonde. Tous les attributs sont testés au maximum au moins une fois au long de n'importe quel chemin de la racine à un nud feuille, ce qui revient à dire que la complexité de la procédure dépend du nombre de paramètres d'entrée, et non du nombre ou du contenu des règles.
L'enchaînement des règles doit mener à la détermination de tous les attributs de sortie et aucun déclenchement de règles ne doit causer de contradiction. Cependant, pendant la compilation, les éventuelles configurations des entrées qui causent des inconsistences - un attribut, relié à un ensemble de valeurs possibles, nul - ou des incomplétudes - tous les attributs de sortie ne sont pas déterminés - sont identifiées. Il revient donc au programmeur de vérifier les situations causant ces problèmes, et de les réparer par ajout, suppression ou modification de règles.
Malgrè le coût exponentiel de la procédure de compilation, le système Kheops se présente comme une réponse aux deux principaux problèmes liés à l'efficacité d'un système de production déclaratif : l'accès aux conditions dans les règles est direct et le non - déterminisme du système est apparent. Il peut donc être utilisé dans des applications temps réel. La réactivité du système pour fournir les sorties à partir des entrées à chaque cycle permet de le classer dans l'approche synchrone.
Un autre avantage majeur de Kheops pour les applications temps réel est la structure C qu'il produit et qui peut être utilisée dans les applications à l'aide d'une bibliothèque de fonctions permettant de parcourir le graphe.