Model-driven engineering (MDE) involves the construction and manipulation of many models of different kinds in an engineering process. In principle, models can be used in the product engineering lifecycle in an endto-end manner for representing requirements, designs and implementations, and assisting in deployment and maintenance. The manipulations applied to models may be manual, but they can also be automated-for example, using model transformations, code generation, and validation. To enhance automated analysis, consistency and coherence of models used in an MDE process, it is useful to identify, establish and maintain trace-links between models. However, the breadth and scope of trace-links that can be used in MDE is substantial, and managing trace-link information can be very complex. In this paper, we contribute to managing the complexity of traceability information in MDE in two ways: firstly, we demonstrate how to identify the different kinds of trace-links that may appear in an end-to-end MDE process; secondly, we describe a rigorous approach to defining semantically rich trace-links between models, where the models themselves may be constructed using diverse modelling languages. The definition of rich trace-links allows us to use tools to maintain and analyse traceability relationships.
This thesis focuses on model-driven software product line development, which is the combination of the following two software development paradigms: (1) Model-Driven Engineering (MDE), which focuses on modeling software products and automating code generation from product models. In particular, Domain-Specific Modeling (DSM), as a technique in the arena of MDE, is about defining a Domain-Specific Language (DSL) and creating software product models using the language. (2) Software Product Line Engineering (SPLE), is a means to produce similar software products, by consolidating those into product lines to enable managed reuse. In a model-driven Software Product Line (SPL) which adopts DSM technique, products are represented as product models defined in a DSL. The variability (and commonality) of all intended products is specified in a product line model, typically using a variability modeling language. Based on the variability specified in the product line model, reusable model fragments specified using the base DSL, serving as the core assets of the product line, will be reused to derive all intended product models. This thesis provides methods for developing model-driven software product lines, in terms of development methodology, automated assistance and SPL evolution support. Firstly, this thesis presents two results on the methodology for developing a modeldriven SPL: (1) A generic and separate variability modeling language, which can be used to specify a product line model defining how intended product models can vary from each other, both at the domain conceptual level and the realization level (model object level). (2) Guidelines on how to define a DSL that is suitable to serve as the base language for a model-driven SPL, if the base language of the product line does not exist yet. Secondly, this thesis reports on two results in providing automated tool support for model-driven product line development: (1) A method for synthesizing a product line model from a set of existing product models when the product line is not built from scratch. (2) A method for ensuring that all the product models that can be derived from the product line model are intended. Thirdly, this thesis reports on three results in providing support for evolving model-driven SPLs: (1) A method for augmenting the existing product line model when new product models need to be included. (2) A method for suggesting automatic update to the product line model when the core assets of the product line have been changed. (3) A method for calculating semantic difference between two model-driven SPLs. We illustrate the application of our approaches in various case studies in different domains, provided by both industry and academia. Different phases of SPL development and evolution can require substantial amount of manual efforts, of which productivity can be improved by adopting our automatic tool support. We show that
This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a provided traceability metamodel will provide a flexible solution for all types of artifacts to be traced througout the lifetime of a software system. The proposed traceability solution is demonstrated in the BusCatcher example where traces are established and analyzed. The authors hope that the metamodel and solution design can assist researchers and tool vendors in the development of unified trace models and services for model-driven software development approaches. Only then can the full potential of traceability be achieved.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.