- Algorithm engineering
Algorithm engineering is a combination of theoretical
algorithm design with real-world data. By taking analgorithm and combining it with ahardware device connected to the real world, you are able to more accurately verify and validate the algorithm results and behavior. The real-world device may be a simple data acquisition or stimulus device or you may take the algorithm and implement it on some embedded platform such as an FPGA ormicroprocessor that may be similar to the final system design.The term “algorithm engineering” was first used with specificity in 1997, with the organization of the first Workshop on Algorithm Engineering (WAE97).
It has recently been used to help describe the steps in graphical system design: "a modern approach to designing, prototyping, and deploying embedded systems that combines open graphical programming with COTS hardware to dramatically simplify development, resulting in higher-quality designs with a migration to custom design".
An article from Embedded.com that discusses algorithm engineering with respect to ESL.
Algorithm engineering refers to the process required to transform a pencil-and-paper algorithm into a robust, efficient, well tested, and easily usable implementation. Thus it encompasses a number of topics, from modeling cache behavior to the principles of good software engineering; its main focus, however, is experimentation. (Algorithm Engineering for ParallelComputation;
David A. Bader , Bernard M. E. Moret, and Peter Sanders) [http://lcbb.epfl.ch/~moret/dagstuhl2.pdf]
Wikimedia Foundation. 2010.