SIPE-2 has implemented several extensions of previous planning systems, including the use of constraints for the partial description of objects, the incorporation of heuristics for reasoning about resources, and replanning techniques. Its formalism allows description of planning and simple scheduling problems in terms of the goals to be attained and the various activities that can be undertaken to achieve these goals. One of the most powerful heuristics for avoiding combinatorics in SIPE-2 is the ability to avoid frequent consistency checks by temporarily producing invalid plans. The system relies on plan critics that check for and correct problems in these plans at certain intervals.
The inputs and outputs of SIPE-2 are depicted above. While the inputs to the planner attempt to model the "real world," current AI techniques cannot handle the full complexity of our everyday world and generally it is an abstraction of the real world that is represented. The vertical arrows in the figure indicate the relationship of representation, by which entities in the world are encoded internally in the planning system. The output is a plan --- a partially ordered set of primitive actions and conditions to be carried out. Conditions the plan expects to be true at certain times are also included in the plan. A plan can be represented as a directed, acyclic graph in which each node is an action or condition, and each edge represents a temporal ordering.
SIPE-2 takes as input a description of the initial state, a description of a set of actions, a problem descriptor, and a set of rules describing the domain. The initial state consists of a sort hierarchy, a world model, and a set of deductive rules. The sort hierarchy represents invariant properties of perpetual objects, describes the classes to which an object belongs, and allows for inheritance of properties. The world model is a set of predicates which hold over objects in the sort hierarchy. Some predicates are given explicitly in the data base, and others are deduced by applying deductive rules to the data base.
To produce a plan, the planner instantiates operators by binding their variables, combines these instantiations by ordering them, and then adds additional constraints to avoid problematic interactions between actions. For example, if a potential resource conflict is detected between two actions, the planner may order the actions to execute sequentially or may constrain the action to use different resources. SIPE-2 chooses one of a set of operators for each goal in an abstract plan. This produces the more detailed plan to which the planner has added deductions and orderings that avoid problems it has detected (e.g. a resource conflict).