The Spring scheduling algorithm is a dynamic, on-line solution that that constructs guaranteed schedules based on deadlines, resources, precedence contraints, values, etc. The scheduler can be utilized off-line or on-line. This algorithm has been implemented in software as part of the Spring system and in VLSI hardware (Spring Scheduling Co-processor).
Related research in scheduling has produced results in the areas of allocating complex periodic tasks, well-timed scheduling, and robust earliest deadline scheduling.
Current scheduling work includes integration with high level AI planners, scheduling multimedia sessions, and scheduling task sets with fault tolerance requirements. Specific target applications such as steel mills (Mitsubishi), flexible manufacturing, and chemical vapor deposition of gallium nitride have also initiated modifications to the basic Spring scheduler. We have also built, CAISARTS, a real-time scheduling expert assistant. This tool provides conceptual, algorithmic (including analysis), and implementation advice to real-time systems designers.