rules for when and how processes send & respond to message