Information Model DSL Reference

This section details the following topics:

Information Model DSL Syntax

Information Model DSL Semantics

Information Model DSL Syntax

Information Model DSL import function block model DSL.

InformationModel:
    'namespace' qualifiedName
    'version' version
    (modelReference)*
    'infomodel' id '{'
    'displayname' stirng
    ('description' string)?
    'category' category
    'functionblocks' '{'
        (functionblockProperty)*
    '}'
;

category:id;

functionblockProperty: id 'as' [fbs::functionblockModel|qualifiedName]
    (string)?;

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

qualifiedName: id ('.' id)*;

version : int('.' int)*('-'id)?;

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

Information Model DSL Semantics

Parameter Mandatory Description Example
Name Y A descriptive name Philips Hue
description Y Short description Light Strip
vendor Y Vendor Identifier www.philips.com
category Y Device Category Light
version Y Model Version 2.0.0
functionblocks N Composition of Function blocks ColorLight, Switch