Source: http://www.doe.carleton.ca/~rmason/elec3500/async_ency.pdf