]> gerrit.simantics Code Review - simantics/sysdyn.git/commitdiff
A new ontology that supports array variables and multiple expressions
authorlempinen <lempinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Thu, 2 Dec 2010 12:51:20 +0000 (12:51 +0000)
committerlempinen <lempinen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Thu, 2 Dec 2010 12:51:20 +0000 (12:51 +0000)
git-svn-id: https://www.simantics.org/svn/simantics/sysdyn/trunk@18897 ac1ea38d-2e2b-0410-8846-a27921b304fc

org.simantics.sysdyn.ontology/graph.tg
org.simantics.sysdyn.ontology/graph/Sysdyn.pgraph
org.simantics.sysdyn.ontology/graph/WorkModel.pgraph
org.simantics.sysdyn.ontology/src/org/simantics/sysdyn/SysdynResource.java

index 456767ffbcc7360c64ef29c3a8586ba79226266a..6c27510507f6ebea59773a689d846f6f2b4d8f01 100644 (file)
Binary files a/org.simantics.sysdyn.ontology/graph.tg and b/org.simantics.sysdyn.ontology/graph.tg differ
index e76fb2903ca344e44170198093aa4f447271e383..46c9cfcf78418082d4bd794621854177e7af4e98 100644 (file)
@@ -80,9 +80,12 @@ SYSDYN.DefaultRealization <T L0.Realization
 
 SYSDYN.Variable <T STR.Component    
     @L0.singleProperty L0.HasType
+    @L0.optionalProperty SYSDYN.HasArrayIndexes    
+    @L0.optionalProperty SYSDYN.HasExpressions    
 
-SYSDYN.HasExpression <R L0.IsComposedOf : L0.FunctionalRelation
-    L0.HasRange SYSDYN.Expression
+SYSDYN.HasExpressions <R L0.DependsOn : L0.FunctionalRelation
+    L0.HasDomain SYSDYN.Variable
+    L0.HasRange SYSDYN.Expressions
 
 SYSDYN.HasUnit <R L0.HasProperty
     L0.HasRange L0.String
@@ -98,21 +101,21 @@ SYSDYN.HasRangeStep <R L0.HasProperty
 
 SYSDYN.IndependentVariable <T SYSDYN.Variable     
     @L0.optionalProperty SYSDYN.HasUnit
-    @L0.optionalProperty SYSDYN.HasExpression    
     @L0.optionalProperty SYSDYN.HasRangeStart
     @L0.optionalProperty SYSDYN.HasRangeEnd
     @L0.optionalProperty SYSDYN.HasRangeStep
     @L0.optionalProperty L0.HasDescription
+    @L0.singleProperty SYSDYN.HasExpressions
 
 SYSDYN.Auxiliary <T SYSDYN.IndependentVariable
     @L0.assert L0.HasType "Real"
 
 SYSDYN.Valve <T SYSDYN.IndependentVariable
     @L0.assert L0.HasType "Real"
-
+                
 SYSDYN.Stock <T SYSDYN.IndependentVariable
     @L0.assert L0.HasType "Real"
-
+                
 SYSDYN.Cloud <T SYSDYN.Variable
 
 SYSDYN.Input <T SYSDYN.Variable
@@ -204,7 +207,13 @@ SYSDYN.HasMinY <R L0.HasProperty
 SYSDYN.HasMaxY <R L0.HasProperty
     L0.HasRange L0.Double
 
+SYSDYN.HasArrayRange <R L0.HasProperty
+    L0.HasRange L0.String 
+
+SYSDYN.Expressions <T L0.OrderedSet <R L0.HasNext
+
 SYSDYN.Expression <T L0.Entity
+    @L0.optionalProperty SYSDYN.HasArrayRange
 
 SYSDYN.NormalExpression <T SYSDYN.Expression
     @L0.singleProperty SYSDYN.HasEquation    
@@ -234,6 +243,21 @@ SYSDYN.WithLookupExpression <T SYSDYN.Expression
 
 SYSDYN.HasDefaultInputValue <R L0.HasProperty : L0.FunctionalRelation
     L0.HasRange L0.Double
