-
Notifications
You must be signed in to change notification settings - Fork 44
Feature: support for naming the reverse role relationship between elements #2755
Copy link
Copy link
Open
Description
Description
Introduce support for Reverse Role naming within the grammar configuration. This would allow users to define a specific label for a relationship when viewed from the target’s perspective (the "reverse" direction), rather than using the forward role name for both directions.
Problem
Currently, the defined ROLE name is used for both the forward and backward directions of a relationship. While users can infer the meaning by checking if the relation is a "Parent" or "Child," it creates a mental hurdle.
- Readability: In traceability views or relation headers, seeing "TopSystem composes SubSystemA" is confusing when the actual relationship is that the SubSystem composes the TopSystem.
- Semantic Accuracy: Not all reverse roles are simple passive-voice versions of the forward role (e.g., "depends on" vs. "enables"). Using the same label for both directions degrades the "natural language" feel of the traceability map.
Solution
Update the RELATIONS grammar to include an optional REVERSE_ROLE attribute. This attribute would be used by the UI to display the relationship when navigating between the elements in the opposite direction.
Example:
RELATIONS:
- TYPE: Parent
ROLE: constrains
REVERSE_ROLE: is constrained byExpected Behavior:
- When viewing System A (the Parent): The UI shows "System A constrains System B."
- When viewing System B (the Child): The UI shows "System B is constrained by System A."
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels