A general language for specifying resource allocation in Scheduling pr
oblems is presented. TRAPS is a generalization of the RAPS (Resource A
llocation Problem Specification) language developed by the authors (So
lotorevsky, Gudes & Meisels, 1994). TRAPS enables the specification of
a scheduling problem by adding built in time operators, on top of exi
sting terms for resources, activities, allocation rules and constraint
s. In this way TRAPS provides a convenient knowledge acquisition tool.
The language syntax is powerful and allows the specification of rules
and constraints which are difficult to formulate with traditional app
roaches, and it also supports the specification of various control and
backtracking strategies. The generalized inference engine that runs c
ompiled TRAPS programs is enhanced to provide all needed operations fo
r a typical PERT/CPM calculations on a schedule. This engine acts as a
n expert system shell and is called ESRA (Expert System for Resource A
llocation). The performance of TRAPS combined with ESRA is demonstrate
d by analyzing its solution of a typical scheduling problem, that of a
software management project. The analysis shows that certain heuristi
cs which formed the basis of our strategy for resource allocation (Sol
otorevsky, Gudes & Meisels, 1994) perform very well also in the (time
dependent) scheduling domain.