The document introduces model-driven development and domain-specific languages. It discusses how programming languages have evolved from being close to hardware to more abstract representations. Domain-specific languages allow focusing on specific concerns using natural notations for stakeholders. DSLs can be executed by transforming models into general purpose programs. The document provides examples of DSLs and discusses tools and standards for model-driven development.