1. A system for producing an array layout, said system comprising: (a) an input manager for receiving array request information from a user; (b) a processing module comprising an array layout developer having a memory comprising a plurality of rules relating to array layout design, wherein said array layout developer is configured to develop an array layout based on the application of one or more of the rules to information that includes array request information received from a user; and (c) an output manager for providing a first version of an array layout to a user.