OPC UA Programs represent long-running, often complex and stateful functions in a server or underlying system.
When comparing Methods and Programs: a Method, for example, may be used to perform a calculation or reset a counter. A Program example would be to run and control a batch process, execute a machine tool part program, or manage a domain download. Programs can represent any level of functionality within a system or process in which client control or intervention is required and progress monitoring is desired. The execution time of a Program is not bound to the lifetime of a session.
Note – the Programs Information Model is specified in OPC UA Part 10