A method is presented by which systolic computations can be derived from formal specifications. These derivations proceed in a calculational manner, originating from input/output relations and guided by performance considerations. The resulting program is a network of communicating cells that are expressed in a CSP-like program notation. The derivation method is illustrated by means of a nontrivial example, viz. the design of a rank order filter.