Introducing the Ecstasy language: Syntax, Structure and Execution Model.