Programmable automation controllers (PAC) are compact industrial controllers used in motion control, machine control, machine vision, and general-purpose industrial control applications. They are functionally similar to programmable logic controllers (PLC), but provide the advanced software features of personal computers (PC). Programmable automation controllers or PACs are used in logic, motion, process control, and vision systems which require data logging, signal processing and other advanced software capabilities. According to the Automation Research Corporation (ARC), the company which coined the PAC acronym, programmable automation controllers (PAC) have five main features: multi-domain functionality; a single, multi-discipline development platform; flexible software tools that maximize process flow across machines or process units; an open, modular architecture; and compatibility with enterprise networks.