La garantie de temps de réponse est une des caractéristiques essentielles d'un système temps réel. Dans ce cadre, nous avons développé deux modèles de raisonnement progressifs : GREAT (Guaranteed REAsoning Time) et REAKT (REAl time Knowledge Tool). Tous deux reposent sur une résolution progressive d'un problème de façon qu'une première solution soit disponible rapidement. Ensuite celle-ci est affinée par une succession d'étapes qui produisent chacune un résultat de qualité croissante. Ainsi, si le traitement est interrompu, le résultat de l'étape précédente peut être utilisé.
GREAT [108] est un modèle qui s'appuie sur un langage de représentation à base de règles de production manipulant des concepts du type (attribut, objet, valeur, granularité, précision). La granularité représente une mesure du niveau de détail d'un attribut donné qui évolue en fonction du contexte de travail. Elle permet ainsi de classer les connaissances en fonction du niveau de détail que l'on souhaite obtenir grâce à une organisation des données en régions et de la base de connaissances en paquets de règles.
L'organisation hiérarchique de la résolution d'un problème dans GREAT permet un traitement progressif qui peut être interrompu à tout moment dès lors qu'un premier niveau est réalisé. Le modèle GREAT a été étendu à la résolution d'un problème multi-agents et intégré dans l'architecture temps réel du modèle de société de spécialistes RT-SOS.
REAKT: le modèle de conduite de raisonnement de REAKT [90] s'appuie sur une architecture organisée en deux niveaux. Un premier niveau est composé d'agents périodiques ou sporadiques, caractérisés par un temps d'exécution connu avec précision. Un ordonnanceur détermine à la compilation un enchaînement des agents qui assure le respect des dates limites d'exécution. La technique d'ordonnancement utilisée permet de dégager des périodes de temps pendant lesquelles le processeur n'est pas utilisé. Ce temps est mis à profit pour exécuter les agents de second niveau qui sont destinés à améliorer les résultats des agents de premier niveau et à réaliser des tâches non temps réel.
L'exécution des agents de second niveau bien que n'étant pas critique d'un point de vue temps réel ont cependant un rôle déterminant pour les performances global du système. Il est donc important d'optimiser leur mise en oeuvre. Sachant qu'on ne connaît pas a priori ni la durée d'un agent de niveau 2, ni le temps machine qu'on peut lui allouer nous avons développé un modèle d'agent spécifique Progress qui permet une exécution anytime des agents bien que ceux-ci soient décrits en terme de composantes discrètes (non interruptible).