interactive services are provided by employing a modular approach to implementing interactive services with multiple interfaces . such an approach facilitates supporting natural language understanding interaction with users through use of interfaces that allow at least different ordering of inputs , and / or incomplete information , and / or correction of information , and / or the return of control to prior points in the service . this is realized , in an embodiment of the invention , by employing a single interactive service logic that uses “ reactive constraint graphs ”, i . e ., a form of event - driven graph , in which nodes contain a set of constraints on events . specifically , control progresses from a node to a derivative node , i . e ., “ child ”, only when all the constraints in the set on the node have been satisfied . a single set of constraints implicitly supports a significant number of the possible different orderings of inputs . incomplete information is supported because the constraints in the set are evaluated as soon as possible . correction of information is supported because information in the constraint set is updated upon receipt of new information . indeed , use of the reactive constraint graphs allows nodes to be labeled , and allows control to revert to a prior node , i . e ., ancestor , hence allowing the user to go back to prior points in the service . new inputs can be added to the constraint sets with a complexity polynomial of the order of the input set .