Toward a Discipline of Real-Time Programming Programming is divided into three major categories with increasing complexity of reasoning in program validation: sequential programming, multiprogramming, and real-time programming. By adhering to a strict programming discipline and by using a suitable high-level language molded after this discipline, the complexity of reasoning about concurrency and execution time constrain ts may be drastically reduced. This may be the only practical way to make real-time systems analytically verifiable and ultimately reliable. A possible discipline is outlined and expressed in terms of the language Modula. CACM August, 1977 Wirth, N. multiprogramming, real-time programming, process synchronization, processor sharing, program validation, Modula 3.80 4.22 CA770805 JB December 28, 19777:39 AM 2938 4 2938 2946 4 2938 3128 4 2938 2866 5 2938 2938 5 2938 2938 5 2938 2938 5 2938