The Architectural view offers 2 strategies to assign elements to artifacts:
-
Explicit assignment per drag and drop based on either package/namespace/directory or components (physical) or top-Level programming elements (logical). Alternatively the 'Move' dialog can be used.
-
Manual filter management based on components (physical) or top-Level programming elements (logical) based on patterns supporting different underlying identifiers or annotation, super class or super interface dependencies.
NOTE: An artifact has either explicitly assigned elements or has a manual filter but not both. Artifacts with explicitly assigned elements and manual filters can be mixed in one Architectural view.
When creating/editing an artifact the manual filter can be managed on the second page of the artifact wizard.
The basic flow to add a new pattern is as follows:
-
Choose the assignment strategy by pressing the button marked with '1'. There you can choose between several options summarized below.
-
Add a new pattern by pressing the button marked with '2'.
-
Edit the pattern in the field marked with '3'. The currently matching elements are show in the area labeled with 'Matching'.
-
Once the pattern is valid the icon on the button marked with '4' turns green. If you are satisfied press the button to add it to the already existing pattern shown in the area labeled with 'Filter'.
HINT
Moving the mouse pointer on top of the assignment strategy label ('[Core] Architecture Name Physical:' in the screenshot) will show a tool tip explaining the pattern usage with example. The tool tip is focusable. Clicking into it will convert it into a small dialog staying o top supporting selection/copy of the shown text.
Available assignment strategies:
Strategy | Structure Mode Type | Languages |
---|---|---|
Architecture Filter Name Physical | Physical | All |
Architecture Filter Name Logical | Logical | All |
Physical Filter Name | Logical | All |
Workspace Filter Name | Physical, Logical | All |
Extends Class | Physical, Logical | All |
Implements Interface | Physical, Logical | Java, C# |
Has Annotation | Physical, Logical | Java |
Has Annotation Value | Physical, Logical | Java |
Header Path | Physical | C,C++ |
See Section 11.1, “
Models, Components and Artifacts
”, Section 11.1.1, “Using other criteria to assign components to artifacts” and Section 11.1.2, “List of predefined attribute retrievers”
in the architecture DSL documentation for examples.