Improved shared library structure dump to take more types into account
[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.HasDataType ${ createdBy : String, createdAt : Long, modifiedBy : String, modifiedAt : Long }
379
380 MOD.Functions.modificationTimeTextLong : L0.Function
381     L0.HasValueType "String"
382
383 MOD.ChangeInformation."n-createdBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
384     ==> "String"
385     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
386     L0.HasLabel "Author"
387     SEL.SortingName "1"
388     L0.readOnly true
389
390 MOD.ChangeInformation."n-createdAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
391     ==> "Long"
392     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
393     L0.HasLabel "Created At"
394     SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong
395     SEL.SortingName "2"
396     L0.readOnly true
397
398 MOD.ChangeInformation."n-modifiedBy" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
399     ==> "String"
400     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
401     L0.HasLabel "Last Modified By"
402     SEL.SortingName "3"
403     L0.readOnly true
404
405 MOD.ChangeInformation."n-modifiedAt" <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType    
406     ==> "Long"
407     L0.HasSubliteralPredicate.Inverse MOD.ChangeInformation    
408     L0.HasLabel "Last Modified At"
409     SEL.HasDisplayValue MOD.Functions.modificationTimeTextLong
410     SEL.SortingName "4"
411     L0.readOnly true
412
413 MOD.changeInformation <R L0.HasProperty : L0.FunctionalRelation : SEL.GenericParameterType
414     L0.HasLabel "Change Information"
415     --> MOD.ChangeInformation
416     SEL.HasDisplayValue ""
417     L0.readOnly true
418     SEL.canBeLifted false
419     SEL.HasStandardPropertyInfo MOD.SystemPropertyInfo
420
421 MOD.changed
422     @L0.defTag
423     L0.HasDescription "Indicates that the change information of this object has been modified after import into this database."
424
425 MOD.TypeWithChangeInformation <T L0.Entity
426
427 L0.HasName : SEL.GenericParameterType
428   SEL.HasDisplayValue _ : SEL.DisplayValue
429     L0.Literal.HasInputValidator MOD.Functions.nameInputValidator  : L0.Function
430
431 L0.HasLabel : SEL.GenericParameterType
432 L0X.HasGeneratedNamePrefix : SEL.GenericParameterType
433
434 L0.SCLModule : MOD.TypeWithChangeInformation
435 L0.SCLScript : MOD.TypeWithChangeInformation
436 L0.Library : MOD.TypeWithChangeInformation
437 SIMU.Model : MOD.TypeWithChangeInformation
438 MOD.Subscription : MOD.TypeWithChangeInformation
439 MOD.Subscription.Item : MOD.TypeWithChangeInformation
440 SIMU.State : MOD.TypeWithChangeInformation
441 ISSUE.Issue : MOD.TypeWithChangeInformation     
442 DOC.Document : MOD.TypeWithChangeInformation
443 SHEET.Book : MOD.TypeWithChangeInformation
444 SHEET.Spreadsheet : MOD.TypeWithChangeInformation
445 L0.Type  : MOD.TypeWithChangeInformation
446 L0.Relation : MOD.TypeWithChangeInformation
447 STR.ComponentType <T MOD.TypeWithChangeInformation
448
449 L0.SCLModule : L0.TypeWithIdentifier
450 L0.SCLScript : L0.TypeWithIdentifier
451 L0.Type  : L0.TypeWithIdentifier
452 L0.Relation : L0.TypeWithIdentifier
453 L0.Library : L0.TypeWithIdentifier
454 STR.ComponentType <T L0.TypeWithIdentifier
455
456 MOD.PartialIC <T L0.Literal
457     //@L0.assert L0.HasDataType ${ values : Map( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [], Variant) }
458     @L0.assert L0.HasDataType ${ variants : ( ( | ResourceRVIPart { role : |CHILD|PROPERTY, resource : Long(unit="resource") } | StringRVIPart { role : |CHILD|PROPERTY, string : String } ) [] ) [], variants : Variant[] }
459
460 MOD.SCLCommandSession <T L0.Entity
461     >-- MOD.SCLCommandSession.hasValue --> L0.Value <R L0.HasProperty : SEL.GenericParameterType
462     
463 MOD.InitialCondition <T SIMU.State
464     >-- MOD.InitialCondition.sclState --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation
465     >-- MOD.InitialCondition.HasSCLState --> MOD.SCLState <R L0.DependsOn
466
467 MOD.SCLState <T L0.Entity
468     >-- MOD.SCLState.identifier --> L0.String <R L0.HasProperty : L0.FunctionalRelation
469     >-- MOD.SCLState.blob --> L0.ByteArray <R L0.HasProperty : L0.FunctionalRelation
470
471 MOD.SCLQueryType <T STR.ComponentType
472
473 MOD.SCLQuery : MOD.SCLQueryType <T STR.Component
474     >-- MOD.SCLQuery.values --> MOD.SCLQuery.Value <R L0.HasProperty : L0.FunctionalRelation
475     @L0.assert L0.domainChildren
476         MOD.Functions.queryChildMap : L0.ExternalValue
477
478 MOD.SCLQuery.Value <T STR.SCLValue
479   @L0.assert L0.ConvertsToValueWith
480     MOD.Functions.queryValue : L0.ExternalValue
481     
482 MOD.SystemPropertyInfo : SEL.StandardPropertyInfo
483   SEL.StandardPropertyInfo.CategoryName "System Properties"
484   SEL.StandardPropertyInfo.CategorySortingName "System Properties"
485   SEL.StandardPropertyInfo.IsHidden false
486
487 MOD.UserDefinedPropertyInfo : SEL.StandardPropertyInfo
488   SEL.StandardPropertyInfo.CategoryName "User-defined Properties"
489   SEL.StandardPropertyInfo.CategorySortingName ""
490   SEL.StandardPropertyInfo.IsHidden false
491
492 MOD.LifeCycleProcess <T L0.Entity
493   >-- MOD.LifeCycleProcess.load ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation
494   >-- MOD.LifeCycleProcess.unload ==> "LifeCycleContext -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation
495   
496 MOD.DependencyTrackingProcess : MOD.LifeCycleProcess
497   @MOD.scl MOD.LifeCycleProcess.load
498     """\x -> trackDependencies"""
499     "LifeCycleContext -> <Proc> ()"
500   @MOD.scl MOD.LifeCycleProcess.unload
501     """\x -> untrackDependencies"""
502     "LifeCycleContext -> <Proc> ()"
503      
504
505 MOD.OntologicalRequirementTracker <T MOD.LifeCycleProcess
506   @MOD.sclAssertion MOD.LifeCycleProcess.load
507     """\x -> trackOntologicalRequirements"""
508     "LifeCycleContext -> <Proc> ()"
509   @MOD.sclAssertion MOD.LifeCycleProcess.unload
510     """\x -> untrackOntologicalRequirements"""
511     "LifeCycleContext -> <Proc> ()"
512
513 MOD.EditorContribution <T L0.Entity
514   --> MOD.EditorContribution.canHandle ==> "Resource -> <ReadGraph> Boolean" <R L0.HasProperty : L0.FunctionalRelation 
515   --> MOD.EditorContribution.editorId --> L0.String <R L0.HasProperty : L0.FunctionalRelation 
516   --> MOD.EditorContribution.priority --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation 
517   --> MOD.EditorContribution.HasImage --> IMAGE.Image <R L0.DependsOn : L0.FunctionalRelation 
518
519 MOD.editorContribution : L0.Template
520     @template %subject %id %priority %image %canHandle
521         %subject : MOD.EditorContribution
522             MOD.EditorContribution.editorId %id
523             MOD.EditorContribution.priority %priority
524             MOD.EditorContribution.HasImage %image
525             MOD.EditorContribution.canHandle _ : MOD.SCLValue
526                 L0.SCLValue.expression %canHandle
527                 L0.HasValueType "Resource -> <ReadGraph> Boolean"
528                 
529 MOD.SVGTabContribution : SEL.SCLTabContribution
530   @MOD.scl SEL.SCLTabContribution.instantiate
531     "svgTabContribution"
532     "() -> <Proc> TabContribution"
533
534 MOD.SymbolCodeStyle : DIA.Style
535
536 MOD.IssueDecorationStyle : DIA.Style
537
538 MOD.PreferredDiagramEditorID <R L0.HasProperty : L0.FunctionalRelation
539     L0.HasDomain STR.Composite
540     L0.HasRange  L0.String
541     
542 MOD.contentDumpFunction ==> "Resource -> <ReadGraph> Vector Byte" <R L0.HasProperty : L0.FunctionalRelation
543
544 // We need to define the function inside this ontology to give it the right evaluation context
545 L0.SCLModule
546   MOD.contentDumpFunction
547     MOD.SCLModuleContentDumpFunction
548       @L0.sclValue "sclModuleContentDump" "Resource -> <ReadGraph> Vector Byte"
549
550 L0.SCLScript
551   MOD.contentDumpFunction
552     MOD.SCLScriptContentDumpFunction
553       @L0.sclValue "sclScriptContentDump" "Resource -> <ReadGraph> Vector Byte"
554
555 L0.PGraph
556   MOD.contentDumpFunction
557     MOD.PGraphContentDumpFunction
558       @L0.sclValue "pgraphContentDump" "Resource -> <ReadGraph> Vector Byte"
559
560 GF.File
561   MOD.contentDumpFunction
562     MOD.GraphFileContentDumpFunction
563       @L0.sclValue "graphFileContentDump" "Resource -> <ReadGraph> Vector Byte"
564
565 STR.Component
566   MOD.contentDumpFunction
567     MOD.StructuralComponentContentDumpFunction
568       @L0.sclValue "structuralComponentContentDump" "Resource -> <ReadGraph> Vector Byte"
569
570 SEL.GenericParameterType
571   MOD.contentDumpFunction
572     MOD.GenericParameterTypeContentDumpFunction
573       @L0.sclValue "genericParameterTypeContentDump" "Resource -> <ReadGraph> Vector Byte"