The elements enabling software to interact with other software or hardware. The format is the layout of the data, the codes are the commands that cause actions to take place, and the procedures are how and when these elements interact with each other. See
protocol.