--- /dev/null
+%import "layer0.graph" L0\r
+%import "structural2.graph" ST\r
+%import "project.graph" PROJ\r
+\r
+%deflib L0.Type Sysdyn\r
+%deflib L0.Relation Sysdyn\r
+\r
+######################################################################\r
+# Defines ontology and attaches it to TypeSystemProject\r
+######################################################################\r
+\r
+Sysdyn @ "Sysdyn-1.0" : L0.Ontology\r
+ L0.PartOf L0.TypeSystemProject\r
+ L0.PartOf L0.SimanticsDomain\r
+ L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI\r
+ L0.HasVersion "1.0" : L0.Version\r
+ L0.HasResourceClass "org.simantics.sysdyn.SysdynResource" : L0.String\r
+ L0.HasPackageName "sysdyn" : L0.String \r
+SysdynNamespace : L0.Namespace\r
+ L0.PartOf L0.TypeSystemNamespaces\r
+ L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI\r
+ L0.HasNamespaceRoot Sysdyn\r
+\r
+SysdynProject : PROJ.Feature\r
+ L0.PartOf Sysdyn\r
+ L0.PartOf PROJ.PublishedProjectFeatures\r
+ \r
+SysdynTest : PROJ.Project2\r
+ PROJ.HasFeature SysdynProject \r
+ L0.PartOf L0.Projects \r
+ \r
+######################################################################\r
+# Configuration\r
+######################################################################\r
+\r
+Configuration <T ST.Composite\r
+ [L0.ConsistsOf all (Variable or Dependency)]\r
+\r
+######################################################################\r
+# Variables\r
+######################################################################\r
+\r
+Variable <T ST.Component \r
+ [HasX card "1"]\r
+ [HasY card "1"]\r
+HasX <R L0.HasProperty : L0.FunctionalRelation\r
+ L0.HasRange L0.Double\r
+HasY <R L0.HasProperty : L0.FunctionalRelation\r
+ L0.HasRange L0.Double \r
+HasValue <R L0.HasProperty : L0.FunctionalRelation\r
+ L0.HasRange L0.String\r
+\r
+IndependentVariable <T Variable\r
+ [L0.HasName card "1"]\r
+\r
+Auxiliary <T IndependentVariable\r
+Stock <T IndependentVariable\r
+Valve <T IndependentVariable\r
+ [HasValue card "0..1"]\r
+Cloud <T IndependentVariable \r
+\r
+######################################################################\r
+# Connections\r
+######################################################################\r
+\r
+HasAngle <R L0.HasProperty\r
+ L0.HasRange L0.Double\r
+IsTailOf <R ST.IsConnected\r
+ L0.HasDomain Variable\r
+ L0.HasRange Dependency\r
+ L0.InverseOf HasTail \r
+IsHeadOf <R ST.IsConnected\r
+ L0.HasDomain Variable\r
+ L0.HasRange Dependency\r
+ L0.InverseOf HasHead\r
+\r
+Dependency <T ST.Connection\r
+ [HasAngle card "1"]\r
+ [HasHead card "1"]\r
+ [HasTail card "1"]\r
+Flow <T ST.Connection\r
+ [HasHead card "1"]\r
+ [HasTail card "1"]\r
+ \r
+######################################################################\r
+# Test configuration\r
+######################################################################\r
+\r
+TestConfiguration : Configuration\r
+ L0.PartOf SysdynTest\r
+ \r
+ \r
+ \r
+ \r
+
\ No newline at end of file
--- /dev/null
+%import "layer0.graph" L0\r
+%import "diagram2.graph" DIA\r
+%import "g2d.graph" G2D\r
+%import "structural2.graph" ST\r
+%import "modeling.graph" MOD\r
+%import "project.graph" PROJECT\r
+%import "simulation.graph" SIMU\r
+\r
+######################################################################\r
+# Defines ontology and attaches it to TypeSystemProject\r
+######################################################################\r
+\r
+Sysdyn : L0.Ontology\r
+ L0.PartOf L0.TypeSystemProject\r
+ L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI\r
+ L0.HasVersion "1.0" : L0.Version\r
+ L0.HasResourceClass "org.simantics.sysdyn.ui.SysdynResource" : L0.String\r
+SysdynNamespace : L0.Namespace\r
+ L0.PartOf L0.TypeSystemNamespaces\r
+ L0.HasNamespace "http://www.simantics.org/Sysdyn" : L0.URI\r
+ L0.HasNamespaceRoot Sysdyn\r
+\r
+######################################################################\r
+# Features\r
+######################################################################\r
+\r
+SysdynModellingDomain : PROJECT.ModellingDomain\r
+ L0.PartOf Sysdyn\r
+ L0.PartOf PROJECT.PublishedProjectFeatures\r
+ PROJECT.RequiresFeature SysdynModelManager\r
+ PROJECT.RequiresNamespace "http://www.simantics.org/Sysdyn" : L0.URI\r
+\r
+SysdynModelManager : PROJECT.Feature\r
+ L0.HasLabel "Sysdyn Model Manager" : L0.String\r
+ L0.HasDescription """Sysdyn Model Manager.""" : L0.String\r
+ L0.PartOf Sysdyn\r
+ #L0.PartOf PROJECT.PublishedProjectFeatures\r
+ PROJECT.RequiresFeature MOD.ModelingProject\r
+ PROJECT.RequiresFeature PROJECT.ExperimentControl\r
+ PROJECT.IsCompatibleWithFeature MOD.ModelingProject\r
+\r
+######################################################################\r
+# Model\r
+######################################################################\r
+\r
+SysdynModel <T SIMU.Model\r
+ L0.PartOf Sysdyn\r
+\r
+######################################################################\r
+# Macros for component types\r
+######################################################################\r
+\r
+%define def()\r
+ $subject <T ST.Component\r
+ L0.PartOf Sysdyn\r
+\r
+%define connection($relation)\r
+ $subject\r
+ ST.HasParameter _ : ST.ConnectionVariable\r
+ ST.Binds $relation\r
+\r
+%define variable($relation, $default)\r
+ $subject\r
+ ST.HasParameter _ : ST.LiteralVariable\r
+ ST.Binds $relation\r
+ L0.Asserts _ : L0.Assertion\r
+ L0.HasPredicate $relation\r
+ L0.HasObject $default\r
+\r
+######################################################################\r
+# Macros for symbols\r
+######################################################################\r
+\r
+%define defSymbol($svg)\r
+ $subject <T DIA.DefinedElement\r
+ ST.IsDefinedBy %list : DIA.Composite <R L0.IsRelatedTo\r
+ _ : DIA.SVGElement\r
+ G2D.HasSVGDocument $svg : L0.String\r
+\r
+%define terminal($transform, $parent, $target)\r
+ $subject\r
+ G2D.HasTransform $transform : G2D.Transform\r
+ DIA.HasConnectionVariable _ : ST.ConnectionVariable\r
+ ST.Binds _ <R ST.IsConnected\r
+ MOD.DiagramConnectionRelationToConnectionRelation $target\r
+ ST.IsParameterOf $parent\r
+\r
+######################################################################\r
+# Component types\r
+######################################################################\r
+ \r
+HasX <R L0.HasProperty\r
+ L0.HasRange L0.Double\r
+ L0.PartOf Sysdyn\r
+HasY <R L0.HasProperty\r
+ L0.HasRange L0.Double\r
+ L0.PartOf Sysdyn\r
+ \r
+Variable\r
+ def() \r
+\r
+ # symbol\r
+\r
+ MOD.ComponentTypeToSymbol VariableElement <T DIA.Element \r
+ L0.PartOf Sysdyn\r
+ [HasX card "1"]\r
+ [HasY card "1"]\r
+ \r
+ \r
+######################################################################\r
+# Test diagram\r
+###################################################################### \r
+ \r
+TestDiagram : DIA.Diagram <R L0.IsRelatedTo\r
+ L0.PartOf Sysdyn\r
+ %list_elements\r
+ var : VariableElement\r
+ HasX "10.0" : L0.Double\r
+ HasY "10.0" : L0.Double\r
+ \r
+
\ No newline at end of file