]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ontology/graph/Modeling.pgraph
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ontology / graph / Modeling.pgraph
diff --git a/bundles/org.simantics.modeling.ontology/graph/Modeling.pgraph b/bundles/org.simantics.modeling.ontology/graph/Modeling.pgraph
new file mode 100644 (file)
index 0000000..1bd459d
--- /dev/null
@@ -0,0 +1,505 @@
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+L0X = <http://www.simantics.org/Layer0X-1.1>\r
+STR = <http://www.simantics.org/Structural-1.2>\r
+PROJ = <http://www.simantics.org/Project-1.2>\r
+G2D = <http://www.simantics.org/G2D-1.1>\r
+DIA = <http://www.simantics.org/Diagram-2.2>\r
+SIMU = <http://www.simantics.org/Simulation-1.1>\r
+DOC = <http://www.simantics.org/Document-1.2>\r
+ISSUE = <http://www.simantics.org/Issue-1.2>\r
+SG = <http://www.simantics.org/Scenegraph-1.1>\r
+VIEW = <http://www.simantics.org/Views-1.2>\r
+SEL = <http://www.simantics.org/SelectionView-1.2>\r
+VP = <http://www.simantics.org/Viewpoint-1.2>\r
+IMAGE = <http://www.simantics.org/Image2-1.2>\r
+SHEET = <http://www.simantics.org/Spreadsheet-1.2>\r
+\r
+PRED = L0X.Predicate\r
+\r
+MOD = <http://www.simantics.org/Modeling-1.2> : L0.Ontology\r
+    @L0.new\r
+    L0.HasResourceClass "org.simantics.modeling.ModelingResources"\r
+\r
+MOD.SCLMain : L0.SCLModule\r
+    L0.SCLModule.definition _ : L0.String\r
+      @L0.loadString "scl/SCLMain.scl"\r
+\r
+MOD.Functions : L0.Library\r
+
+//##########################################################################
+//## Concepts
+//##########################################################################
+\r
+MOD.StructuralModel <T SIMU.Model\r
+    >-- MOD.StructuralModel.HasComponentTypeSupertype --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction\r
+        L0.HasDescription """When a new component type is created, it inherits the type \r
+specified by this relation. If unspecified, the new component type inherits STR.Component."""\r
+    >-- MOD.StructuralModel.HasDefaultComponentTypeName --> L0.String <R L0.HasProperty : L0.TotalFunction : SEL.GenericParameterType\r
+        L0.HasDescription """Specifies the name of a new component type. If the name is \r
+already used, adds a large enough number after the name."""\r
+        L0.HasLabel "Default User Component Name"\r
+    >-- MOD.StructuralModel.HasComponentTypeSubstructureType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction    \r
+        L0.HasDescription """Specifies the type of the substructure of a component type\r
+created to the model."""    \r
+    >-- MOD.StructuralModel.HasDefaultComponentTypeSymbol --> L0.Template <R L0.IsRelatedTo : L0.FunctionalRelation\r
+        L0.HasDescription """Specifies a template for a symbol that is created \r
+by default for the new component type under the model."""\r
+    >-- MOD.StructuralModel.HasSymbolDiagramType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation\r
+\r
+    >-- MOD.StructuralModel.HasConfigurationType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation\r
+\r
+    @L0.assert MOD.StructuralModel.HasComponentTypeSupertype STR.Component\r
+    @L0.assert MOD.StructuralModel.HasDefaultComponentTypeName "NewUserComponent"\r
+    @L0.assert MOD.StructuralModel.HasComponentTypeSubstructureType STR.Composite\r
+    @L0.assert MOD.StructuralModel.HasConfigurationType STR.Composite\r
+\r
+MOD.SharedOntology <T L0.SharedOntology\r
+    @L0.tag L0.Abstract\r
+    @L0.assert MOD.StructuralModel.HasComponentTypeSupertype STR.Component\r
+    @L0.assert MOD.StructuralModel.HasDefaultComponentTypeName "NewUserComponent"\r
+    @L0.assert MOD.StructuralModel.HasComponentTypeSubstructureType STR.Composite\r
+    @L0.assert MOD.StructuralModel.HasConfigurationType STR.Composite\r
+    \r
+
+MOD.Encapsulable : PRED.Predicate
+MOD.Instantiable : PRED.Predicate
+MOD.HasCounterpart : PRED.Predicate
+
+MOD.Mapped <R L0.IsWeaklyRelatedTo : L0.Tag
+    L0.InverseOf MOD.Mapped
+MOD.MappedFromConnector <R MOD.Mapped\r
+    L0.InverseOf MOD.MappedFromConnector\r
+
+MOD.HasMappingTemplate <R L0X.HasTemplate
+
+MOD.BasicExpression <T L0.String
+
+MOD.Represents <R L0.IsWeaklyRelatedTo
+MOD.SymbolToComponentType <R L0.IsWeaklyRelatedTo
+    L0.InverseOf MOD.ComponentTypeToSymbol
+MOD.ComponentTypeToSymbol <R L0.IsWeaklyRelatedTo
+MOD.DiagramToComposite <R L0.IsWeaklyRelatedTo
+    L0.InverseOf MOD.CompositeToDiagram
+MOD.CompositeToDiagram <R L0.IsRelatedTo
+MOD.ElementToComponent <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation
+    L0.InverseOf MOD.ComponentToElement
+MOD.ComponentToElement <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation\r
+MOD.ConnectorToComponent <R L0.IsWeaklyRelatedTo\r
+    L0.InverseOf MOD.ComponentToConnector\r
+MOD.ComponentToConnector <R L0.IsWeaklyRelatedTo\r
+MOD.ConnectionToConnector <R L0.IsWeaklyRelatedTo\r
+    L0.InverseOf MOD.ConnectorToConnection <R L0.IsWeaklyRelatedTo\r
+MOD.MapsToConnection <R L0.IsWeaklyRelatedTo\r
+    L0.InverseOf MOD.ConnectionMapsTo\r
+MOD.ConnectionMapsTo <R L0.IsWeaklyRelatedTo
+MOD.DiagramConnectionToConnection <R MOD.MapsToConnection
+    L0.InverseOf MOD.ConnectionToDiagramConnection
+MOD.ConnectionToDiagramConnection <R MOD.ConnectionMapsTo\r
+MOD.DiagramConnectionToConnectionSpecial <R MOD.MapsToConnection\r
+    L0.InverseOf MOD.ConnectionToDiagramConnectionSpecial\r
+MOD.ConnectionToDiagramConnectionSpecial <R MOD.ConnectionMapsTo
+MOD.DiagramConnectionRelationToConnectionRelation <R L0.IsWeaklyRelatedTo
+    L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelation
+MOD.DiagramConnectionTypeToConnectionType  <R L0.IsWeaklyRelatedTo
+    L0.InverseOf MOD.ConnectionTypeToDiagramConnectionType  <R L0.IsWeaklyRelatedTo
+MOD.ConnectionRelationToDiagramConnectionRelation <R L0.IsWeaklyRelatedTo
+
+MOD.DiagramConnectionRelationToConnectionRelationB <R L0.IsWeaklyRelatedTo\r
+    L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelationB  <R L0.IsWeaklyRelatedTo
+MOD.DiagramConnectionRelationToConnectionRelationC <R L0.IsWeaklyRelatedTo\r
+    L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelationC  <R L0.IsWeaklyRelatedTo
+MOD.DiagramConnectionRelationToComponentType <R L0.IsWeaklyRelatedTo
+\r
+MOD.HasConnectionMappingSpecification <R L0.IsRelatedTo\r
+    L0.HasDomain DIA.Connector\r
+    L0.HasRange MOD.ConnectionMappingSpecification\r
+MOD.ConnectionTypeToConnectionMappingSpecification <R L0.IsRelatedTo\r
+    L0.HasDomain STR.ConnectionType\r
+    L0.HasRange MOD.ConnectionMappingSpecification\r
+MOD.ConnectionMappingSpecification <T L0.Entity\r
+    // MOD.DiagramConnectionRelationToConnectionRelationB\r
+    // MOD.DiagramConnectionRelationToConnectionRelationC\r
+    // MOD.DiagramConnectionRelationToComponentType\r
+MOD.ConnectionRelationToConnectionMappingSpecification <R L0.IsRelatedTo\r
+    L0.HasDomain DIA.Connector\r
+    L0.HasRange MOD.ConnectionMappingSpecification\r
+MOD.NeedsConnectionMappingSpecification <R L0.IsRelatedTo : L0.Tag : L0.FunctionalRelation\r
+    L0.HasDescription "Tells a connection relation that a diagram connection using it will require a DIA.Connector that has MOD.HasConnectionMappingSpecification statement attached to it if the used connection type has a MOD.ConnectionTypeToConnectionMappingSpecification specified. It guides connection creation."\r
+    L0.HasDomain STR.ConnectionRelation\r
+    L0.HasRange STR.ConnectionRelation\r
+\r
+MOD.ConnectionTypeToComponentType <R L0.IsWeaklyRelatedTo\r
+MOD.ConnectionTypeToConnectionRelation <R L0.IsWeaklyRelatedTo\r
+\r
+MOD.ConnectionRelationToTerminal <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation\r
+
+MOD.DiagramToCompositeMapping <T L0X.Trigger\r
+MOD.ComponentTypeUpdater <T L0X.Trigger\r
+    L0.HasDescription """This trigger is used with component type configurations to keep the component type interface and symbol terminals in sync with the configuration."""\r
+\r
+MOD.ImpliesDiagramConnectionRelationType <R L0.IsRelatedTo\r
+    <-- STR.ConnectionRelation\r
+    --> L0.Type\r
+    L0.HasDescription """This relation indicates that a certain diagram connection relation type\r
+should be used together with a certain connection relation."""
+
+MOD.ReferenceElement <T DIA.Element
+    @L0.singleProperty MOD.HasParentComponent
+    @L0.singleProperty MOD.HasReferenceRelation
+MOD.HasParentComponent <R L0.IsWeaklyRelatedTo
+    L0.HasRange STR.Component\r
+    L0.InverseOf MOD.HasParentComponent.Inverse <R L0.IsWeaklyRelatedTo
+MOD.HasReferenceRelation <R L0.IsRelatedTo
+    L0.HasRange L0.Relation\r
+    L0.InverseOf MOD.HasReferenceRelation.Inverse <R L0.IsWeaklyRelatedTo\r
+    @L0.optionalProperty MOD.HasReferencedType
+MOD.HasReferencedType <R L0.IsRelatedTo\r
+    --> L0.Type\r
+
+MOD.TestTerminal <T DIA.DefinedElement <T DIA.Terminal\r
+    @L0.tag L0.Deprecated
+    STR.IsDefinedBy _ : DIA.Composite <R L0.IsRelatedTo\r
+        @L0.orderedSet
+            _ : DIA.SVGElement
+                G2D.HasSVGDocument """<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" overflow="visible" version="1.1"><g transform="translate(-0.0,-0.0)"><rect x="-0.5" y="-0.5" width="1.0" height="1.0" fill="rgb(255,102,0)" stroke="black" stroke-width="0.1"/></g></svg>"""
+\r
+//??
+MOD.WebmonVariable <T L0.OrderedSet
+
+MOD.HasModelQuery <R L0.IsRelatedTo
+    L0.HasDescription "For attaching so called query nodes to models in the model browser. The query nodes will be shown under the model sub-node Queries."
+    L0.HasRange L0.Entity
+\r
+MOD.HasBaseRules <R L0.IsRelatedTo
+    L0.HasRange STR.ModelingRules
+MOD.MappedModelingRules <T STR.ModelingRules
+    @L0.singleProperty MOD.HasBaseRules
+
+MOD.MappingSubgraphExtent : L0X.SubgraphExtent
+MOD.MappingSubgraphAdvisor : L0X.SubgraphAdvisor
+\r
+MOD.Documents : L0.Library\r
+\r
+MOD.Documents.IssueBinding : DOC.DocumentTypeBinding\r
+  DOC.DocumentTypeBinding.HasType ISSUE.Issue\r
+  DOC.DocumentTypeBinding.HasDocumentType MOD.Documents.IssueTemplate\r
+\r
+MOD.Documents.IssueTemplate <T DOC.Scenegraph.Composite\r
+  >-- MOD.Documents.IssueTemplate.UserContent <R L0.HasProperty : SG.LiftedPropertyRelation\r
+      --> DOC.WikiDocument.WikiText\r
+  @L0.assert MOD.Documents.IssueTemplate.UserContent "Some user-defined text about this issue"\r
+  @L0.assert SG.Node.children\r
+    _ : L0.List\r
+      @L0.list\r
+        MOD.Documents.IssueTemplate.Header : DOC.Scenegraph.Wiki\r
+          DOC.Scenegraph.Wiki.text MOD.Functions.issueDocumentHeader : L0.Function \r
+        MOD.Documents.IssueTemplate.User : DOC.Scenegraph.Wiki\r
+          DOC.Scenegraph.Node.printInPDF true\r
+          DOC.Scenegraph.Wiki.text\r
+            @SG.lifted MOD.Documents.IssueTemplate.UserContent\r
+    \r
+MOD.HiddenComposite <R L0.IsRelatedTo : L0.Tag : L0.FunctionalRelation\r
+    L0.HasDomain STR.Composite\r
+\r
+// @since 1.25.0, 1.22.2\r
+MOD.GeneratesConnectionComponentInternally\r
+    @L0.defTag\r
+    L0.HasDomain STR.ConnectionRelation\r
+    L0.HasDescription "Indicates that a tagged connection relation will generate a component for the configuration connection internally."\r
+\r
+//##########################################################################
+//## Templates
+//##########################################################################
+
+MOD.HasModelingTemplate <R L0X.HasTemplate
+
+MOD.DiagramTemplate <T L0.Template\r
+    >-- MOD.DiagramTemplate.HasMappingType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation\r
+    @L0.assert MOD.DiagramTemplate.HasMappingType MOD.DiagramToCompositeMapping\r
+\r
+MOD.HasDiagramType <R L0.IsRelatedTo\r
+    L0.HasRange L0.Type\r
+    
+
+//##########################################################################
+//## UI
+//##########################################################################
+
+MOD.DependenciesView <T L0X.RelationView
+    @L0.assert L0.HasName "Dependencies"
+    @L0.assert L0X.AppliesRelation L0X.DependenciesRelation
+    @L0.assert L0X.HasBindingPattern "bfff"
+\r
+//##########################################################################\r
+//## Templates\r
+//##########################################################################\r
+\r
+MOD.defSymbol : L0.Template
+    @template %subject %label %componentType
+        %subject <T DIA.Element
+            MOD.SymbolToComponentType %componentType
+            L0.HasLabel %label\r
+\r
+MOD.terminal : L0.Template\r
+    @template %subject %parent %relation\r
+        %subject\r
+            DIA.HasConnectionPoint %relation 
+                <-- %parent\r
+\r
+MOD.terminalRelation : L0.Template\r
+    @template %subject %target\r
+        %subject <R STR.IsConnectedTo\r
+            MOD.DiagramConnectionRelationToConnectionRelation %target\r
+\r
+MOD.connection : L0.Template\r
+    @template %subject %relation\r
+        %subject \r
+            >-- %relation\r
+            MOD.DiagramConnectionRelationToConnectionRelation %relation\r
+\r
+MOD.contextualHelpId ==> "String" <R L0.HasProperty : L0.FunctionalRelation\r
+\r
+MOD.convertedValue <R L0.HasProperty : L0.FunctionalRelation\r
+  L0.RequiresValueType "a"\r
+\r
+MOD.OntologyDependencies : PROJ.NamespaceRequirement\r
+    L0.HasDescription "Specifies the ontologies required by a modelling project."\r
+    PROJ.RequiresNamespace\r
+        "http://www.simantics.org/Layer0-1.1" : L0.URI\r
+        "http://www.simantics.org/Diagram-2.2" : L0.URI\r
+        "http://www.simantics.org/Modeling-1.2" : L0.URI\r
+        "http://www.simantics.org/SelectionView-1.2" : L0.URI\r
+\r
+MOD.ModelBrowser <T VIEW.Explorer\r
+    @L0.assert VIEW.Control.layoutData\r
+        _ : VIEW.GridLayout.GridData\r
+            VIEW.GridLayout.GridData.horizontalGrab true\r
+            VIEW.GridLayout.GridData.verticalGrab true\r
+    @L0.assert VIEW.Control.style\r
+        _ : VIEW.Control.Style\r
+            VIEW.Control.Style.HasConstant VIEW.Control.Style.Constant.Multi\r
+            VIEW.Control.Style.HasConstant VIEW.Control.Style.Constant.FullSelection\r
+    @L0.assert VIEW.Explorer.columns\r
+        _ : VIEW.Explorer.ColumnList\r
+            @L0.list\r
+                VIEW.SingleColumn\r
+    @L0.assert VIEW.Explorer.input MOD.Functions.projectSelection\r
+    @L0.assert VIEW.Explorer.columnsVisible false\r
+    @L0.assert VIEW.Explorer.displayFilter true\r
+    @L0.assert VIEW.Explorer.publishSelection true\r
+    @L0.assert VIEW.Explorer.persistor MOD.Functions.standardPersistor\r
+    @L0.assert VIEW.Explorer.browseContext\r
+        _ : VIEW.ResourceURI\r
+            VIEW.ResourceURI.HasResource PROJ.ProjectBrowseContext\r
+    @L0.assert VIEW.Explorer.contextMenuId "#ModelBrowserPopup"\r
+    @L0.assert VIEW.Explorer.uiContext "org.simantics.modeling.ui.modelBrowser"\r
+    @L0.assert VIEW.Explorer.useNodeBrowseContexts true\r
+    @L0.assert VIEW.Explorer.useNodeActionContexts true\r
+\r
+MOD.PlainModelBrowser : MOD.ModelBrowser\r
+\r
+MOD.MonitorValue <T STR.MonitorValue\r
+  @L0.assert L0.valueAccessor\r
+    MOD.Functions.monitorValueAccessor : L0.ExternalValue\r
+  @L0.assert L0.ConvertsToValueWith\r
+    MOD.Functions.sclValue : L0.ExternalValue\r
+  @L0.assert L0.SCLValue.environment\r
+    _ : L0.SCLValue.Environment\r
+      L0.SCLValue.Environment.moduleName "Simantics/All"\r
+      L0.SCLValue.Environment.namespace ""\r
+  @L0.assert L0.readOnly\r
+    MOD.Functions.monitorReadOnly : L0.Function\r
+\r
+MOD.SCLValue <T L0.SCLValue\r
+  @L0.assert L0.ConvertsToValueWith\r
+    MOD.Functions.sclValue : L0.ExternalValue\r
+  /*@L0.assert L0.SCLValue.environment\r
+    _ : L0.SCLValue.Environment\r
+      L0.SCLValue.Environment.moduleName "Simantics/All"\r
+      L0.SCLValue.Environment.namespace ""*/\r
+\r
+MOD.scl : L0.Template\r
+    @template %subject %property %expression %valueType\r
+        %subject\r
+            %property _ : MOD.SCLValue\r
+              L0.SCLValue.expression %expression\r
+              L0.HasValueType %valueType\r
+\r
+MOD.Functions.obtainedString : L0.Function\r
+  L0.HasValueType "String"\r
+\r
+MOD.Functions.obtainedDouble : L0.Function\r
+  L0.HasValueType "Double"\r
+\r
+MOD.Functions.obtainedBoolean : L0.Function\r
+  L0.HasValueType "Boolean"\r
+\r
+MOD.Functions.obtainedColor : L0.Function\r
+  L0.HasValueType "Color"\r
+    \r
+MOD.Functions.obtainedFormatter : L0.Function\r
+  L0.HasValueType "Formatter"\r
+\r
+MOD.Functions.obtainedVec2d : L0.Function\r
+  L0.HasValueType "Formatter"\r
+\r
+MOD.self <R L0.HasProperty : L0.FunctionalRelation\r
+\r
+//##########################################################################\r
+//## Source information modeling\r
+//##########################################################################\r
+\r
+MOD.SourceInformation <T L0.Entity\r
+    >-- MOD.SourceInformation.copiedFrom ==> "String" <R L0.HasProperty : L0.FunctionalRelation\r
+    >-- MOD.SourceInformation.copiedAtRevision --> L0.RevisionId <R L0.HasProperty : L0.FunctionalRelation\r
+MOD.HasSourceInformation --> MOD.SourceInformation <R L0.IsRelatedTo : L0.FunctionalRelation\r
+\r
+//##########################################################################\r
+//## Change information modeling\r
+//##########################################################################\r
+\r
+MOD.ChangeInformation <T L0.Literal\r
+    @L0.assert L0.HasDataType ${ createdBy : String, createdAt : Long, modifiedBy : String, modifiedAt : Long }\r
+\r
+MOD.Functions.modificationTimeTextLong : L0.Function\r
+    L0.HasValueType "String"\r
+\r
+MOD.ChangeInformation."n-createdBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType\r
+    ==> "String"\r
+    L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    \r
+    L0.HasLabel "Author"\r
+    SEL.SortingName "1"\r
+    L0.readOnly true\r
+\r
+MOD.ChangeInformation."n-createdAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    \r
+    ==> "Long"\r
+    L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    \r
+    L0.HasLabel "Created At"\r
+    SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong\r
+    SEL.SortingName "2"\r
+    L0.readOnly true\r
+\r
+MOD.ChangeInformation."n-modifiedBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    \r
+    ==> "String"\r
+    L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    \r
+    L0.HasLabel "Last Modified By"\r
+    SEL.SortingName "3"\r
+    L0.readOnly true\r
+\r
+MOD.ChangeInformation."n-modifiedAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    \r
+    ==> "Long"\r
+    L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    \r
+    L0.HasLabel "Last Modified At"\r
+    SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong\r
+    SEL.SortingName "4"\r
+    L0.readOnly true\r
+\r
+MOD.changeInformation <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType\r
+    L0.HasLabel "Change Information"\r
+    --> MOD.ChangeInformation\r
+    SEL.HasDisplayValue ""\r
+    L0.readOnly true\r
+    SEL.canBeLifted false\r
+    SEL.HasStandardPropertyInfo MOD.SystemPropertyInfo\r
+\r
+MOD.TypeWithChangeInformation <T L0.Entity\r
+\r
+L0.HasName : SEL.GenericParameterType\r
+  SEL.HasDisplayValue _ : SEL.DisplayValue\r
+    L0.Literal.HasInputValidator MOD.Functions.nameInputValidator  : L0.Function\r
+\r
+L0.HasLabel : SEL.GenericParameterType\r
+L0X.HasGeneratedNamePrefix : SEL.GenericParameterType\r
+\r
+//MOD.HasNameBrowseContextContribution : VP.BrowseContextContribution\r
+//    VP.BrowseContextContribution.HasType L0.String\r
+//    VP.BrowseContextContribution.HasBrowseContext\r
+//      _ : VP.BrowseContext\r
+\r
+L0.SCLModule : MOD.TypeWithChangeInformation\r
+L0.Library : MOD.TypeWithChangeInformation\r
+SIMU.Model : MOD.TypeWithChangeInformation\r
+MOD.Subscription : MOD.TypeWithChangeInformation\r
+MOD.Subscription.Item : MOD.TypeWithChangeInformation\r
+SIMU.State : MOD.TypeWithChangeInformation\r
+ISSUE.Issue : MOD.TypeWithChangeInformation     \r
+DOC.Document : MOD.TypeWithChangeInformation\r
+SHEET.Book : MOD.TypeWithChangeInformation\r
+SHEET.Spreadsheet : MOD.TypeWithChangeInformation\r
+L0.Type  : MOD.TypeWithChangeInformation\r
+L0.Relation : MOD.TypeWithChangeInformation\r
+STR.ComponentType <T MOD.TypeWithChangeInformation\r
+\r
+L0.SCLModule : L0.TypeWithIdentifier\r
+L0.Type  : L0.TypeWithIdentifier\r
+L0.Relation : L0.TypeWithIdentifier\r
+L0.Library : L0.TypeWithIdentifier\r
+STR.ComponentType <T L0.TypeWithIdentifier\r
+\r
+MOD.PartialIC <T L0.Literal\r
+    //@L0.assert L0.HasDataType ${ values : Map( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [], Variant) }\r
+    @L0.assert L0.HasDataType ${ variants : ( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [] ) [], variants : Variant[] }\r
+\r
+MOD.SCLCommandSession <T L0.Entity\r
+    >-- MOD.SCLCommandSession.hasValue --> L0.Value <R L0.HasProperty : SEL.GenericParameterType\r
+    \r
+MOD.InitialCondition <T SIMU.State\r
+    >-- MOD.InitialCondition.sclState --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation\r
+    >-- MOD.InitialCondition.HasSCLState --> MOD.SCLState <R L0.DependsOn\r
+\r
+MOD.SCLState <T L0.Entity\r
+    >-- MOD.SCLState.identifier --> L0.String <R L0.HasProperty : L0.FunctionalRelation\r
+    >-- MOD.SCLState.blob --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation\r
+\r
+MOD.SCLQueryType <T STR.ComponentType\r
+\r
+MOD.SCLQuery : MOD.SCLQueryType <T STR.Component\r
+    >-- MOD.SCLQuery.values --> MOD.SCLQuery.Value <R L0.HasProperty : L0.FunctionalRelation\r
+    @L0.assert L0.domainChildren\r
+        MOD.Functions.queryChildMap : L0.ExternalValue\r
+\r
+MOD.SCLQuery.Value <T STR.SCLValue\r
+  @L0.assert L0.ConvertsToValueWith\r
+    MOD.Functions.queryValue : L0.ExternalValue\r
+    \r
+MOD.SystemPropertyInfo : SEL.StandardPropertyInfo\r
+  SEL.StandardPropertyInfo.CategoryName "System Properties"\r
+  SEL.StandardPropertyInfo.CategorySortingName "System Properties"\r
+  SEL.StandardPropertyInfo.IsHidden false\r
+\r
+MOD.UserDefinedPropertyInfo : SEL.StandardPropertyInfo\r
+  SEL.StandardPropertyInfo.CategoryName "User-defined Properties"\r
+  SEL.StandardPropertyInfo.CategorySortingName ""\r
+  SEL.StandardPropertyInfo.IsHidden false\r
+\r
+MOD.LifeCycleProcess <T L0.Entity\r
+  >-- MOD.LifeCycleProcess.load ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation\r
+  >-- MOD.LifeCycleProcess.unload ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation\r
+  \r
+MOD.DependencyTrackingProcess : MOD.LifeCycleProcess\r
+  @MOD.scl MOD.LifeCycleProcess.load\r
+    """\x -> trackDependencies"""\r
+    "LifeCycleContext -> <Proc> ()"\r
+  @MOD.scl MOD.LifeCycleProcess.unload\r
+    """\x -> untrackDependencies"""\r
+    "LifeCycleContext -> <Proc> ()"\r
+     \r
+\r
+MOD.EditorContribution <T L0.Entity\r
+  --> MOD.EditorContribution.canHandle ==> "Resource -> <ReadGraph> Boolean" <R L0.HasProperty : L0.FunctionalRelation \r
+  --> MOD.EditorContribution.editorId --> L0.String <R L0.HasProperty : L0.FunctionalRelation \r
+  --> MOD.EditorContribution.priority --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation \r
+  --> MOD.EditorContribution.HasImage --> IMAGE.Image <R L0.DependsOn : L0.FunctionalRelation \r
+\r
+MOD.editorContribution : L0.Template\r
+    @template %subject %id %priority %image %canHandle\r
+        %subject : MOD.EditorContribution\r
+            MOD.EditorContribution.editorId %id\r
+            MOD.EditorContribution.priority %priority\r
+            MOD.EditorContribution.HasImage %image\r
+            MOD.EditorContribution.canHandle _ : MOD.SCLValue\r
+                L0.SCLValue.expression %canHandle\r
+                L0.HasValueType "Resource -> <ReadGraph> Boolean"\r
+                \r
+\r
+      
\ No newline at end of file