Coordinating a Distributed Planning System

Article excerpt

This article describes distributed SIPE-2 (system for interactive planning and execution) (DSIPE), a distributed version of the SIPE-2 hierarchical task network (HTN) planning system (Wilkins 1988). DSIPE provides the user with semiautomated generation of crisis-response options, in the presence of multiple, competing objectives and constraints, within a distributed computing environment that includes multiple planners collaboratively creating a plan to achieve a set of common objectives. DSIPE is most closely related to Corkill's (1979) distributed version of NOAH, a nonlinear hierarchical planner from which SIPE-2 is conceptually descended. DSIPE extends the ideas in distributed NOAH by focusing on efficient communication among planners and the creation of a common partial view of subplans. All the capabilities described in this article are part of the current implemented system, except where noted. Our current application domain is maritime campaign planning, but the techniques are domain independent.

Distributed Planning

In our distributed planning environment, multiple copies of the DSIPE planner run on separate processors that are connected across a network. These distributed processes communicate with each other by message passing.(1) Each instance of DSIPE supports a human planner. We refer to the human planner as the user, DSIPE as the planning system, and the user and planning system together as a planning cell.

As in SIPE-2, plans in DSIPE are represented as partially ordered networks of tasks and subgoals. Plans are expanded by applying planning operators, which represent templates or strategies for solving a goal. Each operator has preconditions (gating applicability conditions), constraints (used for binding variables and assigning resources), a plot (a partially ordered network of tasks and subgoals that expands the goal being solved), and effects (postconditions that are expected to be true in the world state after the plot is applied).

A high-level view of our distributed planning architecture is shown in figure 1. Goals are distributed from a coordinating planning cell down to lower-level planning cells, which exchange information with each other as they expand their subplans. (Although only two lower-level planning cells are shown, the architecture can support an arbitrary number of cells. Also, a lower-level planning cell can itself act in the role of a coordinator for additional planning cells, resulting in a hierarchy of cells.) Each planning cell has a partial view of the other cells' subplans, with explicit dependencies and relationships with the local cell's subplan.


Throughout the article, we demonstrate DSIPE'S operation using an example from the maritime planning domain. The scenario is a noncombatant evacuation operation in which civilian personnel must be evacuated from a city where there has been an insurrection. A Marine Corps planner and a naval planner must work together to clear and land on a beach, move inland, and evacuate the civilians to an offshore vessel. The planners in this example have separate but related requirements, goals, and priorities. Although their requirements overlap for this mission, they each have independent goals (other missions to be performed or supported), capabilities, and resources.

Distributing Goals

Distributed planning in DSIPE follows the hierarchical model used by SIPE-2. The coordinating planning cell develops a high-level plan that achieves the top-level objectives of the current planning problem. The coordinator then distributes this high-level plan to lower-level planning cells, partitioning the subgoals among the cells. This model works well in the military environment because the planning cell levels naturally correspond to echelons in the military hierarchy. In a less structured collaborative environment, alternative models of goal distribution might be required; for example, each cell might develop its own goal set and notify the other agents what it was planning to work on. …


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.