Automatic metamodel-driven service component model generation

Model-Driven Development (MDD) represents a paradigm shift in software engineering, offering numerous benefits that can lead to more efficient, reliable, and maintainable software systems. It shifts the focus from traditional coding to creating and evolving high-level abstract models, which are then...

Full description

Saved in:
Bibliographic Details
Main Author: Ding, Xinyang
Other Authors: Liu Yang
Format: Thesis-Master by Research
Language:English
Published: Nanyang Technological University 2025
Subjects:
Online Access:https://hdl.handle.net/10356/181914
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-181914
record_format dspace
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic Computer and Information Science
Model-driven development
MetaModels
Use cases
Component models
Model transformation
spellingShingle Computer and Information Science
Model-driven development
MetaModels
Use cases
Component models
Model transformation
Ding, Xinyang
Automatic metamodel-driven service component model generation
description Model-Driven Development (MDD) represents a paradigm shift in software engineering, offering numerous benefits that can lead to more efficient, reliable, and maintainable software systems. It shifts the focus from traditional coding to creating and evolving high-level abstract models, which are then transformed into executable code. With growing software complexity, MDD is expected to become a key approach in shaping future software engineering practices. Usually, there are three levels of abstract models in MDD: Computation-independent Model (CIM), the Platform-independent model (PIM), and the Platform-specific model (PSM). CIM focuses on the description of textual system requirements of a software system, PIM concentrates on the design model of the system, abstracting away from specific implementation platforms and technologies, and PSM specifies the implementation details of the system for a particular platform or technology according to the PIM. MDD starts with the building of a CIM, then the CIM is transformed into a PIM; the PIM is subsequently used to create a PSM, ultimately leading to code generation. Model transformation among CIM, PIM, and PSM is a cornerstone of MDD, ensuring that the development process remains systematic, coherent, and aligned with both business objectives and technical requirements. Current research usually focuses on the conversion of PIMs to PSMs and subsequent code generation. The automatic transformation from CIMs to PIMs receives less attention in academic studies, largely due to several inherent challenges. First, system requirements are described in natural languages while design models are described in formal language models. Their intrinsic nature difference makes the transformation difficult. Second, there are various complex and heterogeneous software systems which make it different to design uniform transformation methods. On one hand, since requirements from different domains are different, it is hard to design a uniform method to generate CIMs for all requirements. On the other hand, due to the differences in different CIMS, it is hard to design uniform rules to do the transformation. To partially address the aforementioned challenges, this thesis proposes a metamodel-driven method for converting CIMs into PIMs. The main idea is to extract the common features of CIMs and PIMs, based on which we define metamodels for CIMs and PIMs, and then the transformation rules between the two kinds of metamodels are defined. In this way, the generation of CIMs becomes the instantiation of the metamodel of CIMS and can be done by configuring the attributes in the metamodels; the generation of PIMs can be done based on the uniform transformation rules and instantiated CIMs. First, motivated by the factor that requirements are specified by textual use cases, we define use case metamodel for use cases that adhere to Cockburn’s format. Second, we define the service component metamodel for the systems described in terms of service component architecture (SCA). SCA is a widely adopted design paradigm for service-oriented software systems. Third, according to the two kinds of metamodels, we develop a set of rules to transform use case models into SCA models. Rigorous proof is given to show the correctness of the rule set. Finally, we implement the proposed method and demonstrate its effectiveness with six software systems: Market Information System, Car Instrument Cluster System, Elevator System, Nighttime Bank Deposit System, Supermarket Checkout System, and ATM. The experimental results demonstrate that the models produced by our approach achieve greater accuracy compared to those manually created. It also works well from the perspective of different levels of a component model. Our future research will concentrate on enhancing our proposed method along several key directions. First, we will add more sentence structure types to the current sentence base to write use cases to support more requirements, such as those described by model verbs and fuzzy words. Second, with the development of large language model (LLM) techniques, we can investigate how to use LLMs to configure the metamodel from user textual requirements. Third, since the use case metamodels will determine the software design, we will provide various types of use case metamodels, such as object-oriented use case metamodels, to support more types of system designs, such as object-oriented design.
author2 Liu Yang
author_facet Liu Yang
Ding, Xinyang
format Thesis-Master by Research
author Ding, Xinyang
author_sort Ding, Xinyang
title Automatic metamodel-driven service component model generation
title_short Automatic metamodel-driven service component model generation
title_full Automatic metamodel-driven service component model generation
title_fullStr Automatic metamodel-driven service component model generation
title_full_unstemmed Automatic metamodel-driven service component model generation
title_sort automatic metamodel-driven service component model generation
publisher Nanyang Technological University
publishDate 2025
url https://hdl.handle.net/10356/181914
_version_ 1821237139040370688
spelling sg-ntu-dr.10356-1819142025-01-02T08:28:00Z Automatic metamodel-driven service component model generation Ding, Xinyang Liu Yang College of Computing and Data Science yangliu@ntu.edu.sg Computer and Information Science Model-driven development MetaModels Use cases Component models Model transformation Model-Driven Development (MDD) represents a paradigm shift in software engineering, offering numerous benefits that can lead to more efficient, reliable, and maintainable software systems. It shifts the focus from traditional coding to creating and evolving high-level abstract models, which are then transformed into executable code. With growing software complexity, MDD is expected to become a key approach in shaping future software engineering practices. Usually, there are three levels of abstract models in MDD: Computation-independent Model (CIM), the Platform-independent model (PIM), and the Platform-specific model (PSM). CIM focuses on the description of textual system requirements of a software system, PIM concentrates on the design model of the system, abstracting away from specific implementation platforms and technologies, and PSM specifies the implementation details of the system for a particular platform or technology according to the PIM. MDD starts with the building of a CIM, then the CIM is transformed into a PIM; the PIM is subsequently used to create a PSM, ultimately leading to code generation. Model transformation among CIM, PIM, and PSM is a cornerstone of MDD, ensuring that the development process remains systematic, coherent, and aligned with both business objectives and technical requirements. Current research usually focuses on the conversion of PIMs to PSMs and subsequent code generation. The automatic transformation from CIMs to PIMs receives less attention in academic studies, largely due to several inherent challenges. First, system requirements are described in natural languages while design models are described in formal language models. Their intrinsic nature difference makes the transformation difficult. Second, there are various complex and heterogeneous software systems which make it different to design uniform transformation methods. On one hand, since requirements from different domains are different, it is hard to design a uniform method to generate CIMs for all requirements. On the other hand, due to the differences in different CIMS, it is hard to design uniform rules to do the transformation. To partially address the aforementioned challenges, this thesis proposes a metamodel-driven method for converting CIMs into PIMs. The main idea is to extract the common features of CIMs and PIMs, based on which we define metamodels for CIMs and PIMs, and then the transformation rules between the two kinds of metamodels are defined. In this way, the generation of CIMs becomes the instantiation of the metamodel of CIMS and can be done by configuring the attributes in the metamodels; the generation of PIMs can be done based on the uniform transformation rules and instantiated CIMs. First, motivated by the factor that requirements are specified by textual use cases, we define use case metamodel for use cases that adhere to Cockburn’s format. Second, we define the service component metamodel for the systems described in terms of service component architecture (SCA). SCA is a widely adopted design paradigm for service-oriented software systems. Third, according to the two kinds of metamodels, we develop a set of rules to transform use case models into SCA models. Rigorous proof is given to show the correctness of the rule set. Finally, we implement the proposed method and demonstrate its effectiveness with six software systems: Market Information System, Car Instrument Cluster System, Elevator System, Nighttime Bank Deposit System, Supermarket Checkout System, and ATM. The experimental results demonstrate that the models produced by our approach achieve greater accuracy compared to those manually created. It also works well from the perspective of different levels of a component model. Our future research will concentrate on enhancing our proposed method along several key directions. First, we will add more sentence structure types to the current sentence base to write use cases to support more requirements, such as those described by model verbs and fuzzy words. Second, with the development of large language model (LLM) techniques, we can investigate how to use LLMs to configure the metamodel from user textual requirements. Third, since the use case metamodels will determine the software design, we will provide various types of use case metamodels, such as object-oriented use case metamodels, to support more types of system designs, such as object-oriented design. Master's degree 2025-01-02T08:27:59Z 2025-01-02T08:27:59Z 2024 Thesis-Master by Research Ding, X. (2024). Automatic metamodel-driven service component model generation. Master's thesis, Nanyang Technological University, Singapore. https://hdl.handle.net/10356/181914 https://hdl.handle.net/10356/181914 en This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License (CC BY-NC 4.0). application/pdf Nanyang Technological University