Certain assets and relationships are used only in construction patterns, to store information needed by subsequent patterns. These assets and relationships are not used in threat patterns, so they can be deleted by the validator at the end of the construction sequence.
This helps to keep down the size of system models, and reduces the number of (mostly meaningless) relationships sen by users if they choose to look at relationships in the asset properties panel.
During domain model development, it is sometimes useful not to have these assets and relationships deleted, e.g., when making changes to the domain model, especially changes to those construction sequences. In those situations, one wants to check what construction state created, so having it deleted by the validator is not helpful.
We should add a command line option to csv2nq to override construction state flags so nothing is deleted by the validator. This flag could then be used by domain model developers to create domain models suitable for running tests, but left out when creating domain models for operational use.
This is analagous to the concept of 'hidden' Misbehaviours and TWAs. There is already a flag in csv2nq to override the 'hidden' flags so all Misbehaviours and TWAs are displayed. The difference is that these are not deleted by the validator - they are just not shown in the SSM web U/I. Arguably, the same flag could be used to suppress deletion of construction state assets and relationships, making it a 'developer' mode option to csv2nq.
Certain assets and relationships are used only in construction patterns, to store information needed by subsequent patterns. These assets and relationships are not used in threat patterns, so they can be deleted by the validator at the end of the construction sequence.
This helps to keep down the size of system models, and reduces the number of (mostly meaningless) relationships sen by users if they choose to look at relationships in the asset properties panel.
During domain model development, it is sometimes useful not to have these assets and relationships deleted, e.g., when making changes to the domain model, especially changes to those construction sequences. In those situations, one wants to check what construction state created, so having it deleted by the validator is not helpful.
We should add a command line option to csv2nq to override construction state flags so nothing is deleted by the validator. This flag could then be used by domain model developers to create domain models suitable for running tests, but left out when creating domain models for operational use.
This is analagous to the concept of 'hidden' Misbehaviours and TWAs. There is already a flag in csv2nq to override the 'hidden' flags so all Misbehaviours and TWAs are displayed. The difference is that these are not deleted by the validator - they are just not shown in the SSM web U/I. Arguably, the same flag could be used to suppress deletion of construction state assets and relationships, making it a 'developer' mode option to csv2nq.