View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005918 | 10000-003: Address Space | Spec | public | 2020-08-26 06:58 | 2022-12-08 16:13 |
Reporter | Wolfgang Mahnke | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | acknowledged | Resolution | open | ||
Summary | 0005918: Constraints on Attribute values based on InstanceDeclarations Attributes | ||||
Description | Currently, Part 3 defines in 6.2.6 and 6.2.7 some rules on Attribute values between InstanceDeclarations and their instances or overridden InstanceDeclarations on the subtype (e.g. NodeClass shall not change). For several attributes, nothing specific is defined. That does include the AccessLevel and AccessLevelEx attributes. Lately, several Companion Specifications do define specific InstanceDeclaration Variables to be Read-Only or to be Writable. Based on the current spec, there is no requirement for the instances to follow the setting (e.g. being writable). And in addition, we added a capability in the AccessLevelEx to expose that the Variable does not support Subtypes of its DataType. In both cases it would be desirable to specify that (or if) this behaviour also applies for the Instances or overridden InstanceDeclarations. One potential solution could be to use the generic solution to expose constrains currently worked on in the Semantic Validation group. | ||||
Tags | No tags attached. | ||||
Commit Version | |||||
Fix Due Date | |||||
related to | 0005909 | acknowledged | Limitation on subtyping for VariableTypes |
|
Discuss with Wolfgang before assigning. |
|
Agreed to address this after the first 1.05 release of Part 3. |
|
The companion specification that include the column had very clear definition on how the read write column applied and the base specification - since it now support must follow that rule, or the Companion specifications need to return to having there own column that defines the required behavior. That behavior is very clear and it only involves two bits in the Access level mask. Read and Write - if the column list ReadOnly, the read bit shall be set and the write bit cleared and it applies to all instances based on the declaration. If it is WriteOnly the read bit is clear and the write bit is set, if it is ReadWrite both bit are set and these setting apply to all instances that are created based on the type definition that includes the column. (if not set, nothing is defined and instance can do what every they want). This does not govern the UserAccess, which can further restrict these settings (i.e. it is ReadOnly, but a specific user might still not be able to read it, if they do not have the rights) Where the companion specification were less clear is how this would be applied to subtypes (and if it could be over written) - but the general consensus was that it could be overwritten in a subtype, but it would still have to be explicitly set, i.e. a subtype could change something ReadWrite to ReadOnly, but the spec would have provide the updated definition. |
|
As a generic note, please note, that the instantiation is also allowed to use the overriding rules on top of the subtype having those overriding rules. Thus, there might need to be or not a separate rule then to define if the instantiation of a type is allowed still to change the bits, or does it need to obey the same rules. Effectively the InstanceDeclarations are all of their own "mini-TypeDefinitions" of their own, since they are allowed to override and add stuff from the TypeDefinitions of from which they are instantiated as an InstanceDeclaration in the first place. I'm not sure is it clear that does the instantiation have same or different (maybe more limited) rules. And could companion specs to make up "their own rules" (e.g. that "all real instances of an InstanceDeclaration shall use a non-abstract DataType" as an example). |
|
Not enough of a pain point right now. May best be handled by semantic validation. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-08-26 06:58 | Wolfgang Mahnke | New Issue | |
2020-08-26 06:59 | Wolfgang Mahnke | Relationship added | related to 0005909 |
2020-09-01 15:45 | Jim Luth | Note Added: 0012734 | |
2020-10-06 15:58 | Jim Luth | Status | new => acknowledged |
2020-10-06 15:58 | Jim Luth | Note Added: 0013020 | |
2021-03-08 23:30 | Paul Hunkar | Note Added: 0014007 | |
2021-03-08 23:33 | Paul Hunkar | Note Edited: 0014007 | |
2021-04-19 06:54 | BjarneBostrom | Note Added: 0014229 | |
2022-12-08 16:13 | Jim Luth | Note Added: 0018276 |