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