Specification of domain-specific languages based on concern interfaces

Concern-Driven Development (CDD) is a set of software engineering approaches that focus on reusing existing software models. In CDD, a concern encapsulates related software models and provides three interfaces to facilitate reuse. These interfaces allow to select, customize, and use elements of the concern when an application reuses the concern. Domain-Specific Languages (DSLs) emerged to make modeling accessible to users and domain experts who are not familiar with software engineering techniques. In this paper, we argue that it is possible to create a DSL by using only the three-part interface of the concern modeling the domain in question and that the three-part interface is essential for an appropriate DSL. The DSL enables the composition of the concern with the application under development. We explain this by specifying DSLs based on the interfaces of the Association and the Observer concerns.