--- /dev/null
+L0 = <http://www.simantics.org/Layer0-1.1>
+DOC = <http://www.simantics.org/Documentation-1.2>
+FUNCTIONS = <http://www.simantics.org/Documentation-1.2/Functions>
+SEL = <http://www.simantics.org/SelectionView-1.2>
+
+PROPERTIES = DOC.Properties : L0.Library
+ @L0.new
+
+DOC.Document.AttributeRelation <T L0.Relation
+ @L0.assert L0.domainProperties L0.Functions.standardPropertyDomainProperties
+ @L0.assert L0.domainChildren L0.Functions.standardPropertyDomainChildren
+ --> DOC.Document.AttributeRelation.dynamic ==> "Boolean" <R L0.HasProperty : L0.TotalFunction
+ @L0.assert DOC.Document.AttributeRelation.dynamic false
+
+DOC.Document.ExtraAttributeRelation <T L0.Relation
+ @L0.assert L0.domainProperties L0.Functions.standardPropertyDomainProperties
+ @L0.assert L0.domainChildren L0.Functions.standardPropertyDomainChildren
+
+defAttribute = PROPERTIES.defAttribute : L0.Template
+ @template %subject %range
+ %subject <R L0.HasProperty : DOC.Document.AttributeRelation : L0.FunctionalRelation
+ L0.HasRange %range
+
+defExtraAttribute = PROPERTIES.defExtraAttribute : L0.Template
+ @template %subject %range
+ %subject <R L0.HasProperty : DOC.Document.ExtraAttributeRelation : L0.FunctionalRelation
+ L0.HasRange %range
+
+PROPERTIES.inputUri <R L0.HasProperty : PROPERTIES.ParameterType
+ ==> "String"
+ @PROPERTIES.defAttribute L0.Value
+ L0.HasLabel "Input URI"
+
+PROPERTIES.input <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.state <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.icstate <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.session <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.experiment <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.model <R L0.HasProperty : L0.FunctionalRelation
+ ==> "Variable"
+
+PROPERTIES.exists <R L0.HasProperty : L0.FunctionalRelation
+ @defAttribute L0.Boolean
+ L0.RequiresValueType "Boolean"
+
+PROPERTIES.pathExists <R L0.HasProperty : L0.FunctionalRelation
+ @defAttribute L0.Boolean
+ L0.RequiresValueType "Boolean"
+
+PROPERTIES.commands <R L0.HasProperty : L0.FunctionalRelation
+ @defAttribute L0.String
+ L0.RequiresValueType "String"
+ L0.HasLabel "Commands"
+
+PROPERTIES.dataDefinitions <R L0.HasProperty : L0.FunctionalRelation
+ @defAttribute L0.String
+ L0.RequiresValueType "String"
+ L0.HasLabel "Data Definitions"
+
+PROPERTIES.SCLFunction <R L0.HasProperty : PROPERTIES.ParameterType
+ @PROPERTIES.defAttribute L0.Value
+ ==> "EventHandler"
+ L0.HasLabel "SCL Function"
+
+PROPERTIES.target : PROPERTIES.ParameterType : L0.FunctionalRelation
+ @PROPERTIES.defAttribute L0.String
+ L0.RequiresValueType "String"
+ L0.HasLabel "Target"
+
+PROPERTIES.targets : PROPERTIES.ParameterType : L0.FunctionalRelation
+ @PROPERTIES.defAttribute L0.StringArray
+ L0.RequiresValueType "Array String"
+ L0.HasLabel "Targets"
+
+PROPERTIES.source : PROPERTIES.ParameterType : L0.FunctionalRelation
+ @PROPERTIES.defAttribute L0.String
+ L0.RequiresValueType "String"
+ L0.HasLabel "Source"
+
+PROPERTIES.sources : PROPERTIES.ParameterType : L0.FunctionalRelation
+ @PROPERTIES.defAttribute L0.StringArray
+ L0.RequiresValueType "Array String"
+ L0.HasLabel "Sources"
+
+PROPERTIES.ParameterType <T SEL.GenericParameterType
+
+
\ No newline at end of file