Result: On domain driven design using annotation-based domain specific language.
Further Information
Highlights • A DSL-based domain-driven design method is proposed for object-oriented software. • The domain model is defined in an annotation-based DSL named DCSL. • Structural mapping of domain class helps generate the behavioural specification. • A DCSL-based technique is proposed for behavioural modelling with activity diagram. • A 4-property characterisation is proposed for software generated from domain model. Abstract 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. [ABSTRACT FROM AUTHOR]