+            
+// To be used in transient graphs for showing the correct experiment in equation editor
+SYSDYN.HasActiveExpression <R L0.HasProperty : L0.FunctionalRelation
+    L0.HasDomain SYSDYN.IndependentVariable
+    L0.HasRange SYSDYN.Expression
+
+//#####################################################################
+// Enumerations
+//#####################################################################
+
+SYSDYN.HasArrayIndexes <R L0.DependsOn : L0.FunctionalRelation
+    L0.HasDomain SYSDYN.Variable
+    L0.HasRange SYSDYN.Enumeration
+    
+SYSDYN.ArrayIndexes <T L0.OrderedSet <R L0.HasNext
 
 SYSDYN.HasEnumerationIndexes <R L0.DependsOn : L0.FunctionalRelation
     L0.HasDomain SYSDYN.Enumeration
@@ -243,6 +267,8 @@ SYSDYN.EnumerationIndexes <T L0.OrderedSet <R L0.HasNext
 
 SYSDYN.EnumerationIndex <T L0.Entity
     L0.singleProperty L0.HasName
+    
+    
 //#####################################################################
 // Experiments
 //#####################################################################
index 7237cd07d27e73c566f08975dd97e0d922e77dc6..f6f742caf4f99eaf43291586f9d729b6f5c8c0f3 100644 (file)
@@ -112,16 +112,22 @@ WC.Work2 : WM.WorkModel.WorkModule
 // Parameters\r
 WC.Work1CompletionTime : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "15"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "15"      \r
 WC.Work2CompletionTime : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped    \r
-    SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "11"     \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "11"     \r
 WC.Work2Amount : SYSDYN.Auxiliary\r
       @L0.tag MOD.Mapped    \r
-      SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "700"     \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "700"     \r
         \r
 // Enumeration Test\r
 WC.EnumerationTest : SYSDYN.Enumeration\r
@@ -147,8 +153,10 @@ WC.Work2WorkDone : SYSDYN.Input
 // Auxiliaries    \r
 WC.RequiredWorkingSpeedTotal : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "RequiredWorkingSpeed1+RequiredWorkingSpeed2"                            \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "RequiredWorkingSpeed1+RequiredWorkingSpeed2"                            \r
           \r
 WC.d1  : SYSDYN.Dependency\r
     @WM.conf_dependency_ref WC.TotalPossibleWorkingSpeedInput WC.Workforce WFC.PossibleWorkingSpeed        \r
@@ -282,75 +290,103 @@ WMC = WM.WorkModel.WorkModuleConfiguration : SYSDYN.Configuration
 // Parameters\r
 WMC.MaximumWorkingSpeed : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "500"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "500"      \r
 WMC.WorkQuality : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "0.9"  \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "0.9"  \r
                                      \r
 // Valves\r
 WMC.WorkingSpeed : SYSDYN.Valve\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "if ProjectIsReady  < 1 then WorkAllocation else 0" \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "if ProjectIsReady  < 1 then WorkAllocation else 0" \r
 WMC.ErrorsGenerated : SYSDYN.Valve\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "(1-WorkQuality)*WorkingSpeed"                                                          \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "(1-WorkQuality)*WorkingSpeed"                                                          \r
 WMC.ErrorsFoundRate : SYSDYN.Valve\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "Errors/ErrorsFoundTime"    \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "Errors/ErrorsFoundTime"    \r
 WMC.ProjectReadyness : SYSDYN.Valve\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "(xidz(WorkDone, ProjectWorkAmount, 0.0) - ProjectIsReady) / 0.08"                       \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "(xidz(WorkDone, ProjectWorkAmount, 0.0) - ProjectIsReady) / 0.08"                       \r
         \r
 \r
         \r
 // Stocks\r
 WMC.WorkToDo : SYSDYN.Stock\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.StockExpression\r
-        SYSDYN.HasInitialEquation "ProjectWorkAmount"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.StockExpression\r
+                SYSDYN.HasInitialEquation "ProjectWorkAmount"      \r
 WMC.WorkDone : SYSDYN.Stock\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.StockExpression\r
-        SYSDYN.HasInitialEquation "0"     \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.StockExpression\r
+                SYSDYN.HasInitialEquation "0"     \r
       @L0.tag SYSDYN.IsOutput\r
 WMC.Errors : SYSDYN.Stock\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.StockExpression\r
-        SYSDYN.HasInitialEquation "0"           \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.StockExpression\r
+                SYSDYN.HasInitialEquation "0"           \r
 WMC.ProjectIsReady : SYSDYN.Stock\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.StockExpression\r
