1. An apparatus for programming an embedded system, the apparatus comprising; a modeling engine of a Computer Aided Design (CAD) environment configured to create a CAD model of a physical system, the CAD model having computer-displayed features dimensionally representing geometric characteristics of the physical system; a transducer library of the CAD environment including a plurality of virtual transducers configured to generate data signals and/or receive control signals, and interact with portions of the CAD model; a routine library of the CAD environment including a plurality of operational routines for interacting with the virtual transducers using data acquisition and/or control operations; a graphical user interface configured to permit a user to select one or more of the plurality of virtual transducers, connect the one or more virtual transducers to portions of the CAD model, select one or more routines, and connect the one or more routines to the one or more virtual transducers in the CAD model; and a code generation engine configured to automatically generate code, from at least the one or more routines, for programming the embedded system, the code configured to cause the embedded system to interact with one or more physical transducers that correspond to the one or more virtual transducers in the CAD model based on the one or more routines.