13.1.  Assigning Elements to Artifacts

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.

Manual Artifact Filter
Figure 13.1. Artifact Filter

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'.


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++
Table 13.1. Available Assignment Strategies

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.