-        SYSDYN.HasInitialEquation "0"                 \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.StockExpression\r
+                SYSDYN.HasInitialEquation "0"                 \r
         \r
 // Auxiliaries    \r
 WMC.TimeToDeadline : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "max(0, WorkCompletionTimeInput-time)"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "max(0, WorkCompletionTimeInput-time)"      \r
 WMC.RequiredWorkingSpeed : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
     @L0.tag SYSDYN.IsOutput\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-          SYSDYN.HasEquation "if ProjectIsReady < 1 then xidz(WorkToDo, TimeToDeadline, MaximumWorkingSpeed) else 0"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "if ProjectIsReady < 1 then xidz(WorkToDo, TimeToDeadline, MaximumWorkingSpeed) else 0"      \r
 WMC.WorkAllocation : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "xidz(RequiredWorkingSpeed, RequiredWorkingSpeedTotalInput, 0.0) * PossibleWorkingSpeedInput"      \r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "xidz(RequiredWorkingSpeed, RequiredWorkingSpeedTotalInput, 0.0) * PossibleWorkingSpeedInput"      \r
 WMC.ErrorsFoundTime : SYSDYN.Auxiliary\r
     @L0.tag MOD.Mapped\r
-    SYSDYN.HasExpression _ : SYSDYN.WithLookupExpression\r
-        SYSDYN.HasEquation "xidz(WorkDone, ProjectWorkAmount, 0.0)"    \r
-        SYSDYN.HasLookup "{{0,5},{0.5,3},{1,0.5},{2,0.5}}"    \r
-        SYSDYN.HasMinX 0.0\r
-        SYSDYN.HasMaxX 5.0\r
-        SYSDYN.HasMinY 0.0\r
-        SYSDYN.HasMaxY 5.0\r
+    SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.WithLookupExpression\r
+                SYSDYN.HasEquation "xidz(WorkDone, ProjectWorkAmount, 0.0)"    \r
+                SYSDYN.HasLookup "{{0,5},{0.5,3},{1,0.5},{2,0.5}}"    \r
+                SYSDYN.HasMinX 0.0\r
+                SYSDYN.HasMaxX 5.0\r
+                SYSDYN.HasMinY 0.0\r
+                SYSDYN.HasMaxY 5.0\r
 \r
 // Inputs\r
 WMC.WorkCompletionTimeInput : SYSDYN.Input\r
@@ -590,35 +626,47 @@ WFC = WM.WorkModel.WorkforceModuleConfiguration : SYSDYN.Configuration
 // Parameters\r
 WFC.TimeToAllocateResources : SYSDYN.Auxiliary\r
       @L0.tag MOD.Mapped\r
-      SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "2"     \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "2"     \r
 WFC.Productivity : SYSDYN.Auxiliary\r
       @L0.tag MOD.Mapped      \r
-      SYSDYN.HasExpression _ : SYSDYN.ParameterExpression\r
-        SYSDYN.HasEquation "1"       \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.ParameterExpression\r
+                SYSDYN.HasEquation "1"       \r
     \r
 // SYSDYN.Valve\r
 WFC.NetResources : SYSDYN.Valve\r
       @L0.tag MOD.Mapped\r
-      SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "(WorkForceRequired-WorkforceStock)/TimeToAllocateResources"       \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "(WorkForceRequired-WorkforceStock)/TimeToAllocateResources"       \r
 \r
 // Stock\r
 WFC.WorkforceStock : SYSDYN.Stock\r
       @L0.tag MOD.Mapped\r
-      SYSDYN.HasExpression _ : SYSDYN.StockExpression\r
-        SYSDYN.HasInitialEquation "0"         \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.StockExpression\r
+                SYSDYN.HasInitialEquation "0"         \r
     \r
 // Auxiliaries    \r
 WFC.WorkForceRequired : SYSDYN.Auxiliary\r
       @L0.tag MOD.Mapped\r
-      SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "RequiredWorkingSpeedInput/Productivity"      \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "RequiredWorkingSpeedInput/Productivity"      \r
 WFC.PossibleWorkingSpeed : SYSDYN.Auxiliary\r
       @L0.tag MOD.Mapped\r
       @L0.tag SYSDYN.IsOutput\r
-      SYSDYN.HasExpression _ : SYSDYN.NormalExpression\r
-        SYSDYN.HasEquation "WorkforceStock*Productivity"      \r
+      SYSDYN.HasExpressions _ : SYSDYN.Expressions\r
+        @L0.list\r
+            _ : SYSDYN.NormalExpression\r
+                SYSDYN.HasEquation "WorkforceStock*Productivity"      \r
                 \r
 // Inputs\r
 WFC.RequiredWorkingSpeedInput : SYSDYN.Input\r
