1. A non-transitory computer readable storage medium storing computer executable instructions for causing a computer system programmed thereby to perform a method of transforming a programming language specification into a lower-level hardware description language specification, the method comprising: accepting a programming language specification, the programming language specification including an interface; and based upon a set of transformation rules, transforming plural methods of the interface into plural ports of a port map of a lower-level hardware description language specification of a design unit.