A set of instructions that specifies an executable file, how with the hardware to communicate information and how to save.