A procedure automatically executed in response to an event initiated by the user or program code, or triggered by the system.