It has been argued that the use of constraint-based techniques and tools enables the implementation of precise, flexible, efficient and extensible scheduling systems; precise and flexible as the system can take into account any constraint expressible in the constraint language; efficient in as much as highly optimised constraint propagation procedures are now available; extensible as the consideration of a new type of constraint may require (especially in an object-oriented framework) only an extension to the constraint system or, in the worst case, the implementation of additional decision-making modules (without needs for modification of the existing code). The paper presents ILOG SCHEDULE, a C++ library enabling the representation of a wide collection of scheduling constraints in terms of ‘resources’ and ‘activities’. ILOG SCHEDULE is based on SOLVER, the generic software tool for object-oriented constraint programming from ILOG. SOLVER variables and constraints can be accessed from SCHEDULE activities and resources. As a result, SCHEDULE users can make use of SOLVER to represent specific constraints, and implement and combine the specific problem-solving strategies that are the most appropriate for the scheduling application under consideration. It is hoped—and expected—that object-oriented constraint programming tools like SCHEDULE will enable the industry to make decisive stepstoward the implementation of ‘state-of-the-art’ highly flexible, constraint-based scheduling applications.