Scheduled maintenance on Saturday, 27 September 2025, from 07:00 AM to 4:00 PM GMT (09:00 AM to 6:00 PM CEST) - some services may be unavailable -

Skip to content

a metering function may have other commands than the three currently specified

Affects: SAREF

Situation: Some axioms are to restrictive in SAREF:

  • axiom SubClassOf( MeteringFunction AllValuesFrom( hasCommand UnionOf ( saref:GetCurrentMeterValueCommand saref:GetMeterDataCommand saref:GetMeterHistoryCommand ) ) ), which means that if a metering function has a command, then this command is a GetCurrentMeterValueCommand , a GetMeterDataCommand , or a GetMeterHistoryCommand. However, a metering function may have other commands than these three (ex. saref-ext:GetLast10MeterValueCommand ) . If a SAREF user adds such a command, then it would be wrongly classified as one of the three. This may lead to knowledge base inconsistencies.
    • Proposal: change the axiom to
    • subClassOf( GetCurrentMeterValueCommand AllValuesFrom( isCommandOf MeteringFunction ) ), which means: the command GetCurrentMeterValueCommand is a command of the function MeteringFunction
  • axiom subClassOf( EventFunction AllValuesFrom( hasCommand NotifyCommand). However, a event function may have other commands than the notify command (ex. saref-ext:SetMaxRateCommand saref-ext:SetBurstValueCommand ) . If a SAREF user adds such a command, thaen it would be wrongly classified. This may lead to knowledge base inconsistencies. At least, the NotifyCommand is always a command of the EventFunction function
    • Proposal: change the axiom to
    • subClassOf( NotifyCommand AllValuesFrom( isCommandOf EventFunction).
  • axiom subClassOf( SensingFunction AllValuesFrom( hasCommand GetSensingDataCommand). However, a sensing function may have other commands than the get sensing data command. If a SAREF user adds such a command, then it would be wrongly classified. This may lead to knowledge base inconsistencies
    • Proposal: change the axiom to
    • subClassOf( GetSensingDataCommand SomeValuesFrom( isCommandOf SensingFunction)
  • axiom subClassOf( OnOffFunction AllValuesFrom( hasCommand UnionOf( saref:OffCommand saref:OnCommand saref:ToggleCommand)). Same problem as above.
    • Proposal: change the axioms, except for Toggle, which may be a command for other functions, like saref-ext:HotColdFunction.
    • Axiom subClassOf( OffCommand AllValuesFrom( isCommandOf OnOffFunction)
    • Axiom subClassOf( OnCommand AllValuesFrom( isCommandOf OnOffFunction)
    • Axiom subClassOf( ToggleCommand AllValuesFrom( isCommandOf OnOffFunction)
  • This also applies to:
    • OpenCloseFunction and the commands OpenCommand and CloseCommand.
    • StartStopFunctionand and the commands StartCommandand StopCommand.
    • LevelControlFunction and the commands SetAbsoluteLevel SetRelativeLevelCommand StepDownCommand StepUpCommand.

Proposal: rewrite the axioms

Status: agreed during SmartM2M-3rd RG Meeting about 2 NWIs SAREFv3 and SAREF Com Framework V2 2019-05-09

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information