  Understanding the reasoning behind the behavior of an automated scheduling
system is essential to ensure that it will be trusted and consequently used to
its full capabilities in critical applications. In cases where a scheduler
schedules activities in an invalid location, it is usually easy for the user to
infer the missing constraint by inspecting the schedule with the invalid
activity to determine the missing constraint. If a scheduler fails to schedule
activities because constraints could not be satisfied, determining the cause
can be more challenging. In such cases it is important to understand which
constraints caused the activities to fail to be scheduled and how to alter
constraints to achieve the desired schedule. In this paper, we describe such a
scheduling system for NASA's Mars 2020 Perseverance Rover, as well as
Crosscheck, an explainable scheduling tool that explains the scheduler
behavior. The scheduling system and Crosscheck are the baseline for operational
use to schedule activities for the Mars 2020 rover. As we describe, the
scheduler generates a schedule given a set of activities and their constraints
and Crosscheck: (1) provides a visual representation of the generated schedule;
(2) analyzes and explains why activities failed to schedule given the
constraints provided; and (3) provides guidance on potential constraint
relaxations to enable the activities to schedule in future scheduler runs.
