Automatic planning and cueing system and method
First Claim
1. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
- a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, said tasks farther comprising fixed tasks and floating tasks, the floating task having a duration that is less than the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for automatic planning and cueing includes a computer system having an input module, a storage module, a planning module and an output module. The planning module automatically detects and corrects scheduling or planning errors that may occur whenever the calendar data is modified. The system may implement a script which is a sequence of tasks that may include conditional and iterative task sequences. A script may also include choice statements that permit different resources or tasks to be automatically selected. The planning module uses the choices to generate plan variations in order to correct planning errors. Tasks may also include precondition and prerequisite task constraints that must be achieved before during or after the task is executed. The planning system automatically checks that all precondition and prerequisite task constraints are satisfied, and if they are not, then the system may correct the problem by adding, removing, replacing, or reordering the tasks in the calendar. The system may also include a cueing module wherein the user is reminded to start or stop a task, and means for receiving cue confirmation responses or cue override responses from the user. The planning module may automatically adjust the current plan after the user responds to the cue.
118 Citations
110 Claims
-
1. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, said tasks farther comprising fixed tasks and floating tasks, the floating task having a duration that is less than the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, said input module further comprising means for receiving condition data that describes the status of dynamic conditions about a task or the environment and wherein said script includes conditional and iterative control statements whereby a different sequence of tasks within the script will be executed depending on the value of the condition data;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
7. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, said scripts further comprising choice point control statements that describe a plurality of choices for resources and tasks whereby different resources or task sequences will be used within said script depending on the choice that is selected by the planning module;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
8. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, said scripts further comprising condition tests that determine the truth of conditions whereby the current plan fails if the condition fails;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
9. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein a task in a script further comprises another script so that a script is nested within another script;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
10. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein the scripts further comprise a precondition that must be achieved before a next task is completed and wherein said planning module further comprises means for automatically detecting and correcting errors in the current plan to detect ineffective tasks where the precondition is not true;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions; and
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan. - View Dependent Claims (11, 12)
-
-
13. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for correcting the sequence or timing of the tasks in the script to correct errors in the current plan; and
a cueing module having means for reminding a user when to start and stop tasks according to the current plan and means for receiving a cue response from the user in response to the cueing, wherein said cue response may override said current plan, and wherein the planning module further comprises means for automatically detecting and correcting plan errors caused by said cue overrides.
-
-
14. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein said tasks further comprise fixed tasks and floating tasks, the floating task having a duration that is less than the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan. - View Dependent Claims (15, 16, 17, 18)
-
-
19. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein said inputting further comprises receiving condition data that describes the status of dynamic conditions about a task or the environment and wherein said script includes conditional and iterative control statements whereby a different sequence of tasks within the script will be executed depending on the value of the condition data;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
20. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein said scripts further comprise choice point control statements that describe a plurality of choices for resources and tasks whereby different resources or task sequences will be used within said script depending on the choice that is selected by the planning module;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
21. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein said scripts further comprise condition tests that determine the truth of conditions whereby the current plan fails if the condition fails;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
22. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein a task in a script further comprises another script so that a script is nested within another script;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan.
-
-
23. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, wherein the scripts further comprise a precondition that must be achieved before a next task is completed and wherein said error detection and correction further comprises automatically detecting and correcting errors in the current plan to detect ineffective tasks where the precondition is not true;
storing a current plan comprising the plurality of task descriptions; and
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan. - View Dependent Claims (24, 25)
-
-
26. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes in a computer system having an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions at the input module, each task description describing a task of the user and including a script comprising a programmed sequence of tasks;
storing a current plan comprising the plurality of task descriptions;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning further comprising correcting the sequence or timing of the tasks in the script to correct errors in the current plan; and
reminding a user when to start and stop tasks according to the current plan and receiving a cue response from the user in response to the cueing, wherein said cue response may override said current plan, and wherein the error correction further comprises automatically detecting and correcting plan errors caused by said cue overrides.
-
-
27. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system;
a second electronic system comprising a second input module and a second output module;
said first and second input modules further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user, wherein said tasks further comprise a script comprising a programmed sequence of tasks and wherein a task in the script further comprises a script so that a script is nested within another script;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified; and
said second output module further comprising means for presenting the calendar based on the corrected current plan. - View Dependent Claims (28, 29, 30, 31)
-
-
32. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system;
a second electronic system comprising a second input module and a second output module;
said first and second input modules further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user, wherein said tasks further comprise fixed tasks and floating tasks, the floating task having a duration that is less than or equal to the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified; and
said second output module further comprising means for presenting the calendar based on the corrected current plan. - View Dependent Claims (33, 34, 35, 36)
-
-
37. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system;
a second electronic system comprising a second input module and a second output module;
said first and second input modules further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user, wherein said input modules further comprises means for receiving condition data that describes the status of dynamic conditions about a task, wherein said tasks further comprises a script comprising a programmed sequence of tasks and wherein said script includes conditional and iterative control statements whereby a different sequence of tasks within the script will be executed depending on the value of the condition data;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified; and
said second output module further comprising means for presenting the calendar based on the corrected current plan.
-
-
38. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system;
a second electronic system comprising a second input module and a second output module;
said first and second input modules further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user, wherein said tasks further comprise a script comprising a programmed sequence of tasks and wherein the scripts further comprise a precondition that must be achieved before a next task is completed and wherein said planning module further comprises means for automatically detecting and correcting errors in the current plan to detect ineffective tasks where the precondition is not true;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified; and
said second output module further comprising means for presenting the calendar based on the corrected current plan. - View Dependent Claims (39, 40)
-
-
41. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system and a second electronic system comprising a second input module and a second output module, the method comprising:
-
receiving a plurality of task descriptions using the first and second input modules, each task description describing a task of the user, wherein said tasks further comprise a script comprising a programmed sequence of tasks and wherein a task in the script further comprises a script so that a script is nested within another script;
storing a current plan comprising the plurality of task descriptions using the storage module;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified using the planning module; and
presenting the calendar based on the corrected current plan using the second output module. - View Dependent Claims (42, 43, 44, 45)
-
-
46. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system and a second electronic system comprising a second input module and a second output module, the method comprising:
-
receiving a plurality of task descriptions using the first and second input modules, each task description describing a task of the user, wherein said tasks further comprise fixed tasks and floating tasks, the floating task having a duration that is less than or equal to the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
storing a current plan comprising the plurality of task descriptions using the storage module;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified using the planning module; and
presenting the calendar based on the corrected current plan using the second output module. - View Dependent Claims (47, 48, 49, 50)
-
-
51. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system and a second electronic system comprising a second input module and a second output module, the method comprising:
-
receiving a plurality of task descriptions using the first and second input modules, each task description describing a task of the user;
storing a current plan comprising the plurality of task descriptions using the storage module;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified using the planning module; and
presenting the calendar based on the corrected current plan using the second output module; and
receiving condition data in the input modules that describes the status of dynamic conditions about a task and wherein said script includes conditional and iterative control statements whereby a different sequence of tasks within the script will be executed depending on the value of the condition data.
-
-
52. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a first electronic system comprising an input module, a storage module, a planning module and an output module for communicating with a second electronic system and a second electronic system comprising a second input module and a second output module, the method comprising:
-
receiving a plurality of task descriptions using the first and second input modules, each task description describing a task of the user, wherein said tasks further comprise a script comprising a programmed sequence of tasks, wherein the scripts further comprise a precondition that must be achieved before a next task is completed and wherein said planning module further comprises automatically detecting and correcting errors in the current plan to detect ineffective tasks where the precondition is not true;
storing a current plan comprising the plurality of task descriptions using the storage module;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified using the planning module; and
presenting the calendar based on the corrected current plan using the second output module. - View Dependent Claims (53, 54)
-
-
55. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, each script further comprising choice point selection statements that describe a plurality of choices for resources and tasks whereby different resources or tasks are used within said script depending on the choice that is selected by the planning module;
said storage module further comprises means for receiving said task descriptions from said input module and means for storing a current plan comprising the plurality of task descriptions;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for choosing a particular choice to select one or more of a particular task and a resource to correct errors in the current plan; and
said output module further comprising means for presenting the calendar based on the current plan. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a computer system comprising an input module, a storage module, a planning module and an output module, the method comprising:
-
receiving a plurality of task descriptions, each task description describing a task of the user and including a script comprising a programmed sequence of tasks, each script further comprising choice point selection statements that describe a plurality of choices for resources and tasks whereby different resources or tasks are used within said script depending on the choice that is selected by the planning module;
storing a current plan comprising the plurality of task descriptions;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising choosing a particular choice to select one or more of a particular task and a resource to correct errors in the current plan; and
presenting the calendar based on the current plan. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78)
-
-
79. An intelligent planning system for calendars for dynamically detecting and correcting plan errors caused by calendar changes, comprising:
-
a computer system comprising an input module, a storage module, a planning module and an output module;
said input module further comprising means for receiving a plurality of task descriptions, each task description describing a task of the user and means for receiving condition data that describes the status of dynamic conditions about one or more of a task and the environment;
said storage module further comprises means for receiving said task descriptions from said input module, means for storing a current plan comprising the plurality of task descriptions and means for receiving said dynamic condition data and said task description further comprising condition data describing conditions that must be true at times including one of before, during and after the task is executed;
said planning module further comprising means for automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising means for detecting ineffective tasks where the conditions are not true; and
said output module further comprising means for presenting the calendar based on the current plan information. - View Dependent Claims (80, 81)
-
-
82. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes using a computer system comprising an input module, a storage module, a planning module and an output module, comprising:
-
receiving a plurality of task descriptions, each task description describing a task of the user and means for receiving condition data that describes the status of dynamic conditions about one or more of a task and the environment;
storing a current plan comprising the plurality of task descriptions and receiving said dynamic condition data and said task description further comprising condition data describing conditions that must be true at times including one of before, during and after the task is executed;
automatically detecting and correcting errors in the current plan that occur whenever the calendar is modified, the planning module further comprising detecting ineffective tasks where the conditions are not true; and
presenting the calendar based on the current plan information. - View Dependent Claims (83, 84)
-
-
85. An intelligent planning method for calendars for dynamically detecting and correcting plan errors caused by calendar changes within a computer system having an input module, a storage module, a planning module and an output module, the method comprising:
-
receiving a plurality of task descriptions using the input module, each task description describing a task to be performed by the user of the system and including fixed tasks and floating tasks, the floating task having a duration that is less than the time period between an earliest start time and a latest stop time, wherein a planned start time of the floating task is determined by said planning module and is within the interval between the earliest start time and the latest stop time of the floating task minus the duration of the floating task;
storing a current plan comprising the plurality of task descriptions in the storage module;
automatically detecting and correcting errors in the current plan using the planning module that occur whenever the calendar is modified further comprising adjusting one or more of the planned start time and the duration of the floating task to correct errors in the current plan; and
presenting the calendar based on the current plan information. - View Dependent Claims (86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110)
wherein said error correction further comprises correcting ineffective tasks by one of adding new tasks to the current plan to achieve said conditions, and one of replacing the ineffective task in said current plan with a new task, removing the ineffective task from the current plan and reordering the current plan. -
90. The intelligent planning method of claim 86, wherein the task description further comprises data describing one or more prerequisite tasks that must be completed before the task can be executed, and wherein said error detecting further comprising detecting ineffective tasks which comprises detecting tasks that are not preceded by the prerequisite tasks in said current plan and correcting ineffective tasks comprising adding said prerequisite tasks into said current plan, replacing the ineffective task in said current plan, removing the ineffective task from the current plan and reordering the tasks in the current plan.
-
91. The intelligent planning method of claim 85 further comprising reminding a user when to start and stop tasks using a cueing module according to the current plan and receiving a cue response from the user in response to the cueing, wherein said cue response may override said current plan, and further comprising automatically detecting and correcting plan errors caused by said cue overrides.
-
92. The method of claim 91, wherein said planning further comprises automatically detecting and correcting errors in the current plan caused by the cue override in real-time before, during and after cueing the user to start and stop each step in said current plan.
-
93. The intelligent planning method of claim 85, wherein said planning further comprises generating one or more competing plan variations each having a modification to the current plan including one or more of different planned start time, different duration, different latest stop time, different priority, and adding and replacing different tasks and different resources, determining a reward value for each plan variation, selecting a plan variation with the highest determined reward value, and updating said current plan with the selected plan variation.
-
94. The intelligent planning method of claim 85, wherein said task comprises a script including a programmed sequence of fixed tasks, floating tasks, and other scripts.
-
95. The intelligent planning method of claim 94 further comprising receiving condition data that describes the status of dynamic conditions about a task and wherein said script includes conditional and iterative control statements whereby a different sequence of tasks within the script will be executed depending on the value of the condition data.
-
96. The intelligent planning method of claim 95, wherein said scripts further comprise condition tests that determine the truth of conditions whereby the current plan fails if the condition fails.
-
97. The intelligent planning method of claim 94, wherein said scripts further comprise choice control statements that describe a plurality of choices for resources and tasks whereby different resources or tasks will be used within said script depending on the choice that is selected by the planning module.
-
98. The intelligent planning method of claim 94, wherein said scripts further comprise condition tests that determine the truth of conditions whereby the current plan fails if the condition fails.
-
99. The method of claim 85 further comprising simulating the execution of the current plan to generate simulated plan outcomes, detecting and correcting errors in the current plan by analyzing the simulated plan outcomes, and updating said current plan based on the selected plan variation.
-
100. The intelligent planning method of claim 85 further comprising simulating the execution of one or more plan variations of the current plan to generate simulated plan outcomes and reward values for each plan variation, detecting and correcting errors in the plan variations by analyzing the simulated plan outcomes for different plan variations, selecting the plan variation with the highest reward value, and updating said current plan with the selected plan variation.
-
101. The intelligent planning method of claim 85 further comprising using an execution module and wherein said input further comprises receiving a goal list;
- said storage further comprises receiving said goal list from said input to generate a current plan having one or more tasks;
said planning further comprises automatically detecting and correcting errors in the current plan that may occur whenever a plan trigger event occurs and generating plan rules that describe when to start and stop each task in the current plan, said plan rules comprising an antecedent clause describing the antecedent conditions necessary to start and stop a task and a consequent clause identifying the action to be taken, each plan rule directing the execution module to start, stop, or modify a task when said antecedent conditions are true; andsaid execution comprises starting and stopping a task according to said plan rules by presenting cues to the user to start and stop goals when the antecedent clause of a plan rule is true, and receiving a plurality of cue responses from the user, the cue responses overriding the current plan by causing a plan trigger event.
- said storage further comprises receiving said goal list from said input to generate a current plan having one or more tasks;
-
102. The intelligent planning method of claim 101 further comprising a script library containing a plurality of scripts, each script comprising a programmed sequence of one or more tasks and scripts, wherein said planning further comprises executing said scripts by executing the programmed sequence of one or more tasks and scripts.
-
103. The intelligent planning method of claim 102, wherein said input further comprises receiving condition data that describes the status of dynamic conditions about a task, the dynamic condition describing conditions which are not known at the time of the creation of the current plan and wherein said scripts further comprise one of conditional and iterative control branches of task sequences within in the script whereby a different sequence of tasks within the script will be executed depending on the value of the condition data.
-
104. The intelligent planning method of claim 101, wherein said scripts further comprise a choice point comprising a set of competing choices for resources or tasks to be used within a script such that one resource or task must be selected from the choice set before the next step in the script can be executed, the consequent clause of the plan rule further directing the execution module to choose the resources or tasks selected by the planning module.
-
105. The intelligent planning method of claim 101, wherein said input further comprises receiving condition data that describes the status of dynamic conditions about a task, the dynamic condition describing conditions which are not known at the time of the creation of the current plan, wherein the plan trigger events further comprise a goal changed event, a condition changed event, a deadline near event and an execution failure event, said input further comprising detecting a changed goal and for sending a goal-changed message to said plan module when the user has changed the goal list and detecting a changed condition event and for sending a condition-changed message to said plan module when a condition changes, and
said execution further comprising detecting a changed condition and for sending a condition-changed message to said planning module, detecting an approaching deadline and for sending a deadline-near message to said plan module, and detecting that a task has failed if a condition fails prior, during or after execution and for sending an execution failure message to said plan module. -
106. The intelligent planning method of claim 101, wherein said planning further comprises simulating the execution of the current plan and a plurality of plan variations in the simulation mode to generate simulated plan variation outcomes including a reward value, each plan variation having one or more modifications to the current plan including different actual start time, different duration, different latest stop time, different priority, and adding and replacing different tasks and different resources, detecting and correcting errors in the plan variations by analyzing the simulated plan variation outcomes for different plan variations, selecting the plan variation with the highest expected reward value, and updating said current plan with the selected plan variation.
-
107. The intelligent planning method of claim 101, wherein the plan error detection further comprises detecting one or more of interfering goals, ineffective goals and irrelevant goals and, in response to the detection of these plan errors, changing the plan rules that comprises one of modifying the goal description, adding a new goal to the current plan, removing a goal from the current plan, replacing a goal within the current plan with a new goal and asking the user to select the option to modify the current plan.
-
108. The intelligent planning method of claim 107, wherein said task description further comprises a plurality of goal properties including an earliest start time, a latest stop time, a duration, a planned start time, and a reward value, the task descriptions including a fixed task and a floating task, the fixed task having a duration equal to the time period between the earliest start time and latest stop time and the floating task having a duration equal to less than the time period between the earliest start time and the latest stop time, wherein the planned start time of said fixed task is the same as the earliest start time of the fixed task and the planned start time of the floating task is determined by said planning module and is within the interval between earliest start time and the latest stop time of the floating task minus the duration of the floating task.
-
109. The method of claim 107, wherein said detecting interfering goals includes two or more goals in the current plan with overlapping intervals between the planned start time and the stop time and goals competing for the same resource, correcting interfering goals by shifting the planned start time of a floating goal so that the start and stop times of the goals no longer overlap or the competing resource is available, detecting and correcting shifted goals that are delayed beyond their latest stop times, and further comprising shifting the start time of the goal wherein the shifting of the start time changes the sequence of goals in the current plan.
-
110. The intelligent planning method of claim 107, wherein said input further comprises receiving condition data that describes the status of dynamic conditions about a goal, wherein said storage further comprises receiving said dynamic condition data and said goal description further comprising condition data describing conditions that must be true before, after or during a goal can be achieved, and wherein detecting ineffective goals comprises detecting goals with conditions that are not true prior or after execution of the goal and goals that are not preceded by its preconditions, and
wherein said correcting ineffective goals comprising one of adding new goals to the current plan to achieve said conditions and replacing the ineffective goal in said current plan with a new goal.
-
Specification