Barbed Model--Driven Software Development: A case study