% render "layouts/guides.html" do Origen provides a powerful object-oriented test program generator which has a unique architecture which fully separates an application's test flow logic from its implementation on a given test platform. This architecture offers many advantages but most notably: * It is extremely efficient. Adding additional tests is very quick after you have initially bootstrapped your program generator, in many cases only requiring one line to be added to your source code. * It keeps you sane. As test flows and programs get larger and larger it really helps to be able to use object-oriented programming techniques to keep everything organized. * It eliminates bugs. The architecture encourages you to write the least amount of code possible to create a new test, this maximizes the re-use of working code and reduces the number of moving parts and opportunities for bugs to occur. * It supports multi-platform and documentation. The same test flow source file can be used to generate the program on different platforms, including creating documentation of the test program. * Dynamic custom code is supported. Custom VB/C++ code can be compiled through Origen, this eliminates the need to keep DUT configuration information in your test program code - write it to support a single device, then modify it later to work with another configuration with Origen. #### Architecture An overview of the program generator architecture is shown below: