Metamodel critics approach for designing metamodels in model-driven software engineering - Mohammad Alaudin, Mohammad Alif (2021)
The advances of Model-Driven Engineering (MDE) or Model-Driven Software Engineering (MDSE) have motivated the use of metamodeling approach in the development of software systems. Metamodeling is the key concept in MDSE approach that describes how domain models are organized: their ontology, syntax and semantic. The model’s abstraction levels, and relations of levels are also defined via metamodeling approach. Many software developers applied the MDSE via metamodel-based approach for software development in various domains. However, one of the challenges in MDSE is the quality of the metamodels. A study reported that metamodels possibly have quality defects because metamodel design is related to the cognitive ability of metamodel designers. Hence, the research problems in metamodel design includes syntax errors, poor-constructs, over complex-constructs, semantic defects, and poor quality of the design. Some of the problems in metamodel design includes syntax errors, poor-constructs, over complex-constructs and semantic defects. Many researchers have proposed several guidelines and rules to assist the software developers on how to design a quality metamodel. However, an automated approach to check and detect the errors in metamodel design is still lacking. Thus, in this research, a critic-based approach is proposed to detect metamodel design errors in an automated way and provide suggestions to improve the metamodel design. The research scope is focused on designing a metamodel design using Unified Modeling Language (UML) Class Diagram notation. The aim of this research is to integrate a critic-based approach within modelling tool to assist the software developers in designing a quality metamodel design in MDSE. The research consists of several phases to achieve the research aim. The early phase of this research was initiated by identifying the requirements of a quality metamodel design via literature review analysis. Several rules and guidelines in designing quality metamodel as proposed by previous researchers are obtained in the initial phase. In the intermediate phase, metamodel critics are created based on the rules and guidelines of a quality metamodel. A prototype to demonstrate the proof of concept for metamodel critics was developed. Several exemplars of metamodels are used to demonstrate the application of metamodel critics. The final phase of this research is to perform a user evaluation to assess the usability and effectiveness of metamodel critic approach in designing a quality metamodel. The main contribution of this research is the mechanism to detect metamodel design errors and provide suggestions for improvement of metamodel design in MDSE via critic-based approach. Another important contribution is the development of a metamodel critic tool that can be applied to assist software developers in designing a quality metamodel using the Unified Modelling Language (UML) notations.