-
Notifications
You must be signed in to change notification settings - Fork 0
Starting from the local instance
Traversal from the local instance to one on the other side of an association can be accomplished by specifying a path using the hop / symbol (forward slash).
An instance of Flot, for example, can access its Flot Specification across an association like this:
my Spec .= /is specified by/Flot Specification
The relationship phrase, name or both can be used to unambiguously specify the navigation. For non-reflexive associations, the final path element must be the class name of the target instance set.
my Spec .= /R4/Flot Specification
my Spec .= /R4/is specified by/Flot Specification
In xUML, relationship names must be unique within a domain, but there is no such constraint on association phrases. So, if there is any ambiguity, you must supply the relationship name.
Multiple associations may be traversed in a single path.
my Bank .= /R4/Cabin/R2/Shaft/R1/Bank
Class names are not necessary, so you could type this:
my Bank .= /R4/R2/R1
For maximum clarity, always specify the destination class:
my Bank .= /R4/R2/R1/Bank
A smart editor with access to the class model can provide autofill assistance so that a relationship path can be entered in a consistent style with very few keystrokes.
The key principle is that every relationship path must be unambiguous.
Copyright 2020, 2021, 2022, 2023, 2025 © Leon Starr under MIT Open Source License
- Why they are problematic
- Instance attribute creation values
- Boolean values
- Special values
- Enumerated values
- Action block
- Statement
- Single line action
- Multiple dependent actions on a single line
- An action spread across multiple lines
- A conditional group of single line actions
- Comments
- Finding instances
- Attribute access
- Creation and deletion
- Subclass migration
- Creating a table from a class
- Creating a table with a definition
- Converting a table into a class
- Set operations on tables
- Set comparisons on tables
- Join
- Rename
- Extend
- Aggregation
- Rank
- Image
- Input values
- Signatures and name doubling
- Output values
- Execution order
- Sequential execution
- Conditional execution
- Signals
- Scrall has no for_each action
- Iteration