index 15448870845c14c3d87cf47e9c71075d68f44f99..4427720b9c05b4294d9fd07a56d580289c6a3830 100644 (file)
@@ -19,6 +19,8 @@ import org.simantics.db.exception.DatabaseException;
 \r
 public class SysdynResource {\r
     \r
+    public final Resource ArrayIndexes;\r
+    public final Resource ArrayIndexes_Inverse;\r
     public final Resource Auxiliary;\r
     public final Resource AuxiliarySymbol;\r
     public final Resource BasicExperiment;\r
@@ -148,17 +150,25 @@ public class SysdynResource {
     public final Resource EnumerationIndexes_Inverse;\r
     public final Resource Experiment;\r
     public final Resource Expression;\r
+    public final Resource Expressions;\r
+    public final Resource Expressions_Inverse;\r
     public final Resource Flow;\r
     public final Resource FlowConnection;\r
     public final Resource GameExperiment;\r
+    public final Resource HasActiveExpression;\r
+    public final Resource HasActiveExpression_Inverse;\r
+    public final Resource HasArrayIndexes;\r
+    public final Resource HasArrayIndexes_Inverse;\r
+    public final Resource HasArrayRange;\r
+    public final Resource HasArrayRange_Inverse;\r
     public final Resource HasDefaultInputValue;\r
     public final Resource HasDefaultInputValue_Inverse;\r
     public final Resource HasEnumerationIndexes;\r
     public final Resource HasEnumerationIndexes_Inverse;\r
     public final Resource HasEquation;\r
     public final Resource HasEquation_Inverse;\r
-    public final Resource HasExpression;\r
-    public final Resource HasExpression_Inverse;\r
+    public final Resource HasExpressions;\r
+    public final Resource HasExpressions_Inverse;\r
     public final Resource HasHead;\r
     public final Resource HasHeadTerminal;\r
     public final Resource HasInitialEquation;\r
@@ -235,6 +245,8 @@ public class SysdynResource {
     public final Resource angle_Inverse;\r
         \r
     public static class URIs {\r
+        public static final String ArrayIndexes = "http://www.simantics.org/Sysdyn-1.0/ArrayIndexes";\r
+        public static final String ArrayIndexes_Inverse = "http://www.simantics.org/Sysdyn-1.0/ArrayIndexes/Inverse";\r
         public static final String Auxiliary = "http://www.simantics.org/Sysdyn-1.0/Auxiliary";\r
         public static final String AuxiliarySymbol = "http://www.simantics.org/Sysdyn-1.0/AuxiliarySymbol";\r
         public static final String BasicExperiment = "http://www.simantics.org/Sysdyn-1.0/BasicExperiment";\r
@@ -364,17 +376,25 @@ public class SysdynResource {
         public static final String EnumerationIndexes_Inverse = "http://www.simantics.org/Sysdyn-1.0/EnumerationIndexes/Inverse";\r
         public static final String Experiment = "http://www.simantics.org/Sysdyn-1.0/Experiment";\r
         public static final String Expression = "http://www.simantics.org/Sysdyn-1.0/Expression";\r
+        public static final String Expressions = "http://www.simantics.org/Sysdyn-1.0/Expressions";\r
+        public static final String Expressions_Inverse = "http://www.simantics.org/Sysdyn-1.0/Expressions/Inverse";\r
         public static final String Flow = "http://www.simantics.org/Sysdyn-1.0/Flow";\r
         public static final String FlowConnection = "http://www.simantics.org/Sysdyn-1.0/FlowConnection";\r
         public static final String GameExperiment = "http://www.simantics.org/Sysdyn-1.0/GameExperiment";\r
+        public static final String HasActiveExpression = "http://www.simantics.org/Sysdyn-1.0/HasActiveExpression";\r
+        public static final String HasActiveExpression_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasActiveExpression/Inverse";\r
+        public static final String HasArrayIndexes = "http://www.simantics.org/Sysdyn-1.0/HasArrayIndexes";\r
+        public static final String HasArrayIndexes_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasArrayIndexes/Inverse";\r
+        public static final String HasArrayRange = "http://www.simantics.org/Sysdyn-1.0/HasArrayRange";\r
+        public static final String HasArrayRange_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasArrayRange/Inverse";\r
         public static final String HasDefaultInputValue = "http://www.simantics.org/Sysdyn-1.0/HasDefaultInputValue";\r
         public static final String HasDefaultInputValue_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasDefaultInputValue/Inverse";\r
         public static final String HasEnumerationIndexes = "http://www.simantics.org/Sysdyn-1.0/HasEnumerationIndexes";\r
         public static final String HasEnumerationIndexes_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasEnumerationIndexes/Inverse";\r
         public static final String HasEquation = "http://www.simantics.org/Sysdyn-1.0/HasEquation";\r
         public static final String HasEquation_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasEquation/Inverse";\r
-        public static final String HasExpression = "http://www.simantics.org/Sysdyn-1.0/HasExpression";\r
-        public static final String HasExpression_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasExpression/Inverse";\r
+        public static final String HasExpressions = "http://www.simantics.org/Sysdyn-1.0/HasExpressions";\r
+        public static final String HasExpressions_Inverse = "http://www.simantics.org/Sysdyn-1.0/HasExpressions/Inverse";\r
         public static final String HasHead = "http://www.simantics.org/Sysdyn-1.0/HasHead";\r
         public static final String HasHeadTerminal = "http://www.simantics.org/Sysdyn-1.0/HasHeadTerminal";\r
         public static final String HasInitialEquation = "http://www.simantics.org/Sysdyn-1.0/HasInitialEquation";\r
@@ -461,6 +481,8 @@ public class SysdynResource {
     }\r
     \r
     public SysdynResource(ReadGraph graph) {\r
+        ArrayIndexes = getResourceOrNull(graph, URIs.ArrayIndexes);\r
+        ArrayIndexes_Inverse = getResourceOrNull(graph, URIs.ArrayIndexes_Inverse);\r
         Auxiliary = getResourceOrNull(graph, URIs.Auxiliary);\r
         AuxiliarySymbol = getResourceOrNull(graph, URIs.AuxiliarySymbol);\r
         BasicExperiment = getResourceOrNull(graph, URIs.BasicExperiment);\r
@@ -590,17 +612,25 @@ public class SysdynResource {
         EnumerationIndexes_Inverse = getResourceOrNull(graph, URIs.EnumerationIndexes_Inverse);\r
         Experiment = getResourceOrNull(graph, URIs.Experiment);\r
         Expression = getResourceOrNull(graph, URIs.Expression);\r
+        Expressions = getResourceOrNull(graph, URIs.Expressions);\r
+        Expressions_Inverse = getResourceOrNull(graph, URIs.Expressions_Inverse);\r
         Flow = getResourceOrNull(graph, URIs.Flow);\r
         FlowConnection = getResourceOrNull(graph, URIs.FlowConnection);\r
         GameExperiment = getResourceOrNull(graph, URIs.GameExperiment);\r
+        HasActiveExpression = getResourceOrNull(graph, URIs.HasActiveExpression);\r
+        HasActiveExpression_Inverse = getResourceOrNull(graph, URIs.HasActiveExpression_Inverse);\r
+        HasArrayIndexes = getResourceOrNull(graph, URIs.HasArrayIndexes);\r
+        HasArrayIndexes_Inverse = getResourceOrNull(graph, URIs.HasArrayIndexes_Inverse);\r
+        HasArrayRange = getResourceOrNull(graph, URIs.HasArrayRange);\r
+        HasArrayRange_Inverse = getResourceOrNull(graph, URIs.HasArrayRange_Inverse);\r
         HasDefaultInputValue = getResourceOrNull(graph, URIs.HasDefaultInputValue);\r
         HasDefaultInputValue_Inverse = getResourceOrNull(graph, URIs.HasDefaultInputValue_Inverse);\r
         HasEnumerationIndexes = getResourceOrNull(graph, URIs.HasEnumerationIndexes);\r
         HasEnumerationIndexes_Inverse = getResourceOrNull(graph, URIs.HasEnumerationIndexes_Inverse);\r
         HasEquation = getResourceOrNull(graph, URIs.HasEquation);\r
         HasEquation_Inverse = getResourceOrNull(graph, URIs.HasEquation_Inverse);\r
-        HasExpression = getResourceOrNull(graph, URIs.HasExpression);\r
-        HasExpression_Inverse = getResourceOrNull(graph, URIs.HasExpression_Inverse);\r
+        HasExpressions = getResourceOrNull(graph, URIs.HasExpressions);\r
+        HasExpressions_Inverse = getResourceOrNull(graph, URIs.HasExpressions_Inverse);\r
         HasHead = getResourceOrNull(graph, URIs.HasHead);\r
         HasHeadTerminal = getResourceOrNull(graph, URIs.HasHeadTerminal);\r
         HasInitialEquation = getResourceOrNull(graph, URIs.HasInitialEquation);\r