View Issue Details

IDProjectCategoryView StatusLast Update
000926210000-006: MappingsSpecpublic2024-05-21 15:30
ReporterKarl Deiretsbacher Assigned ToRandy Armstrong  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.05.02 
Fixed in Version1.05.04 RC1 
Summary0009262: Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined.
Description

Code generators need something in the NodeSet to trigger the generation of a constant for the MachineryBuildingBlocks BrowseName.
We do this with Properties by include unattached Variables. The same is needed for MachineryBuildingBlocks.

This is an issue because the code generated for the MachineTool NodeSet assumes a constant is defined in the Machinery spec because the Namespace of the MachineryBuildingBlocks component is the Machinery specification. There is no work around that does not require hand editing auto-generated code or a complete rewrite of BrowseName handling by generators.

As general principle: if a specification defines a normative BrowseName like MachineryBuildingBlocks then that BrowseName must be defined in a machine readable format.

The unofficial convention with the Core NodeSets has been to add unattached Variables into the NodeSet but there are other options including:

1) A separate BrowseName file like we do with NodeIds;
2) A new top-level element in the NodeSet that defines normative BrowseNames without Nodes;
3) Recommend the creation of an Interface when such BrowseNames are defined on an Object;

But the key point is these BrowseNames are defined somewhere in a machine-readable format. Users should not have copy and paste from a PDF.

TagsNo tags attached.
Commit Version1.05.04 RC
Fix Due Date2024-01-14

Relationships

related to 0008640 closedRandy Armstrong NodeSets, XSDs and Generated Code Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined. 
related to 0008648 closedKarl Deiretsbacher 11020: Companion Spec Template Normative BrowseNames that are not used on Types or InstanceDeclarations need to be defined. 

Activities

Randy Armstrong

2024-02-03 15:10

administrator   ~0020760

Added IsTemplate to UAInstance

If TRUE the instance is a template for use by design tools and does not appear in the AddressSpace.
The ParentNodeId shall not be specified if the IsTemplate is TRUE.
UAInstances may not be the target of references from other Nodes and may not be the ParentNodeId for other instances except for UAMethod Nodes which may have InputArguments and OutputArguments Properties.
The HasTypeDefinition reference shall be specified for UAObject and UAVariable Nodes.

Jim Luth

2024-05-21 15:30

administrator   ~0021212

Element is called "DesignToolOnly".

Agreed to changes in Web Meeting.

Issue History

Date Modified Username Field Change
2023-11-13 16:30 Karl Deiretsbacher New Issue
2023-11-13 16:30 Karl Deiretsbacher Issue generated from: 0008640
2023-11-13 16:31 Randy Armstrong Project NodeSets, XSDs and Generated Code => 10000-006: Mappings
2023-11-13 16:31 Randy Armstrong Category Feature Request => Api Change
2023-11-13 16:32 Karl Deiretsbacher Relationship added related to 0008648
2023-11-13 16:33 Randy Armstrong Relationship added related to 0008640
2023-12-06 20:41 Jim Luth Assigned To => Randy Armstrong
2023-12-06 20:41 Jim Luth Status new => assigned
2023-12-06 20:41 Jim Luth Category Api Change => Spec
2023-12-06 20:41 Jim Luth Commit Version => 1.05.04 RC
2023-12-06 20:41 Jim Luth Fix Due Date => 2024-01-14
2024-02-03 15:10 Randy Armstrong Status assigned => resolved
2024-02-03 15:10 Randy Armstrong Resolution open => fixed
2024-02-03 15:10 Randy Armstrong Note Added: 0020760
2024-05-21 15:30 Jim Luth Status resolved => closed
2024-05-21 15:30 Jim Luth Fixed in Version => 1.05.04 RC1
2024-05-21 15:30 Jim Luth Note Added: 0021212