Abstract
This tutorial introduces the communicating process model that is a fundamental computation model with concurrency. Processes running concurrently exchange messages through communication channels by the ‘hand-shake’, where processes are identified by external observation of communications with the environment. Based on the algebraic characterization of the communicating process model, we examine the basic features for modeling software with concurrency aiming at better quality and reliability.