Orchestra Control Engine is a suite of software components (based on Linux/RTAI) used for the planning, development and deployment of real-time control applications for industrial machines and robots. Orchestra Control Engine has been developed by Sintesi SpA in partnership with the Italian National Research Council and in collaboration with international industrial companies in the field of robotics and production systems. Sintesi SpA is a company that develops mechatronic components and solutions. It has specialized in measurement, control and design technologies for robotics and production systems. Main features Orchestra Control Engine is flexible because it can be customized. This is done visually. The solutions created are open (based on an open source framework) and are extendible. Modular components of the software allow a user to develop, debug and test control applications. For example, previously developed algorithms can be divided into functional units and reused indefinitely. All the units work together. The software can be distributed among various remote hardware devices which may be hundreds of meters apart. It also scalable in that it selects hardware which provides the best cost and performance for a particular operation. The system's parameters can be quickly reconfigured both on line and also at the time of a run. Suite components Linux/RTAI creates Orchestra Control Engine's hard real time behaviour. Its "open source" characteristics allow changes to fit the users' requirements. Non hard real time components of orchestra Control Engine can be used with non-Linux platforms such as Microsoft Windows or Macintosh. Orchestra Core A hard real time multithreaded engine operates in multicore/multiprocessor architectures. Within the scheme, modules can be filled in with more or less complex algorithms which control the process. The run time engine loads the modules. The user can adapt the modules to the topology. For complex topology, multiple modules can be used or parallel loops can be implemented. Orchestra Run Time Manager The run time manager controls the formalities of execution of the program; decides priorities within the operation; and manages the multi-thread and multiprocessor operations. It is made up of templates that define thread typologies according to the formalities of execution and from a part that manages the POU (Program Organization Unit). Orchestra Logic Programming The logic programming of Orchestra Control Engine assists in the use of the five contemplated languages of the IEC 61131 norm. It also assists in the use of the C/C++ language. Orchestra Path Programming The path