1. A computer readable medium storing computer executable instructions for performing a method of transforming a programming language specification into a lower-level specification, the method comprising: acting a programming language specification for a design unit, the programming language specification including a public interface; and based upon a set of transformation rules, transforming plural methods of the public interface into plural ports of a port map of a lower-level specification for the design unit.