A method and system for constructing rule-based intelligent agents that
process events on behalf of one or more users. The intelligent agents have
event-generating modules that supply events to be processed, and
event-processing modules that process the events by evaluating rules. Each
event-processing module of the agent includes multiple sets of rules, one
or more such sets for each user of the agent. A selection key related to
the user is associated with a rule set, and for event-generating modules a
selection key indicates the user on whose behalf the event was generated.
When the event-processing module receives an event with a selection key,
the module locates and evaluates the rule set(s) which have a matching key
to launch the corresponding actions. Addition, replacement or removal of
rule sets for a user is made by temporarily suspending the initiation of
new events for the user designated by the rule set's selection key;
completing all in-progress events for that user; effecting the
modification to the rule set within the event-processing modules; and the
resuming the initiation and processing of events for the user. While the
rule sets are being modified for a particular user, event generating and
processing continues unimpeded for the other users of the agent.
Une méthode et un système pour construire les agents intelligents basés sur les règles ces événements de processus au nom d'un ou plusieurs utilisateurs. Les agents intelligents ont événement-produire des modules qui fournissent des événements à traiter, et événement-traiter les modules qui traitent les événements en évaluant des règles. Chaque module detraitement de l'agent inclut les ensembles de règles multiples, un ou plusieurs tels ensembles pour chaque utilisateur de l'agent. Une clef de choix liée à l'utilisateur est associée à un ensemble de règle, et pour les modules événement-produisants une clef de choix indique l'utilisateur lequel au nom l'événement a été produit. Quand le module detraitement reçoit un événement avec une clef de choix, le module localise et évalue le set(s) de règle qui a une clef assortie au lancement les actions correspondantes. L'addition, le remplacement ou le déplacement des ensembles de règle pour un utilisateur est faite en suspendant temporairement le déclenchement de nouveaux événements pour l'utilisateur indiqué par la clef de choix réglée de règle ; exécution de tous les événements en cours pour cet utilisateur ; effectuer la modification à la règle a placé dans les modules detraitement ; et la reprise du déclenchement et traitement des événements pour l'utilisateur. Tandis que les ensembles de règle sont modifiés pour un utilisateur particulier, l'événement se produisant et traitant continue sans difficulté pour les autres utilisateurs de l'agent.