When and How to Develop Domain-Specific Languages Marjan Mernik , Jan Heering