The concept of concurrency presents a real difficulty to many
programmers. In this book Dr Burns introduces the topic and shows how
the Ada programming language, which had as a main design specification
that it should contain the features necessary for concurrent
programming, deals with it. The need to produce software that models
inherent parallelism is important in many applications, including
embedded real time systems, process control and general purpose
multi-processor system software. Although for many other applications of
Ada, knowledge of the Tasking Model is not necessary the full power of
the language can only really be obtained if this model is understood.