An embedded system may be thought of as a special-purpose computer system, which is completely encapsulated by the device it controls. It is often designed to perform dedicated functions and subject to resource-limitation constraints as part of a mechanical device.