Two general schools of thought have emerged regarding appropriate mechanisms for specifying concurrent systems. One features the use of logical formulas to encode properties of interest; another uses ``high-level'' systems as specifications for lower-level ones. What follows elaborates on each of these.