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