## 4 Extending M2M Transformations with NLP
### Extended M2M Transformation Metamodel  
In this section, we briefly present the core concepts first introduced in [14]; for more information on this subject, refer to that paper. To present definitions and concepts presented in this paper, we will closely follow the notation defined in the previous paper:  
* Source model concept type (SMCT); an instance (actual source element) is referred to as ISMCT. * Target model concept type (TMCT); an instance (actual target element) is referred to as ITMCT. The implementation-independent metamodel of model-based partial M2M transformations that rely on the specific type of user interaction, i.e., drag-and-drop (D&D) actions, is presented in Figure 2. _TransformationSpecification_ defines a set of properties required for atomic \"one-to-one\" transformations between one SMCT and one TMCT. _TransformationPatternSpecification_ is a supplementary component of M2M transformation that enables complex transformations comprising multiple concepts from the source and target models. The core element of _TransformationPatternSpecification_ is a _MappingPattern_ composed of two mandatory parts, the _PatternSourcePart_ and the _PatternTargetPart_; a complete and valid pattern must contain both parts. The source part contains one or more SMCTs, and the target part one or more TMCTs. The included concept types are mapped using instances of _MappingConnector_. The mapping connector between the particular SMCT and TMCT indicates that upon execution of that M2M transformation specification, the specific instance of TMCT will be created in the target model based on the particular instance of SMCT. In both, the _PatternSourcePart_ and _PatternTargetPart_ concept types are also interconnected with internal _MappingConnectors_ to embed the structure of the underlying source and target metamodels, respectively. _MappingConnectorJoin_ is a specialization of the _MappingConnector_, which enables complex mappings of one-to-many and many-to-one types between source and target concept types. Its inverse form is a split, which can be modeled using multiple _MappingConnector_ instances with certain conditions, and therefore it is not represented as a separate element in the metamodel. Both join and split will be further discussed in Section 5.1. As noted in previous sections, NLP extension in our transformation method provides a means to design more complex logic in transformation patterns or their conditional execution based on branching conditions, which often requires specification of certain constraints or predicates to enable such functionality. To introduce such extension, the previous metamodel was extended by adding the following metaclasses (marked as gray in Figure 2):  
* _SimpleTransformationPatternSpecification_ is a transformation pattern specification (_TransformationPatternSpecification_) containing a single mapping pattern (_MappingPattern_). * _ConditionedTransformationPatternSpecification_ is a transformation pattern specification containing a set of conditioned mapping specifications (_ConditionedMappingSpecification_) together with a default mapping pattern. * _ConditionedMappingSpecification_ is a mapping specification coupling mapping pattern (_MappingPattern_) with conditional expression restricting the execution of the defined mapping pattern based on a specific condition. Additionally, _TransformationPatternSpecification_ was also extended with the following binary properties enabling NLP-based deduplication analysis:  
* _mergeSynonyms_: If this property is set to _true_, elements whose names are recognized as synonymous with names of elements already existing in the target model will be automatically merged with those elements by the transformation engine (i.e., new elements will not be created in the target model); otherwise, new elements will or will not be created depending on the _mergeMatchingConcepts_ setting, which sets the merging of elements with identical names on and off (straightforward string matching is used here).