SAREF patterns for procedure executions
A saref:ProcedureExecution represents the act of carrying out a procedure.
SAREF Core defines four sub-classes of saref:ProcedureExecution:
- saref:CommandExecution describes the execution of a command.
- saref:OperationExecution describes the execution of an operation in a network: the-machine interpretable-description of a communication between devices over the network.
- saref:Observation is the act of carrying out a procedure to estimate or calculate a value of a property of a feature of interest, or a state of a feature of interest.
- saref:Actuation is the act of carrying out a procedure to control the state of the world using an actuator. It links to an actuator to describe what made the actuation, and to the controlled feature, property, property of interest, state, or state of interest.
The figure below illustrates the main classes and properties in the SAREF Core patterns for procedure executions.

SAREF extensions should not create specific instances of the class saref:ProcedureExecution or any of its sub-classes, as they are meant to be created by applications.
SAREF extensions and applications shall not define sub-properties of the following properties:
- saref:madeBy
- saref:isMadeBy
- saref:hasResultTime
- saref:hasPhenomenonTime
- saref:hasTimestamp