relation: https://eprints.uet.vnu.edu.vn/eprints/id/eprint/2973/ title: On Domain Driven Design Using Annotation-Based Domain Specific Language creator: Le, Minh Duc creator: Dang, Duc Hanh creator: Nguyen, Viet Ha subject: Information Technology (IT) subject: Scopus-indexed journals subject: ISI-indexed journals description: The aim of object-oriented domain-driven design (DDD) is to iteratively develop software around a realistic domain model. Recent work in DDD use an annotation-based extension of object-oriented programming language to build the domain model. This model becomes the basis for a ubiquitous language and is used as input to generate software. However, the annotation-based extensions of these work do not adequately address the primitive and essential structural and behavioural modelling requirements of practical software. Further, they do not precisely characterise the software that is generated from the domain model. In this paper, we propose a DSL-based DDD method to address these limitations. We make four contributions: (1) An annotation-based domain-specific language (DSL) named DCSL, whose annotation extension expresses a set of essential structural constraints and the essential behaviour of a domain class. (2) A structural mapping between the state and behaviour spaces of a domain class. This mapping enables a technique for generating the behavioural specification. (3) A technique that uses DCSL to support behavioural modelling with UML activity diagram. (4) A 4-property characterisation of the software generated from the domain model. We demonstrate our method with a Java software tool and evaluate DCSL in the context of DDD. publisher: Elsevier date: 2018 type: Article type: PeerReviewed format: application/pdf language: en identifier: https://eprints.uet.vnu.edu.vn/eprints/id/eprint/2973/1/DDD-with-DCSL.pdf identifier: Le, Minh Duc and Dang, Duc Hanh and Nguyen, Viet Ha (2018) On Domain Driven Design Using Annotation-Based Domain Specific Language. Computer Languages, Systems and Structures . ISSN 1477-8424 (In Press) relation: https://www.journals.elsevier.com/computer-languages-systems-and-structures/ relation: https://doi.org/10.1016/j.cl.2018.05.001