Domain-Specific Language Engineering: A Case Study in Agile DSL Development (Mark I)