View Issue Details

IDProjectCategoryView StatusLast Update
000344410000-009: Alarms and ConditionsApi Changepublic2017-02-28 17:56
ReporterThomas Merk Assigned ToPaul Hunkar  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Summary0003444: Missing references in Opc.Ua.NodeSet2.xml
Description

Many manatory components / properties like
"Unshelved"
"TimedShelved"
"OneShotShelved"
"UnshelvedToTimedShelved"
...
"HighHigh"
...
do not have a ModellingRule specified in the XML.

In the specification these components are specified as Mandaroty or Optional.

In Part 3 - 6.2.2 it is specifed that instances without modelling rules are not to be considered for instantiation or subtyping.
==> Instances may miss mandatory components / properties

TagsNo tags attached.
Commit Version
Fix Due Date

Relationships

related to 0003521 closedKarl Deiretsbacher 10000-010: Programs ModellingRule of states and transitions 
related to 0003663 closedjeffhardingabb 10000-005: Information Model Missing references in Opc.Ua.NodeSet2.xml 
related to 0003710 closedjeffhardingabb 10000-005: Information Model Allow statemachine instances to expose currently available states and transitions 

Activities

randyarmstrong

2016-08-18 03:50

administrator   ~0007138

The Nodes in question are metadata that only show up on the type Node so the missing ModellingRule is intentional.

This is a problem with Part 9.
Moving the issue,

Matthias Damm

2016-09-05 15:06

developer   ~0007173

The UANodeSet is right, the spec has the wrong modeling rules.

See also related issue for Programs (Part 10) 0003521

Paul Hunkar

2016-09-30 16:33

developer   ~0007182

Document 1.04.05 contains the updates (made changes as requested)

Paul Hunkar

2016-10-01 01:48

developer   ~0007185

The change does not make sense for state machines that contain optional states and transitions. the instance version of it will reflect which of the states and transition are supported by the particular instance.

Paul Hunkar

2016-10-01 01:50

developer   ~0007186

This issue needs to be reassigned back to the nodeset file in my opinion - we can discuss it in the next UA call.

Jim Luth

2016-10-11 16:25

administrator   ~0007221

Paul needs to clone this to Part 5 also.

Paul Hunkar

2016-12-16 14:57

developer   ~0007619

Fix statemachines that are always the same to be none, left ones that are to be instance specific to have modeling rules of mandatory or Optional

Paul Hunkar

2017-01-21 06:00

developer   ~0007767

Need more discussion on this mantis issue

Paul Hunkar

2017-01-21 06:08

developer   ~0007768

PackML information model has state machines. by there definition a state machine has fixed names (they don't have nodeids). all instance of the type they defined pick which of the predefined states and predefined transition they will support. The instance expose the states that are part of that instance (as well as transitions). The current list of modeling rules do not allow us to model this state machine. We have nodeid to identify the state and transitions - all instance need to have the same nodeid for states and for transition, but each instance needs to be able to expose only the states that apply for that instance.

I would propose the following fix:
we need a pair of new modeling rules OptionalFix and MandatoryFixed. These rules would behave like none, in that no new nodes would be created as part of the instance, but unlike none, the reference used to define the nodes in the type would exist in the instance, they would just point to the node in the type.
mandatoryFix would mean the node would always have the reference, optionalFix would mean some instance would include other would not.

randyarmstrong

2017-01-22 04:46

administrator   ~0007770

We already have a precedent with TwoStateVariableType. This type we have two non-hierarchical references defined to point to an instance of StateType.

We should follow the same pattern for optional states.

Paul Hunkar

2017-01-24 05:37

developer   ~0007787

The two reference in question point to the related states (HasTrueSubState and HasFalseSubState) Allowing the TwoStateVariableType to indicate what statemachine it is a substate of, which is different then indicating what states on a state machine are actually available. The HasSubStateMacihine reference is a non-hierarchical reference and these additional reference server the same purpose but allow a link to something that is not a full statemachine.

Would we define additional reference for which states & transitions are supported? So each instance would have a lot of non-hierarchical reference. what would the expect behavior of a client be if no reference are found, what is just one is found?

We created the TWOStateVariableType to create a simplification of a statemachine - one in which only two states are available and no transition or effects are listed. It eliminated a lot of nodes from an alarm instance, which makes sense for most alarms, but this issue is wider that just alarms - StateMachines in Programs or companion specifications are not worried about node counts, and they would like to see the available states and transitions

Paul Hunkar

2017-02-15 00:30

developer   ~0007886

Updated All StateMachine to set States and Transitions to have no Modeling rule. Added text to StateMachines that might have instances where some states and/or transition are not exposed, to expose ValidateStates and ValidTransitions optional properties allowing clients to determine what states are valid for the given instance

Jim Luth

2017-02-28 17:56

administrator   ~0007901

Agreed to changes edited in 1.04.07.

Issue History

Date Modified Username Field Change
2016-06-06 09:14 Thomas Merk New Issue
2016-08-18 03:50 randyarmstrong Note Added: 0007138
2016-08-18 03:50 randyarmstrong Project NodeSets, XSDs and Generated Code => 10000-009: Alarms and Conditions
2016-08-18 03:50 randyarmstrong Category Implementation Bug => Api Change
2016-08-30 15:50 Jim Luth Assigned To => Paul Hunkar
2016-08-30 15:50 Jim Luth Status new => assigned
2016-09-05 15:06 Matthias Damm Note Added: 0007173
2016-09-05 15:07 Matthias Damm Relationship added related to 0003521
2016-09-30 16:33 Paul Hunkar Note Added: 0007182
2016-09-30 16:33 Paul Hunkar Status assigned => resolved
2016-09-30 16:33 Paul Hunkar Fixed in Version => 1.04
2016-09-30 16:33 Paul Hunkar Resolution open => fixed
2016-10-01 01:48 Paul Hunkar Note Added: 0007185
2016-10-01 01:48 Paul Hunkar Status resolved => feedback
2016-10-01 01:48 Paul Hunkar Resolution fixed => reopened
2016-10-01 01:50 Paul Hunkar Note Added: 0007186
2016-10-01 01:50 Paul Hunkar Status feedback => acknowledged
2016-10-11 16:25 Jim Luth Note Added: 0007221
2016-10-11 16:25 Jim Luth Status acknowledged => assigned
2016-12-16 14:55 Paul Hunkar Issue cloned: 0003663
2016-12-16 14:55 Paul Hunkar Relationship added related to 0003663
2016-12-16 14:57 Paul Hunkar Note Added: 0007619
2016-12-16 14:57 Paul Hunkar Status assigned => resolved
2016-12-16 14:57 Paul Hunkar Resolution reopened => fixed
2017-01-21 06:00 Paul Hunkar Note Added: 0007767
2017-01-21 06:00 Paul Hunkar Status resolved => feedback
2017-01-21 06:00 Paul Hunkar Resolution fixed => reopened
2017-01-21 06:01 Paul Hunkar Status feedback => assigned
2017-01-21 06:08 Paul Hunkar Note Added: 0007768
2017-01-22 04:46 randyarmstrong Note Added: 0007770
2017-01-24 05:37 Paul Hunkar Note Added: 0007787
2017-01-24 16:37 Jim Luth Relationship added related to 0003710
2017-02-15 00:30 Paul Hunkar Note Added: 0007886
2017-02-15 00:30 Paul Hunkar Status assigned => resolved
2017-02-15 00:30 Paul Hunkar Resolution reopened => fixed
2017-02-28 17:56 Jim Luth Note Added: 0007901
2017-02-28 17:56 Jim Luth Status resolved => closed