{"title":"Generative software module development: A domain-driven design perspective","authors":"D. Le, Duc-Hanh Dang, Viet-Ha Nguyen","doi":"10.1109/KSE.2017.8119438","DOIUrl":null,"url":null,"abstract":"Object-oriented domain-driven design (DDD) aims to develop software (iteratively) around a realistic model of the application domain, which both thoroughly captures the domain requirements and is technically feasible for implementation. The main focus of existing work in DDD has been on using an annotation-based extension of object-oriented programming language to build the domain model. However, these work do not consider software modules as first-class objects and thus lack a method for their development. In this paper, we propose a generative software module development method to bridge this gap. More specifically, we make the following contributions: (1) An annotation-based internal DSL named MCCL for configuring the modules. This language uses a reflective module configuration class design. (2) A module configuration class generator that generates a module configuration class from a domain class. (3) Update the module configuration class of a module when this module's structure is changed. (4) Demonstrate MCCL using a Java software tool.","PeriodicalId":159189,"journal":{"name":"2017 9th International Conference on Knowledge and Systems Engineering (KSE)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2017 9th International Conference on Knowledge and Systems Engineering (KSE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/KSE.2017.8119438","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
Object-oriented domain-driven design (DDD) aims to develop software (iteratively) around a realistic model of the application domain, which both thoroughly captures the domain requirements and is technically feasible for implementation. The main focus of existing work in DDD has been on using an annotation-based extension of object-oriented programming language to build the domain model. However, these work do not consider software modules as first-class objects and thus lack a method for their development. In this paper, we propose a generative software module development method to bridge this gap. More specifically, we make the following contributions: (1) An annotation-based internal DSL named MCCL for configuring the modules. This language uses a reflective module configuration class design. (2) A module configuration class generator that generates a module configuration class from a domain class. (3) Update the module configuration class of a module when this module's structure is changed. (4) Demonstrate MCCL using a Java software tool.