The requirements to be fulfilled by computer languages applied in hard real-time environments, and corresponding language constructs necessitated by them, are summarized. A discussion is presented of how well Ada meets these demands, and which features still need to be incorporated to achieve the production of reliable software for time-critical applications. The syntax and semantics of appropriate supplementary real-time language elements for Ada are described, covering the following features: application-oriented resource synchronization with time-out and inherent deadlock prevention; support of due-dates-observing task-scheduling algorithms allowing the early detection and handling of overload conditions; accurate timing of operations; and application-oriented simulation regarding the operating system overhead for software verification purposes. The operating system functions required by the proposed language constructs and verification options are outlined.