View Issue Details

IDProjectCategoryView StatusLast Update
000442210000-003: Address SpaceSpecpublic2020-08-25 13:19
ReporterMatthias Damm Assigned ToJeff Harding  
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Summary0004422: Indication if a subtype is allowed as value
Description

We have different places where a DataType is provided but a subtype can be used.

  • Variable Value
  • Event Field
  • Method Argument

We have currently no way to indicate if a subtype is allowed or even expected. Only if an abstract base type is used, a concrete subtype must be used.

Most clients or implementations of information models in a server can only handle the exact type and are not prepared for subtypes.

Options for this additional information should be:

  • Exact DataType defined must be used
  • Any subtype is allowed
  • A subtype is required
TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0004421 closedJeff Harding 10000-003: Address Space Handling of StructureFields with abstract DataType 
related to 0004423 assignedJeff Harding 10000-003: Address Space We need a indication of a sealed type 
related to 0005913 closedRandy Armstrong NodeSets, XSDs and Generated Code Indication if a subtype is allowed as value 

Activities

Gerhard Gappmeier

2018-10-11 07:36

reporter   ~0009478

This is especially true for method arguments. If structures used in methods typically concrete types are meant and polymorphic datatypes are the exception.
We need to extend the argument description to add the information 'InlcudeSubTypes', which by default should be False. (This is similar to other places like e.g. Browse service, where we can specify if subtypes of a ReferenceType should be followed too).

This has a big impact on generating methods stubs, especially on non-object-oriented languages like C. The programmer expects a method signature like e.g.

int method_add(struct vector *a, struct vector *b, struct vector *sum);

If the arguments are polymorphic by default we cannot use this kind of methods signature, instead, the programmer must deal with complex extensionobject structures, which are hard to use.
So it is better to have this only for the rare cases where polymorphic types are expected and not for the normal case.

Jim Luth

2018-10-23 15:11

administrator   ~0009487

Should be clarified in Part 3.

Jeff Harding

2020-06-09 17:14

developer   ~0012214

UA Working Group discussion

We could add an access level flag to a Variable to indicate if subtypes of the DataType are allowed. name could be 'allowSubDataTypes'
This flag is not applicable to abstract types only concrete types.
This can be applied to methods by using the method meta data.
This can be applied to event fields as there are just variables.
When subtyping a variable the datatype is sealed and can not be changed.
The default behavior, when the access level flag is not there, is to not allow subtypes of the DataType. We did not agree the default should be not allow.

Jeff Harding

2020-06-10 14:39

developer   ~0012229

Added new Field 'NoSubDataTypes' to AccessLevelExType which indicates a Variable’s ability to SubType its DataType in 8.58

Jim Luth

2020-08-25 13:19

administrator   ~0012709

Agreed to changes in ad-hoc Telecon.

Issue History

Date Modified Username Field Change
2018-10-10 05:58 Matthias Damm New Issue
2018-10-10 05:58 Matthias Damm Relationship added related to 0004421
2018-10-10 06:02 Matthias Damm Relationship added related to 0004423
2018-10-11 07:36 Gerhard Gappmeier Note Added: 0009478
2018-10-23 15:11 Jim Luth Note Added: 0009487
2018-10-23 15:12 Jim Luth Assigned To => Jeff Harding
2018-10-23 15:12 Jim Luth Status new => assigned
2020-06-09 17:14 Jeff Harding Note Added: 0012214
2020-06-10 14:39 Jeff Harding Status assigned => resolved
2020-06-10 14:39 Jeff Harding Resolution open => fixed
2020-06-10 14:39 Jeff Harding Fixed in Version => 1.05
2020-06-10 14:39 Jeff Harding Note Added: 0012229
2020-08-25 13:08 Jim Luth Issue cloned: 0005913
2020-08-25 13:08 Jim Luth Relationship added related to 0005913
2020-08-25 13:19 Jim Luth Status resolved => closed
2020-08-25 13:19 Jim Luth Note Added: 0012709