When Frameworks Let You Down: Platform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages
Source: Delft University of Technology
Application frameworks encapsulate knowledge of a particular domain in a reusable library. However, based on a general-purpose language, these do not provide notational constructs for the particular domain, and are limited to the static checks of the host language. Verification of correctness, security, and style constraints, and optimizations in terms of the application domain are not possible or very hard. It is common practice to build a Domain-Specific Language (DSL) as a thin abstraction layer over a framework, providing domain-specific notations and enabling analysis and reasoning at the level of these constructs (5; 6). Using an established application framework as the platform for a DSL helps in the understanding the domain, and supports reuse of the domain knowledge gathered by the framework developers.