EXEC's job can be divided into two parts: executing the plan and recovering from failures.
To illustrate how EXEC accomplishes these two tasks, we will use the example of DS1 conducting an OpNav activity. During its mission, DS1 performs a task called autonomous optical navigation (OpNav) to determine its position in space. During this process, DS1's Miniature Camera and Imaging System (MICAS) takes several photographs of specific asteroids.
In order for this activity to occur, first EXEC must obtain the plan for a certain period of time from Planner/Scheduler (PS.) EXEC's request for a new plan is actually programmed in at the end of the previous plan. The plan comes in the form of timelines, filled with "tokens". A token is just any behavior or action in the plan. There is a separate timeline for each category of tasks.
The tokens in the plan need to be "decomposed" or broken down into smaller more specific tasks. For example, the first token is to turn MICAS on. Many things must happen in order for this to occur. EXEC must check that MICAS electronics are on, that the power distribution unit is feeding MICAS power, and that the MICAS switch is healthy, in addition to turning the switch to the "on " position. EXEC uses its knowledge of the status of the spacecraft to decide which actions are necessary. For example, if MICAS is already on, it doesn't command the switch again to go to the "on" position. Sometimes, there is more than one way to decompose a particular token. EXEC uses information on the status of the spacecraft and what resources are available when deciding the most efficient method. For example, there are two radio signal amplifiers. If one amplifier is already on or if one has a problem, EXEC will take that information into account when deciding which amplifier to use.
For each token in the plan or the tasks resulting from decomposing the token, EXEC commands the relevant spacecraft part to act. For example, in the plan above, the first token on the MICAS mode timeline is "turning on." EXEC's job is to send a command to the MICAS system to turn the switch to the "on" position. There is always a token near the end of the schedule horizon to tell the planner to generate a new plan, so as soon as EXEC is done executing the current plan, there will be another plan ready to be executed.
For each token in the plan, or the tasks resulting from decomposing the token, decomposed tasks, EXEC commands the relevant spacecraft part to act. For example, in the plan above, the first token on the MICAS mode timeline is "turning on". EXEC's job is to send a command to the MICAS system to turn the switch to the "on" position. As stated above, here is always a token near the end of the schedule horizon to tell the planner to generate a new plan, so as soon as EXEC is done executing the current plan, there will be another plan ready to be executed.
The plan dictates that certain tokens must occur or cannot occur at certain times relative to other tokens. For example, before MICAS can take a picture, it must be turned on and in the "ready" mode and the attitude control system must not be turning. EXEC makes sure all such preconditions are met before commanding the action. To be as time efficient as possible, EXEC will send the command for an action as soon as all the preconditions are met, so the plan moves along quickly and no time is wasted.
PS generates "flexible" plans. They are called flexible because the plan does not dictate exactly when each action must take place, but instead describes a broad window of time within which the action must take place. It is often unpredictable how much time an action will take, so when creating a plan, to be safe, it is assumed that it will take longer than expected. If the plan was not flexible, and an action took less time than expected, the spacecraft would be doing nothing until the time at which the next event was scheduled. With flexible windows of time, if an action takes less time than expected, EXEC can move on to the next token.
As EXEC is executing the plan, it is also monitoring the completion of the tasks it has commanded. One method it uses to monitor task completion is direct feedback from the system involved. For example, if EXEC commands MICAS to take a set of pictures, the MICAS software will let EXEC know when it has received an image that MICAS took. If EXEC does not receive this information in a reasonable amount of time, it will know that something is wrong. A second method it uses to monitor task completion is a constant flow of updated information from MIR regarding the status of the spacecraft components. For example, if EXEC commanded MICAS to turn on, it should receive information from MIR that MICAS's switch is in the "on" position soon after issuing the command.
If EXEC commanded MICAS to take a picture and it doesn't get feedback that the picture has been taken in a reasonable amount of time, it will assume that something is wrong. EXEC addresses this problem by requesting that MICAS try again. After four tries, EXEC will abort the plan and go into standby mode, which means it stops all activities. If MIR reports to the EXEC that there is a failure with one of the components (for example MICAS switch is stuck in the "off" position when it should be in the "on" position) EXEC will ask MIR to recommend a recovery action that EXEC will then execute. If a failure is permanent, EXEC will try to find a way to carry out the plan without the use of the failed component. Finally, if the plan cannot be executed under the current conditions, EXEC commands the spacecraft to go into standby mode, shutting down all nonessential components and stopping all activities, and will request that the PS produce a new plan, taking into account the new status of the spacecraft.
There are some failures that are so serious, that EXEC doesn't even take the time to ask for a recovery action from MIR. An example of this type of failure is lack of power. If MIR reports a significant lack of power, EXEC will go directly into standby mode and waits for instructions from ground control.
How are satellites with no remote agent controlled?
How does Remote Agent improve space exploration?
What is an asteroid, a planetoid, a meteoroid, a micrometeoroid?
How does DS1 take pictures?
How does a spacecraft change course?
How does the Smart Executive work?
What is an example of planning and scheduling in everyday life?
What is an example of Mode identification and recovery in every day life?
How does the Mode Identification and Recovery system work?
How does the Planner Scheduler work?
What is MICAS?
What is attitude control?
How does PS really work?
How does MIR really work?