Patent ID: 7979295

Claim:
A computer-program product tangibly embodied in a machine-readable storage device, the computer-program product comprising instructions that when executed cause a processor to perform operations to support user interaction with a computer system, the operations comprising: maintaining, in a computer system, a model comprising several concepts that each has at least one associated property, the model comprising any relationships existing between the several concepts, wherein a first state of the several concepts, properties and relationships reflects a real-world situation that involves a user of the computer system, the concepts of the model corresponding to respective real-world actors and items involved in the real-world situation; identifying, using the model, an achievable first subset of several predefined goals as being possible to accomplish based on the first state, each goal in the first subset associated with at least one predefined first action for accomplishing the goal, wherein any of the predefined goals that is not included in the achievable first subset is unachievable based on the first state of the model; making an output to the user that identifies at least a portion of the achievable first subset of the several predefined goals; receiving a first user selection of an output goal from the achievable first subset of the several predefined goals; in response to receiving the first user selection, performing in the computer system at least the first action for the first goal to progress towards accomplishing the first goal; in response to performing the at least first action, providing second concepts, properties and relationships; updating the first state of the model to a second state of the model based on the second concepts, properties and relationships, the second state of the model reflecting another real-world situation after the first action; and identifying, using the model, an achievable second subset of several predefined goals as being possible to accomplish based on the second state, each goal in the second subset associated with at least one predefined second action for accomplishing the goal.