## 3 Introductory Example  
In this section, we start with a simple yet practical example illustrating the main concept of the developed solution. The main workflow presented in this example is quite similar to the one introduced in our previous paper [14]. In this case, however, we present a situation in which it is necessary to additionally apply NLP to produce valid results (i.e., a fragment of a target model), thus showing the actual benefit of the developed NLP enhancement. Note that a more comprehensive list of potential use cases for the application of this NLP enhancement is presented in Section 6. Let us assume that a system analyst has created (or somehow obtained) a UML use case model, which is a part of some system specification (Figure 1, panel 1); this model is represented in the UML use case diagram (Figure 1, panel 3). Having this model, he would then like to use it as a source of knowledge while developing a UML class model expressing a conceptual data model for that business domain. While this conceptual model 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 solution enables the user to selectively and intuitively use drag-and-drop actions on certain use case model elements triggering predefined transformation actions to generate a set of one or more related class model elements and represent those elements in the opened UML class diagram (Figure 1, panel 2). Now, let us be more specific and analyze this particular example of the partial M2M transformation enhanced with NLP (note: while our solution introduces many useful features (e.g., detection and merging of duplicate model elements, assuring traceability between source model elements and transformed model elements), those were described in [14] and other referenced sources and will be considered out of the scope of this paper; instead, we will focus solely on the aspects of the developed NLP extension):  
1. We will assume that the user dragged the Actor element \"Customer\" from the use case model onto the opened class diagram \"Order Management\" (Figure 1, tag A). Figure 1: Illustrative example of partial model-to-model (M2M) transformation using drag-and-drop action. 2. This action subsequently triggers a transformation action, which in turn triggers the transformation engine to execute the specific transformation specification visually designed for this action (i.e., dragging an Actor element from the use case model onto the UML class diagram). 3. The transformation specification instructs the transformation engine to select \"Customer\" together with use cases associated with this actor and transform it into UML classes and a set of associations connecting those classes. In the exemplary use case model, \"Customer\" is associated with four use cases: \"Place order\", \"Payment\", \"Send back item\", and \"Fill-in complaint form\". 4. This chain of performed actions will result in the generation of a fragment of the UML class diagram, as presented in Figure 1, tag B. At first glance, this would seem like a relatively simple transformation, which was already discussed in our previous paper [14]. However, this particular example illustrates a situation where certain NLP involvement is already required if one wishes to acquire a valid result. The reason behind this is that the conditions defining the extraction of multi-word verb and/or noun phrases are nontrivial. Here are several specific things to consider for this particular transformation:  
1. In the resulting UML class diagram, the association between the two classes \"Customer\" and \"Item\" is named as the two-word verb phrase \"send back\", which was extracted from the source element name, namely the use case \"Send back item\". Such extraction requires NLP-enhanced extraction of noun and verb phrases. In our original solution [14], a simple text-processing technique was used.