{'fraction_non_alphanumeric': 0.012223071046600458, 'fraction_numerical': 0.0007639419404125286, 'mean_word_length': 5.298076923076923, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Extending the UML Metamodel for Sequence Diagram to Enhance Model Traceability

Specification of object-oriented systems by UML models has become an eminent practice among software practitioners. UML Sequence diagrams are used to model the dynamic behavior of the software system depicting how objects interact by passing messages. The UML Metamodel, which is contained in the UML Specification Version 2, has undergone a significant change with respect to sequence diagrams. Complex logic that allows message exchange between objects in a non-sequential manner was made possible through the use of combined fragments. The UML metamodel is used by design tools to verify the correctness of the constructed models. Ensuring well-formedness of these models still remains a challenging task mainly due to unavailability of a formal description for some rules listed in the UML specification. In this paper, we propose an extension to the UML metamodel that eliminates some well-formedness rules defined over combined fragments in UML sequence diagrams. This is achieved by introducing new metaclasses in the UML metamodel. The proposed solution also provides ease for future metamodel extensions and a better mapping framework between the UML metamodel and program code assisting in enhanced reverse engineering.