Information Model Mapping DSL Reference

This section details the following topics:

Information Model Mapping DSL Syntax

Information Model Mapping DSL Semantics

Information Model Mapping DSL Syntax

'mapping' '{'
    'model' [infomodel::informationModel|qualifiedName]
    'target' id
    (rule)*
'}'
;

rule:
    'from' informationModelElement (',' informationModelElement)*
    'to' targetElement
;

informationModelElement:
    [functionblock::functionblockModel|qualifiedName] '.'
    functionBlockElement;
;

functionBlockElement:
    (operationElement | configurationElement | statusElement |
        faultElement | eventElement
    )
;

operationElement:
    'operation.' [functionblock::operation]
;

configurationElement:
    'configuration.' [datatype::property]
;

statusElement:
    'status.' [datatype::property]
;

faultElement:
    'fault.' [datatype::property
;

eventElement:
    'event.' [functionblock::event]
;

targetElement:
    (StereoType,)*
;

stereoType:
    id (with Attribute (',' attribute)*)
;

qualifiedName: id ('.' id)*;

attribute:
    id ':' string
;

id:
    '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*
;

string  :
    '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|'"') )* '"' |
    "'" ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|"'") )* "'"
;

Information Model Mapping DSL Semantics

Parameter Mandatory Description Example
model Y Information Model Name PhilipsHue
target Y Target platform mapping is used for smarthome
from Y Information model element ColorLight.operation.setR
to Y Target plaform platform element channelType