We introduce a hard real-time software development environment, called
HaRTS, which consists of a performance-based design tool, three stati
c scheduling tools, a code generator, and a visualization tool. HaRTS
solves three problems: (1) how to specify a real-time system design th
at will capture hard deadline requirements and timing information as w
ell as traditional control/data flow structure information; (2) how to
decide, from the design, if the implementation will meet all deadline
s, and (3) how to visualize the system as a running prototype so that
design errors can be found before coding. The first problem is solved
by adapting SADT/IDEFO to the real-time design domain. We do this by a
dding timing information to SADT-like graphical notation, and then ana
lyzing the flattened diagram to derive a performance-based design. Pro
blem two is solved by a new static scheduling algorithm that considers
precedence-constrained tasks as well as hard deadlines. Problem three
is solved by incorporating several novel visualization tools into HaR
TS: dynamic Gantt charts, task graph animation, and processor animatio
n. HaRTS has been successfully used to analyze and improve a number of
real-time systems in navigation and flight control. Light-weight Ada
task execution, combined with Ada code generation, make HaRTS a practi
cal tool for design engineers.