A Unified View Approach to Software Development Automation

Propose an aDSL, named domain class specification language (DCSL), which consists in a set of annotations that express the essential structural constraints and the essential behaviour of a domain class. The design features were carefully selected from a number of authoritative software and system...

Full description

Saved in:
Bibliographic Details
Main Author: Lê, Minh Đức
Other Authors: Nguyễn, Việt Hà
Format: Dissertation
Language:English
Published: 2021
Subjects:
a
Online Access:http://repository.vnu.edu.vn/handle/VNU_123/100703
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Vietnam National University, Hanoi
Language: English
Description
Summary:Propose an aDSL, named domain class specification language (DCSL), which consists in a set of annotations that express the essential structural constraints and the essential behaviour of a domain class. The design features were carefully selected from a number of authoritative software and system engineering resources and show that they form a minimum design space of the domain class.Propose a unified domain modelling approach, which uses DCSL to express both the structural and behavioural modelling elements. The dissertation chooses the UML activity diagram language for behavioural modelling and discusses how the domain-specific constructs of this language are expressed in DCSL. To demonstrate the applicability of the approach the dissertation defines the unified domain modelling patterns for tackling the design problems posed by five core UML activity flows. Define 4-property characterisation for the software that are constructed directly from the domain model. These properties are defined based on a conceptual layered software model that includes the domain model at the core, an intermediate module layer surrounding this core and an outer software layer. Propose a second aDSL, named module configuration class language (MCCL), that is used for designing module configuration classes (MCCs) in a module-based software architecture. An MCC provides an explicit class-based definition of a set of module configurations of a given class of software modules. The MCCs can easily be reused to create different variants of the same module class, without having to change the module class design. Develop set of software tools for DCSL, MCCL and the generators associated with these aDSLs. These tools were implemented as components in a software framework, named jDomainApp, which was developed as part of the research