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
Program Execution Model
Understand and support the Programs Information Model. This includes all Methods to invoke or control Program execution and the handling of transition events.
Consistent monitoring and control of long-running activities.