## 3 Concepts and Definitions
### DnD Transformation Specification Explained by Example  
Let us assume that a user (e.g., system analyst) has created or somehow obtained, a UML use case model (Figure 3, panel 1), which is represented in the UML use case diagram (Figure 3, panel 3). Having this model, he would then prefer to use it as a source of knowledge for the development of SBVR business vocabulary for that particular business domain. Figure 2: The overall architecture of UML profiles for supporting DnD transformation [7]. While such vocabulary could be developed manually from scratch, its development could also be automated to some degree by utilizing the model transformation functionality provided by the modeling environment. Our presented solution enables the user to use drag-and-drop actions selectively and intuitively on certain use case model elements by triggering predefined transformation actions to generate a set of one or more related business vocabulary elements and represent those elements in the opened SBVR business vocabulary diagram (Figure 3, panel 2). Next, based on the example presented in Figure 3, let us discuss two illustrative scenarios of using drag-and-drop actions that will enact specific DnD transformations (Figure 4) producing certain results:  
1. If we select a use case'manage car rental insurance' (Figure 3, panel A1) and drag-and-drop it onto the business vocabulary diagram, then a verb concept'rental manager's assistant _manages_car rental insurance' will be automatically created in the SBVR business vocabulary (Figure 3, panel A2). This occurs because we specified a transformation rule to transform a use case and its actors to a corresponding number of verb concepts (a verb concept for each triplet <_UseCase-Association-Actor>_) when that use case is dropped onto the business vocabulary diagram (Figure 4, panel 2). 2. If we select a use case'rental manager's assistant' (Figure 3, panel B1) and drag-and-drop it onto the business vocabulary diagram, then two verb concepts, namely'rental manager's assistant _manages_car rental insurance' and'rental manager's assistant _confirms_car reservation', will be automatically created in the SBVR business vocabulary (Figure 3, panel B2). This happens because we specified a DnD transformation rule instructed to transform an actor and all use cases associated with it to a corresponding number of verb concepts (one verb concept for each triplet <_Actor-Association-UseCase>_) when that actor is dragged and dropped onto the business vocabulary diagram (Figure 4, panel 2). Figure 3: An illustrative example of DnD transformation in action (refer to [6] to view the full specification of the UML use case model and SBVR business vocabulary presented in this example). Figure 4 presents the DnD transformation specification, which is executed by the transformation engine upon performing the above-mentioned scenarios. The DnD transformation specification is composed of a customization class _ExemplaryCustomization_ (Figure 4, panel 1), DnD action specifications _ExemplaryDnDSpec1_ and _ExemplaryDnDSpec2_ (Figure 4, panels 2,3), and a transformation pattern _ExemplaryMappingPattern_ (Figure 4, panel 4). _ExemplaryCustomization_ refers to the specified _ExemplaryDnDSpec1_ and _ExemplaryDnDSpec2_ allowing these specifications to be executed by the transformation engine when a user drags a _sourceElement_ and drops it onto a _customizationTarget_. In our case, the _customizationTarget_ is not defined because the target element is the target diagram itself defined in the _targetDiagram_ property. In this case, the _ExemplaryCustomization_ together with _ExemplaryDnDSpec1_ (Figure 4, panel 2) defines that the transformation will be executed after a user drags an instance of _UseCase_ from the use case model and drops it onto the _Business Vocabulary_ diagram.