L0.valueAccessor FUNCTIONS.equationPropertyValue : L0.ExternalValue
@L0.assert SYSDYN.Variable.equation
_ : L0.Value
-
+//Modules can have subrelations
+SYSDYN.subIsHeadOf <R SYSDYN.Variable.isHeadOf
+SYSDYN.subIsTailOf <R SYSDYN.Variable.isTailOf
FUNCTIONS.valuePropertyProperties : L0.ExternalValue
FUNCTIONS.valuePropertyValue : L0.ExternalValue
};
}
- public static Resource createTerminalRelation(WriteGraph graph, Resource symbol, Resource connectionRelation, Resource configurationRelation) throws DatabaseException {
+ public static Resource createTerminalRelation(WriteGraph graph, Resource symbol, Resource connectionRelation, Resource configurationRelationBase) throws DatabaseException {
StructuralResource2 STR = StructuralResource2.getInstance(graph);
ModelingResources MOD = ModelingResources.getInstance(graph);
Layer0 L0 = Layer0.getInstance(graph);
-
-
+
+ Resource configurationRelationBaseInverse = graph.getSingleObject(configurationRelationBase, L0.InverseOf);
+
+ Resource configurationRelation = GraphUtils.create(graph,
+ L0.SubrelationOf, configurationRelationBase,
+ L0.PartOf, symbol,
+ L0.HasName, NameUtils.getSafeName(graph, configurationRelationBase)
+ );
+
+ Resource configurationRelationInverse = GraphUtils.create(graph,
+ L0.PartOf, configurationRelation,
+ L0.SubrelationOf, configurationRelationBaseInverse,
+ L0.HasName, "Inverse",
+ L0.InverseOf, configurationRelation);
+
Resource terminalRelation = null;
terminalRelation = GraphUtils.create(graph,
MOD.DiagramConnectionRelationToConnectionRelation, configurationRelation,