This chapter has introduced the area of concurrent programs and justified the need for a model-based approach to design and construction. In particular:
Finite state models are used to represent concurrent behavior. These can be animated and analyzed to gain confidence in the correctness and validity of a proposed design.
The Java programming language is used for constructing concurrent programs. Java is general-purpose and has concurrency features.
Examples and exercises are used throughout the book to illustrate the concepts and provide the opportunity for experimentation and learning by experience.