A. Bakkers et al., AUTOMATIC-GENERATION OF SCHEDULING AND COMMUNICATION CODE IN REAL-TIME PARALLEL PROGRAMS, ACM SIGPLAN NOTICES, 30(11), 1995, pp. 134-145
Inter-process communication and scheduling are notorious problem areas
in the design of real-time systems. Using CASE tools, the system desi
gn phase will in general result in a system description in the form of
parallel processes. Manual allocation of these processes to processor
s may result in error prone and/or slow communication code. Scheduling
of the processes, necessary to meet timing constraints, is also a ted
ious task that takes many iterations. The described design tools resul
t in code that is comparable in quality and performance with expert ma
nual realization. Many network layers have been implemented to relieve
the user from the low-level programming of communication software. Ho
wever, the increase in user-friendliness is usually paid with performa
nce degradation. The proposed approach combines user-friendliness with
high performance by generating communication software that is tailor-
made for the application. A similar approach is followed with the sche
duling software. Schedulers in the form of a built-in a kernel are ava
ilable all the time and cause overhead all the time. The proposed prep
rocessor tool generates scheduling software after analyzing the timing
requirements of the particular application. This results in simple co
de for simple timing requirements and more complicated code for comple
x timing requirements. The tools have been implemented in Occam for us
e on a transputer. However, the results are valid for any distributed
memory machine.