Allows expected software behaviors to be specified in a logical language that customers can understand