The DITOPS scheduler operates with respect to a hierarchical model of resources and resource allocation constraints, enabling decision-making at different levels of abstraction and supporting different stages of the overall planning process. Models are composed from an extensible set of defined primitives, which provide object structures for specifying various transportation scheduling constraints and an associated operational semantics. Resource representations, for example, support specification of unit capacity resources, which must be allocated exclusively to a single request (e.g., a loading/unloading crane), batch capacity resources, which can simultaneously accommodate multiple requests over the same interval (e.g., an aircraft or a tanker ship), and a variety of disjunctive and conjunctive aggregate capacity resources, where capacity can be simultaneously allocated to multiple requests without temporal synchronization (e.g., a C-5 plane fleet, a tanker ship fleet, an airport). Atomic resources are grouped into composite resources (e.g. individual tankers into a tanker fleet into an overall sea fleet; unloading equipment, storage capacity, parking places, etc, into a port) to provide consistent descriptions of resources and utilization constraints at multiple levels of abstraction, and a basis for hierarchical problem decomposition (and distribution).
We advocate an object-oriented approach to modeling scheduling systems. A model is specified in terms of basic types of entities, operations, resources, demands, products and production units, and the modeling framework defines knowledge structuring primitives relative to each. These primitives provide an extensible framework for representing relevant aspects of the system to be modeled, a relational organization that reflects appropriate interdependencies among the system entities that are modeled, and a model semantics relative to scheduling and control decision-making. In more detail, the basic ``building blocks'' of the modeling framework are the following:
Resources manage their time-varying available capacity, and allow capacity to be queried and allocated (typically by operations). An operation, to be executed (scheduled), will reserve a set of resources - reservation is done by allocating all or some of the available capacity of each associated resources over some period of time (the duration of the operation).
Several specialized resource classes exist, providing concepts like atomic, aggregate and consumable resources, as well as transportation resources (which manage their changeable location).
Since operations relate to each other through temporal relations which specify the temporal and causal ordering of operations, they allow the formation of operation graphs (networks or sequences of operations). Operations can also be organized hierarchically to describe transportation processes at different levels of detail.
It should be noted that products and production units (as basic concepts) were not needed in the construction of an object model for the medical evacuation planner.