]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ontology/graph/Modeling.pgraph
Move contents of SCLMain in PlatformUI from pgraph to scl-file
[simantics/platform.git] / bundles / org.simantics.modeling.ontology / graph / Modeling.pgraph
1 L0 = <http://www.simantics.org/Layer0-1.1>
2 L0X = <http://www.simantics.org/Layer0X-1.1>
3 STR = <http://www.simantics.org/Structural-1.2>
4 PROJ = <http://www.simantics.org/Project-1.2>
5 G2D = <http://www.simantics.org/G2D-1.1>
6 DIA = <http://www.simantics.org/Diagram-2.2>
7 SIMU = <http://www.simantics.org/Simulation-1.1>
8 DOC = <http://www.simantics.org/Document-1.2>
9 ISSUE = <http://www.simantics.org/Issue-1.2>
10 SG = <http://www.simantics.org/Scenegraph-1.1>
11 VIEW = <http://www.simantics.org/Views-1.2>
12 SEL = <http://www.simantics.org/SelectionView-1.2>
13 VP = <http://www.simantics.org/Viewpoint-1.2>
14 IMAGE = <http://www.simantics.org/Image2-1.2>
15 SHEET = <http://www.simantics.org/Spreadsheet-1.2>
16
17 PRED = L0X.Predicate
18
19 MOD = <http://www.simantics.org/Modeling-1.2> : L0.Ontology
20     @L0.new
21     L0.HasResourceClass "org.simantics.modeling.ModelingResources"
22
23 MOD.SCLMain : L0.SCLModule
24     L0.SCLModule.definition _ : L0.String
25       @L0.loadString "scl/SCLMain.scl"
26
27 MOD.Functions : L0.Library
28
29 //##########################################################################
30 //## Concepts
31 //##########################################################################
32
33 MOD.StructuralModel <T SIMU.Model
34     >-- MOD.StructuralModel.HasComponentTypeSupertype --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction
35         L0.HasDescription """When a new component type is created, it inherits the type 
36 specified by this relation. If unspecified, the new component type inherits STR.Component."""
37     >-- MOD.StructuralModel.HasDefaultComponentTypeName --> L0.String <R L0.HasProperty : L0.TotalFunction : SEL.GenericParameterType
38         L0.HasDescription """Specifies the name of a new component type. If the name is 
39 already used, adds a large enough number after the name."""
40         L0.HasLabel "Default User Component Name"
41     >-- MOD.StructuralModel.HasComponentTypeSubstructureType --> STR.ComponentType <R L0.IsRelatedTo : L0.TotalFunction    
42         L0.HasDescription """Specifies the type of the substructure of a component type
43 created to the model."""    
44     >-- MOD.StructuralModel.HasDefaultComponentTypeSymbol --> L0.Template <R L0.IsRelatedTo : L0.FunctionalRelation
45         L0.HasDescription """Specifies a template for a symbol that is created 
46 by default for the new component type under the model."""
47     >-- MOD.StructuralModel.HasSymbolDiagramType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation
48     >-- MOD.StructuralModel.HasSymbolType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation
49     >-- MOD.StructuralModel.HasConfigurationType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation
50
51     @L0.assert MOD.StructuralModel.HasComponentTypeSupertype STR.Component
52     @L0.assert MOD.StructuralModel.HasDefaultComponentTypeName "NewUserComponent"
53     @L0.assert MOD.StructuralModel.HasComponentTypeSubstructureType STR.Composite
54     @L0.assert MOD.StructuralModel.HasConfigurationType STR.Composite
55
56 MOD.SharedOntology <T L0.SharedOntology
57     @L0.tag L0.Abstract
58     @L0.assert MOD.StructuralModel.HasComponentTypeSupertype STR.Component
59     @L0.assert MOD.StructuralModel.HasDefaultComponentTypeName "NewUserComponent"
60     @L0.assert MOD.StructuralModel.HasComponentTypeSubstructureType STR.Composite
61     @L0.assert MOD.StructuralModel.HasConfigurationType STR.Composite
62     
63
64 MOD.Encapsulable : PRED.Predicate
65 MOD.Instantiable : PRED.Predicate
66 MOD.HasCounterpart : PRED.Predicate
67
68 MOD.Mapped <R L0.IsWeaklyRelatedTo : L0.Tag
69     L0.InverseOf MOD.Mapped
70 MOD.MappedFromConnector <R MOD.Mapped
71     L0.InverseOf MOD.MappedFromConnector
72
73 MOD.HasMappingTemplate <R L0X.HasTemplate
74
75 MOD.BasicExpression <T L0.String
76
77 MOD.Represents <R L0.IsWeaklyRelatedTo
78 MOD.SymbolToComponentType <R L0.IsWeaklyRelatedTo
79     L0.InverseOf MOD.ComponentTypeToSymbol
80 MOD.ComponentTypeToSymbol <R L0.IsWeaklyRelatedTo
81 MOD.DiagramToComposite <R L0.IsWeaklyRelatedTo
82     L0.InverseOf MOD.CompositeToDiagram
83 MOD.CompositeToDiagram <R L0.IsRelatedTo
84 MOD.ElementToComponent <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation
85     L0.InverseOf MOD.ComponentToElement
86 MOD.ComponentToElement <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation
87 MOD.ConnectorToComponent <R L0.IsWeaklyRelatedTo
88     L0.InverseOf MOD.ComponentToConnector
89 MOD.ComponentToConnector <R L0.IsWeaklyRelatedTo
90 MOD.ConnectionToConnector <R L0.IsWeaklyRelatedTo
91     L0.InverseOf MOD.ConnectorToConnection <R L0.IsWeaklyRelatedTo
92 MOD.MapsToConnection <R L0.IsWeaklyRelatedTo
93     L0.InverseOf MOD.ConnectionMapsTo
94 MOD.ConnectionMapsTo <R L0.IsWeaklyRelatedTo
95 MOD.DiagramConnectionToConnection <R MOD.MapsToConnection
96     L0.InverseOf MOD.ConnectionToDiagramConnection
97 MOD.ConnectionToDiagramConnection <R MOD.ConnectionMapsTo
98 MOD.DiagramConnectionToConnectionSpecial <R MOD.MapsToConnection
99     L0.InverseOf MOD.ConnectionToDiagramConnectionSpecial
100 MOD.ConnectionToDiagramConnectionSpecial <R MOD.ConnectionMapsTo
101 MOD.DiagramConnectionRelationToConnectionRelation <R L0.IsWeaklyRelatedTo
102     L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelation
103 MOD.DiagramConnectionTypeToConnectionType  <R L0.IsWeaklyRelatedTo
104     L0.InverseOf MOD.ConnectionTypeToDiagramConnectionType  <R L0.IsWeaklyRelatedTo
105 MOD.ConnectionRelationToDiagramConnectionRelation <R L0.IsWeaklyRelatedTo
106
107 MOD.DiagramConnectionRelationToConnectionRelationB <R L0.IsWeaklyRelatedTo
108     L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelationB  <R L0.IsWeaklyRelatedTo
109 MOD.DiagramConnectionRelationToConnectionRelationC <R L0.IsWeaklyRelatedTo
110     L0.InverseOf MOD.ConnectionRelationToDiagramConnectionRelationC  <R L0.IsWeaklyRelatedTo
111 MOD.DiagramConnectionRelationToComponentType <R L0.IsWeaklyRelatedTo
112
113 MOD.HasConnectionMappingSpecification <R L0.IsRelatedTo
114     L0.HasDomain DIA.Connector
115     L0.HasRange MOD.ConnectionMappingSpecification
116 MOD.ConnectionTypeToConnectionMappingSpecification <R L0.IsRelatedTo
117     L0.HasDomain STR.ConnectionType
118     L0.HasRange MOD.ConnectionMappingSpecification
119 MOD.ConnectionMappingSpecification <T L0.Entity
120     // MOD.DiagramConnectionRelationToConnectionRelationB
121     // MOD.DiagramConnectionRelationToConnectionRelationC
122     // MOD.DiagramConnectionRelationToComponentType
123 MOD.ConnectionRelationToConnectionMappingSpecification <R L0.IsRelatedTo
124     L0.HasDomain STR.ConnectionRelation
125     L0.HasRange MOD.ConnectionMappingSpecification
126 MOD.NeedsConnectionMappingSpecification <R L0.IsRelatedTo : L0.Tag : L0.FunctionalRelation
127     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."
128     L0.HasDomain STR.ConnectionRelation
129     L0.HasRange STR.ConnectionRelation
130
131 MOD.ConnectionTypeToComponentType <R L0.IsWeaklyRelatedTo
132 MOD.ConnectionTypeToConnectionRelation <R L0.IsWeaklyRelatedTo
133
134 MOD.ConnectionRelationToTerminal <R L0.IsWeaklyRelatedTo : L0.FunctionalRelation
135
136 MOD.DiagramToCompositeMapping <T L0X.Trigger
137 MOD.ComponentTypeUpdater <T L0X.Trigger
138     L0.HasDescription """This trigger is used with component type configurations to keep the component type interface and symbol terminals in sync with the configuration."""
139
140 MOD.ImpliesDiagramConnectionRelationType <R L0.IsRelatedTo
141     <-- STR.ConnectionRelation
142     --> L0.Type
143     L0.HasDescription """This relation indicates that a certain diagram connection relation type
144 should be used together with a certain connection relation."""
145
146 MOD.ReferenceElement <T DIA.Element
147     @L0.singleProperty MOD.HasParentComponent
148     @L0.singleProperty MOD.HasReferenceRelation
149 MOD.HasParentComponent <R L0.IsWeaklyRelatedTo
150     L0.HasRange STR.Component
151     L0.InverseOf MOD.HasParentComponent.Inverse <R L0.IsWeaklyRelatedTo
152 MOD.HasReferenceRelation <R L0.IsRelatedTo
153     L0.HasRange L0.Relation
154     L0.InverseOf MOD.HasReferenceRelation.Inverse <R L0.IsWeaklyRelatedTo
155     @L0.optionalProperty MOD.HasReferencedType
156 MOD.HasReferencedType <R L0.IsRelatedTo
157     --> L0.Type
158
159 MOD.TestTerminal <T DIA.DefinedElement <T DIA.Terminal
160     @L0.tag L0.Deprecated
161     STR.IsDefinedBy _ : DIA.Composite <R L0.IsRelatedTo
162         @L0.orderedSet
163             _ : DIA.SVGElement
164                 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>"""
165
166 //??
167 MOD.WebmonVariable <T L0.OrderedSet
168
169 MOD.HasModelQuery <R L0.IsRelatedTo
170     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."
171     L0.HasRange L0.Entity
172
173 MOD.HasBaseRules <R L0.IsRelatedTo
174     L0.HasRange STR.ModelingRules
175 MOD.MappedModelingRules <T STR.ModelingRules
176     @L0.singleProperty MOD.HasBaseRules
177
178 MOD.MappingSubgraphExtent : L0X.SubgraphExtent
179 MOD.MappingSubgraphAdvisor : L0X.SubgraphAdvisor
180
181 MOD.Documents : L0.Library
182
183 MOD.Documents.IssueBinding : DOC.DocumentTypeBinding
184   DOC.DocumentTypeBinding.HasType ISSUE.Issue
185   DOC.DocumentTypeBinding.HasDocumentType MOD.Documents.IssueTemplate
186
187 MOD.Documents.IssueTemplate <T DOC.Scenegraph.Composite
188   >-- MOD.Documents.IssueTemplate.UserContent <R L0.HasProperty : SG.LiftedPropertyRelation
189       --> DOC.WikiDocument.WikiText
190   @L0.assert MOD.Documents.IssueTemplate.UserContent "Some user-defined text about this issue"
191   @L0.assert SG.Node.children
192     _ : L0.List
193       @L0.list
194         MOD.Documents.IssueTemplate.Header : DOC.Scenegraph.Wiki
195           DOC.Scenegraph.Wiki.text MOD.Functions.issueDocumentHeader : L0.Function 
196         MOD.Documents.IssueTemplate.User : DOC.Scenegraph.Wiki
197           DOC.Scenegraph.Node.printInPDF true
198           DOC.Scenegraph.Wiki.text
199             @SG.lifted MOD.Documents.IssueTemplate.UserContent
200     
201 MOD.HiddenComposite <R L0.IsRelatedTo : L0.Tag : L0.FunctionalRelation
202     L0.HasDomain STR.Composite
203
204 // @since 1.25.0, 1.22.2
205 MOD.GeneratesConnectionComponentInternally
206     @L0.defTag
207     L0.HasDomain STR.ConnectionRelation
208     L0.HasDescription "Indicates that a tagged connection relation will generate a component for the configuration connection internally."
209
210 //##########################################################################
211 //## Templates
212 //##########################################################################
213
214 MOD.HasModelingTemplate <R L0X.HasTemplate
215
216 MOD.DiagramTemplate <T L0.Template
217     >-- MOD.DiagramTemplate.HasMappingType --> L0.Type <R L0.IsRelatedTo : L0.FunctionalRelation
218     @L0.assert MOD.DiagramTemplate.HasMappingType MOD.DiagramToCompositeMapping
219
220 MOD.HasDiagramType <R L0.IsRelatedTo
221     L0.HasRange L0.Type
222     
223
224 //##########################################################################
225 //## UI
226 //##########################################################################
227
228 MOD.DependenciesView <T L0X.RelationView
229     @L0.assert L0.HasName "Dependencies"
230     @L0.assert L0X.AppliesRelation L0X.DependenciesRelation
231     @L0.assert L0X.HasBindingPattern "bfff"
232
233 //##########################################################################
234 //## Templates
235 //##########################################################################
236
237 MOD.defSymbol : L0.Template
238     @template %subject %label %componentType
239         %subject <T DIA.Element
240             MOD.SymbolToComponentType %componentType
241             L0.HasLabel %label
242
243 MOD.terminal : L0.Template
244     @template %subject %parent %relation
245         %subject
246             DIA.HasConnectionPoint %relation 
247                 <-- %parent
248
249 MOD.terminalRelation : L0.Template
250     @template %subject %target
251         %subject <R STR.IsConnectedTo
252             MOD.DiagramConnectionRelationToConnectionRelation %target
253
254 MOD.connection : L0.Template
255     @template %subject %relation
256         %subject 
257             >-- %relation
258             MOD.DiagramConnectionRelationToConnectionRelation %relation
259
260 MOD.contextualHelpId ==> "String" <R L0.HasProperty : L0.FunctionalRelation
261
262 MOD.convertedValue <R L0.HasProperty : L0.FunctionalRelation
263   L0.RequiresValueType "a"
264
265 MOD.OntologyDependencies : PROJ.NamespaceRequirement
266     L0.HasDescription "Specifies the ontologies required by a modelling project."
267     PROJ.RequiresNamespace
268         "http://www.simantics.org/Layer0-1.1" : L0.URI
269         "http://www.simantics.org/Diagram-2.2" : L0.URI
270         "http://www.simantics.org/Modeling-1.2" : L0.URI
271         "http://www.simantics.org/SelectionView-1.2" : L0.URI
272
273 MOD.ModelBrowser <T VIEW.Explorer
274     @L0.assert VIEW.Control.layoutData
275         _ : VIEW.GridLayout.GridData
276             VIEW.GridLayout.GridData.horizontalGrab true
277             VIEW.GridLayout.GridData.verticalGrab true
278     @L0.assert VIEW.Control.style
279         _ : VIEW.Control.Style
280             VIEW.Control.Style.HasConstant VIEW.Control.Style.Constant.Multi
281             VIEW.Control.Style.HasConstant VIEW.Control.Style.Constant.FullSelection
282     @L0.assert VIEW.Explorer.columns
283         _ : VIEW.Explorer.ColumnList
284             @L0.list
285                 VIEW.SingleColumn
286     @L0.assert VIEW.Explorer.input MOD.Functions.projectSelection
287     @L0.assert VIEW.Explorer.columnsVisible false
288     @L0.assert VIEW.Explorer.displayFilter true
289     @L0.assert VIEW.Explorer.publishSelection true
290     @L0.assert VIEW.Explorer.persistor MOD.Functions.standardPersistor
291     @L0.assert VIEW.Explorer.browseContext
292         _ : VIEW.ResourceURI
293             VIEW.ResourceURI.HasResource PROJ.ProjectBrowseContext
294     @L0.assert VIEW.Explorer.contextMenuId "#ModelBrowserPopup"
295     @L0.assert VIEW.Explorer.uiContext "org.simantics.modeling.ui.modelBrowser"
296     @L0.assert VIEW.Explorer.useNodeBrowseContexts true
297     @L0.assert VIEW.Explorer.useNodeActionContexts true
298
299 MOD.PlainModelBrowser : MOD.ModelBrowser
300
301 MOD.Functions.sclValue : L0.ExternalValue
302
303 MOD.MonitorValue <T STR.MonitorValue
304   @L0.assert L0.valueAccessor
305     MOD.Functions.monitorValueAccessor : L0.ExternalValue
306   @L0.assert L0.ConvertsToValueWith MOD.Functions.sclValue
307   @L0.assert L0.SCLValue.environment
308     _ : L0.SCLValue.Environment
309       L0.SCLValue.Environment.moduleName "Simantics/All"
310       L0.SCLValue.Environment.namespace ""
311   @L0.assert L0.readOnly
312     MOD.Functions.monitorReadOnly : L0.Function
313
314 MOD.SCLValue <T L0.SCLValue
315   @L0.assert L0.ConvertsToValueWith MOD.Functions.sclValue
316   /*@L0.assert L0.SCLValue.environment
317     _ : L0.SCLValue.Environment
318       L0.SCLValue.Environment.moduleName "Simantics/All"
319       L0.SCLValue.Environment.namespace ""*/
320
321 MOD.scl : L0.Template
322     @template %subject %property %expression %valueType
323         %subject
324             %property _ : MOD.SCLValue
325               L0.SCLValue.expression %expression
326               L0.HasValueType %valueType
327
328 MOD.sclAssertion : L0.Template
329     @template %type %property %expression %valueType
330         %type
331             L0.Asserts _ : L0.Assertion
332               L0.HasPredicate %property
333               L0.HasObject _ : MOD.SCLValue
334                 L0.SCLValue.expression %expression
335                 L0.HasValueType %valueType
336
337 MOD.Functions.obtainedString : L0.Function
338   L0.HasValueType "String"
339
340 MOD.Functions.obtainedDouble : L0.Function
341   L0.HasValueType "Double"
342
343 MOD.Functions.obtainedBoolean : L0.Function
344   L0.HasValueType "Boolean"
345
346 MOD.Functions.obtainedColor : L0.Function
347   L0.HasValueType "Color"
348     
349 MOD.Functions.obtainedFormatter : L0.Function
350   L0.HasValueType "Formatter"
351
352 MOD.Functions.obtainedVec2d : L0.Function
353   L0.HasValueType "Formatter"
354
355 MOD.self <R L0.HasProperty : L0.FunctionalRelation
356
357 //##########################################################################
358 //## Source information modeling
359 //##########################################################################
360
361 MOD.SourceInformation <T L0.Entity
362     >-- MOD.SourceInformation.copiedFrom ==> "String" <R L0.HasProperty : L0.FunctionalRelation
363     >-- MOD.SourceInformation.copiedAtRevision --> L0.RevisionId <R L0.HasProperty : L0.FunctionalRelation
364 MOD.HasSourceInformation --> MOD.SourceInformation <R L0.IsRelatedTo : L0.FunctionalRelation
365
366 //##########################################################################
367 //## Change information modeling
368 //##########################################################################
369
370 MOD.ChangeInformation <T L0.Literal
371     @L0.assert L0.HasDataType ${ createdBy : String, createdAt : Long, modifiedBy : String, modifiedAt : Long }
372
373 MOD.Functions.modificationTimeTextLong : L0.Function
374     L0.HasValueType "String"
375
376 MOD.ChangeInformation."n-createdBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
377     ==> "String"
378     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
379     L0.HasLabel "Author"
380     SEL.SortingName "1"
381     L0.readOnly true
382
383 MOD.ChangeInformation."n-createdAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
384     ==> "Long"
385     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
386     L0.HasLabel "Created At"
387     SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong
388     SEL.SortingName "2"
389     L0.readOnly true
390
391 MOD.ChangeInformation."n-modifiedBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
392     ==> "String"
393     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
394     L0.HasLabel "Last Modified By"
395     SEL.SortingName "3"
396     L0.readOnly true
397
398 MOD.ChangeInformation."n-modifiedAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
399     ==> "Long"
400     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
401     L0.HasLabel "Last Modified At"
402     SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong
403     SEL.SortingName "4"
404     L0.readOnly true
405
406 MOD.changeInformation <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
407     L0.HasLabel "Change Information"
408     --> MOD.ChangeInformation
409     SEL.HasDisplayValue ""
410     L0.readOnly true
411     SEL.canBeLifted false
412     SEL.HasStandardPropertyInfo MOD.SystemPropertyInfo
413
414 MOD.TypeWithChangeInformation <T L0.Entity
415
416 L0.HasName : SEL.GenericParameterType
417   SEL.HasDisplayValue _ : SEL.DisplayValue
418     L0.Literal.HasInputValidator MOD.Functions.nameInputValidator  : L0.Function
419
420 L0.HasLabel : SEL.GenericParameterType
421 L0X.HasGeneratedNamePrefix : SEL.GenericParameterType
422
423 //MOD.HasNameBrowseContextContribution : VP.BrowseContextContribution
424 //    VP.BrowseContextContribution.HasType L0.String
425 //    VP.BrowseContextContribution.HasBrowseContext
426 //      _ : VP.BrowseContext
427
428 L0.SCLModule : MOD.TypeWithChangeInformation
429 L0.SCLScript : MOD.TypeWithChangeInformation
430 L0.Library : MOD.TypeWithChangeInformation
431 SIMU.Model : MOD.TypeWithChangeInformation
432 MOD.Subscription : MOD.TypeWithChangeInformation
433 MOD.Subscription.Item : MOD.TypeWithChangeInformation
434 SIMU.State : MOD.TypeWithChangeInformation
435 ISSUE.Issue : MOD.TypeWithChangeInformation     
436 DOC.Document : MOD.TypeWithChangeInformation
437 SHEET.Book : MOD.TypeWithChangeInformation
438 SHEET.Spreadsheet : MOD.TypeWithChangeInformation
439 L0.Type  : MOD.TypeWithChangeInformation
440 L0.Relation : MOD.TypeWithChangeInformation
441 STR.ComponentType <T MOD.TypeWithChangeInformation
442
443 L0.SCLModule : L0.TypeWithIdentifier
444 L0.SCLScript : L0.TypeWithIdentifier
445 L0.Type  : L0.TypeWithIdentifier
446 L0.Relation : L0.TypeWithIdentifier
447 L0.Library : L0.TypeWithIdentifier
448 STR.ComponentType <T L0.TypeWithIdentifier
449
450 MOD.PartialIC <T L0.Literal
451     //@L0.assert L0.HasDataType ${ values : Map( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [], Variant) }
452     @L0.assert L0.HasDataType ${ variants : ( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [] ) [], variants : Variant[] }
453
454 MOD.SCLCommandSession <T L0.Entity
455     >-- MOD.SCLCommandSession.hasValue --> L0.Value <R L0.HasProperty : SEL.GenericParameterType
456     
457 MOD.InitialCondition <T SIMU.State
458     >-- MOD.InitialCondition.sclState --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation
459     >-- MOD.InitialCondition.HasSCLState --> MOD.SCLState <R L0.DependsOn
460
461 MOD.SCLState <T L0.Entity
462     >-- MOD.SCLState.identifier --> L0.String <R L0.HasProperty : L0.FunctionalRelation
463     >-- MOD.SCLState.blob --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation
464
465 MOD.SCLQueryType <T STR.ComponentType
466
467 MOD.SCLQuery : MOD.SCLQueryType <T STR.Component
468     >-- MOD.SCLQuery.values --> MOD.SCLQuery.Value <R L0.HasProperty : L0.FunctionalRelation
469     @L0.assert L0.domainChildren
470         MOD.Functions.queryChildMap : L0.ExternalValue
471
472 MOD.SCLQuery.Value <T STR.SCLValue
473   @L0.assert L0.ConvertsToValueWith
474     MOD.Functions.queryValue : L0.ExternalValue
475     
476 MOD.SystemPropertyInfo : SEL.StandardPropertyInfo
477   SEL.StandardPropertyInfo.CategoryName "System Properties"
478   SEL.StandardPropertyInfo.CategorySortingName "System Properties"
479   SEL.StandardPropertyInfo.IsHidden false
480
481 MOD.UserDefinedPropertyInfo : SEL.StandardPropertyInfo
482   SEL.StandardPropertyInfo.CategoryName "User-defined Properties"
483   SEL.StandardPropertyInfo.CategorySortingName ""
484   SEL.StandardPropertyInfo.IsHidden false
485
486 MOD.LifeCycleProcess <T L0.Entity
487   >-- MOD.LifeCycleProcess.load ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation
488   >-- MOD.LifeCycleProcess.unload ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation
489   
490 MOD.DependencyTrackingProcess : MOD.LifeCycleProcess
491   @MOD.scl MOD.LifeCycleProcess.load
492     """\x -> trackDependencies"""
493     "LifeCycleContext -> <Proc> ()"
494   @MOD.scl MOD.LifeCycleProcess.unload
495     """\x -> untrackDependencies"""
496     "LifeCycleContext -> <Proc> ()"
497      
498
499 MOD.OntologicalRequirementTracker <T MOD.LifeCycleProcess
500   @MOD.sclAssertion MOD.LifeCycleProcess.load
501     """\x -> trackOntologicalRequirements"""
502     "LifeCycleContext -> <Proc> ()"
503   @MOD.sclAssertion MOD.LifeCycleProcess.unload
504     """\x -> untrackOntologicalRequirements"""
505     "LifeCycleContext -> <Proc> ()"
506
507 MOD.EditorContribution <T L0.Entity
508   --> MOD.EditorContribution.canHandle ==> "Resource -> <ReadGraph> Boolean" <R L0.HasProperty : L0.FunctionalRelation 
509   --> MOD.EditorContribution.editorId --> L0.String <R L0.HasProperty : L0.FunctionalRelation 
510   --> MOD.EditorContribution.priority --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation 
511   --> MOD.EditorContribution.HasImage --> IMAGE.Image <R L0.DependsOn : L0.FunctionalRelation 
512
513 MOD.editorContribution : L0.Template
514     @template %subject %id %priority %image %canHandle
515         %subject : MOD.EditorContribution
516             MOD.EditorContribution.editorId %id
517             MOD.EditorContribution.priority %priority
518             MOD.EditorContribution.HasImage %image
519             MOD.EditorContribution.canHandle _ : MOD.SCLValue
520                 L0.SCLValue.expression %canHandle
521                 L0.HasValueType "Resource -> <ReadGraph> Boolean"
522                 
523 MOD.SVGTabContribution : SEL.SCLTabContribution
524   @MOD.scl SEL.SCLTabContribution.instantiate
525     "svgTabContribution"
526     "() -> <Proc> TabContribution"
527
528 MOD.SymbolCodeStyle : DIA.Style
529
530 MOD.IssueDecorationStyle : DIA.Style
531
532 MOD.PreferredDiagramEditorID <R L0.HasProperty : L0.FunctionalRelation
533     L0.HasDomain STR.Composite
534     L0.HasRange  L0.String