Element Mapping
General
In the Element section of the configuration dialog you define the mapping between Codebeamer work item types and EA element types.
Each mapping rule consists of one Codebeamer type and one EA element type with an optional stereotypes to make the mapping more selective.
The Codebeamer type for a mapping rule can be selected from a dropdown list.
This list is automatically extracted from the type field configuration of your tracker.
The EA element type can also be selected from a dropdown list.
Since our technology is based on UML, we use the UML names of element types. However, in some cases Enterprise Architect uses a different name for some of the offered element types.
Please refer to the list below:
EA Element Type | Type in the Mapping UI |
---|---|
AcceptEventAction | AcceptEventAction |
ActionPin-Kind:input | ActionInputPin |
Activity | Activity |
ActivityParameter | ActivityParameterNode |
Actor | Actor |
Artifact | Artifact |
CallBehaviorAction | CallBehaviorAction |
CallOperationAction | CallOperationAction |
Component | Component |
Class | Class |
DataType | DataType |
Device | Device |
DeploymentSpecification | DeploymentSpecification |
ExecutionEnvironment | ExecutionEnvironment |
Enumeration | Enumeration |
EnumerationLiteral | EnumerationLiteral |
Object | InstanceSpecification |
Interaction | Interaction |
Interface | Interface |
Node | Node |
Note | Note |
OpaqueAction | OpaqueAction |
Operation | Operation |
ActionPin-Kind:output | OutputPin |
Package | Package |
Attribute, Part | Property |
Pool | Pool |
Port | Port |
Reception | Reception |
Requirement | Requirement |
NonfunctionalRequirement | Requirement (nonfunctional) |
FunctionalRequirement | Requirement (functional) |
RegulatoryRequirement | Requirement (regulatory) |
SecurityRequirement | Requirement (security) |
SendSignalAction | SendSignalAction |
Signal | Signal |
State | State |
StateMachine | StateMachine |
Block | SysML Block |
Constraint Block | SysML Constraint Block |
Full Port | SysML Full Port |
Interface Block | SysML Interface Block |
Proxy Port | SysML Proxy Port |
Requirement (from SysML 1.5) | SysML Requirement |
TestCase (from SysML 1.5) | SysML Test Case |
Trigger | Trigger |
UseCase | UseCase |
Stereotypes
Optionally one or many stereotypes can be applied to the matching rule.
For details on how to configure more selective mapping rules, please refer to the Import and Export sections below.
To use a stereotype properly, find the full qualified name of the stereotype in EA properties of that element:
Note
Keep in mind, that since EA 15 only stereotypes from a stereotype definition or an UML Profile / MDG Technology can be used. It is not possible to enter a "free-text" stereotype.
SysML Types are also supported in a convenient way. To use SysML element types, all you have to do is to select them from the list of types:
Note
In order to use "Block Properties" (internal Parts of Blocks), you have to use the EA Type "Property".
Import Mapping
The first entry in the list of available Codebeamer types is called "TrackerItem".
This type is used as a generic type mapping, which applies to every item found in the Codebeamer tracker.
However, if you also define a type mapping, which refers to a Codebeamer type stored in the field "Categories", all elements with the corresponding type will be taken into account.
For example:
A tracker consists of five tracker items:
- Item 1: Category = "–"
- Item 2: Category = "Functional"
- Item 3: Category = "Non-Functional"
- Item 4: Category = Folder
- Item 5: Category = Folder
The element mapping is defined as follows:
This mapping will create EA Packages for the items "Item4" and "Item5". Every other element, no matter the type, will be created as EA Requirement.
Generic Type Mapping
Mapping rules are read in order, so in order to define a "fallback type mapping", you have to add the generic type mapping "TrackerItem" at the end. If the generic type mapping is added at the beginning, it will overwrite every other mapping and will be used as default.
Filter out unwanted tracker item types
It is possible to only import a specific set of tracker item types. You can do that by not configuring a "generic tracker item mapping", as it is described above.
For example:
A tracker consists of five tracker items:
- Item 1: Category = "–"
- Item 2: Category = "Functional"
- Item 3: Category = "Non-Functional"
- Item 4: Category = Info
- Item 5: Category = Info
The type mapping is defined as follows:
This mapping will only import the tracker items "Item2" and "Item3", since there is no default type mapping, that considers tracker items with other types.
Export Mapping
Each element type that should be exported needs to match at least one type mapping rule.
Mapping Order
EA elements are exported according to the first mapping rule which matches their type. If a more generic type mapping is added at the beginning, it will overwrite every other mapping and will be used as default.
For example:
A package contains five elements:
- Element 1: Class (no Stereotype)
- Element 2: Class (SysML1.4::constraintBlock)
- Element 3: Class (SysML1.4::InterfaceBlock)
- Element 4: Activity (no Stereotype)
- Element 5: Activity (SysML1.4::testCase)
The type mapping is defined as follows:
This mapping will export Element 1 and 3 as generic Tracker Items. Element 2 as Item with type Security. Element 5 as Item with type Performance. Element 4 will not be exported.
Customized Stereotype Filter
To configure even more selective mapping rules, you can apply multiple stereotypes, separated by commas.
For example:
A package contains five elements:
- Element 1: UseCase (no Stereotype)
- Element 2: UseCase (EAUML::testset)
- Element 3: UseCase (myprofile::mystereotype)
- Element 4: UseCase (EAUML::testset)(myprofile::mystereotype)
- Element 5: UseCase (EAUML::testset)(myprofile::otherstereotype)
The type mapping is defined as follows:
Codebeamer Type | EA Type | Stereotype |
---|---|---|
Performance | UseCase | EAUML::testset,myprofile::mystereotype |
TrackerItem | UseCase | myprofile::mystereotype |
This mapping will create Element 3 as generic TrackerItem and Element 4 as Item of type Performance. Elements 1, 2 and 5 will not be exported.
"Is Empty" Checkbox
Note
You can configure generic type mapping rules to exclude any stereotype that is not explicitly mapped.
Type mapping rules with "Is Empty" checked will only export elements without stereotype.
For example:
A package contains five elements:
- Element 1: UseCase (no Stereotype)
- Element 2: UseCase (EAUML::testset)
- Element 3: UseCase (myprofile::mystereotype)
- Element 4: UseCase (EAUML::testset)(myprofile::mystereotype)
- Element 5: UseCase (EAUML::testset)(myprofile::otherstereotype)
The type mapping is defined as follows:
Codebeamer Type | EA Type | Stereotype |
---|---|---|
TrackerItem | UseCase | "Is Empty" |
Performance | UseCase | EAUML::testset,myprofile::mystereotype |
This mapping will create Element 1 as generic TrackerItem. Element 4 is created as Item of type Performance. Elements 2, 3 and 5 will not be exported.
Attribute Mapping
The attribute mapping defines which attributes from a Codebeamer element are mapped to which attributes of an EA element (and vice versa).
Note
The attributes available for mapping are partially dependent on the selected tracker, as the tracker might offer custom attributes.
Currently, the following attributes are supported:
- (Tagged Value) (custom attributes that are created as tagged values)
- Alias
- Author
- Classifier (the instance classifier, property type, port type, etc. of an element)
- Complexity
- Created Date
- Default Value
- Lower Bound (LowerBound of the Multiplicity for some element types )
- Modified Date
- Multiplicity (some element types use a different Multiplicity attribute)
- Name
- Notes
- Phase
- Primitive Type (simple types that can be select in EA such as int, bool, long, etc.)
- Status 1
- Stereotype
- Upper Bound (UpperBound of the Multiplicity for some elements)
- Version
Use Tagged Values for Attribute Mappings
In order to use a tagged value for an attribute mapping, simply select the (Tagged Value) entry from the list of available EA Attributes. This will enable a textbox, where you can enter the name of the tagged value that shall be considered in the mapping:
e
Mapping custom profile properties
Note
Since the release of version 3.2.0 custom profile properties are to be mapped with their full qualified name.
In order to map custom profile properties of an element their full qualified name has to be used in the tagged value field.
Mapping the Classifier of exported elements
If the classifier of an element is used in an export mapping, a special field configuration is needed in Codebeamer to properly display the classifier field.
In Codebeamer, you have to create two custom fields for the classifier, one (hidden) field to hold the raw data (name + id of the referenced element) and one to display the proper name of the classifier element.
To configure these two fields, check the guide "Displaying the Classifier of an exported element in Codebeamer with a calculated field".
In EA, you have to map classifier on an element to the internal classifier field, for example:
Mandatory Attribute Mapping for the "Open in Codebeamer" Feature
It is possible to open a tracker item directly in Codebeamer, by either double clicking the representative element in EA, or selecting the menu Specialize > LemonTree.Connect for Codebeamer > Open in codebeamer.
To enable this feature, an attribute mapping for the Codebeamer field "Uri" has to be created. If you create a custom mapping, LemonTree.Connect will automatically create this mapping entry for you.
Every new attribute mapping that will be created, consists of the following mappings:
- Summary → Name
- Description → Notes
- Uri → Uri (Tagged Value)
Warning
If you remove the Uri mapping, the "Open in Codebeamer" feature will be disabled.
Using the "Status" property of Requirements in EA
In order to save and visualize the status property of requirements in EA properly, the attribute mapping has to be done in a specific way.
If you want the importer to write the status of the Codebeamer item into the EA status property, you have to create an attribute mapping that looks like this:
Choose "(Tagged Value) for the EA Attribute and insert the following string into the "Tagged Value" textbox:
EA Specifics 1.0::requirement::Status
However, we recommend not using the status property from EA or Codebeamer for attribute mappings. In both tools, the status properties have predefined values, which should be set directly in the tool, with the allowed values and they might be related to specific workflows and / or state transitions.
Diagram Link Field
It is possible to create a reference between an element and the diagrams, which are visualizing this element. This diagram usage can be represented by a work item reference field in Codebeamer. For this to work, the diagram that visualizes the element has to be exported to Codebeamer, along with the used element. If you only export the element but not the diagram (or vice versa), the diagram usage reference will not be created.
To export diagram usage references, you have to select an available Codebeamer Work/Config Item choice field for each Element mapping rule that should include those references.
-
If you use an element of type Requirement in the mapping (a Class with the Stereotype "EA Specifics 1.0::requirement"), you have to use the attribute name "EA Specifics 1.0::requirement::Status". See Using the "Status" property of Requirements in EA for more details. ↩