Foundations of Software Engineering

Kenneth M. Anderson <kena@cs.colorado.edu>

Lecture 03: Introduction to Concurrency

Relationship to Textbook

What is a Concurrent Program?

FlowOfControlSingle

FlowOfControlMultiple

Why is this hard?

Benefits of Concurrent Programming

Concurrent Programming is Becoming Hard to Ignore

BUT…

Example: Cruise Control Simulator

Models to the Rescue!

Models, continued

Models for Concurrency

Modeling the Cruise Control System

Programming Practice in Java

Summary

Coming Up Next