+++ /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