This book introduces model-driven approaches in software development using a pragmatic presentation that includes foundational sidebars and industrial experiences. Suitable as a textbook for master students in software engineering, it is also an ideal reference for professional software engineers. The book leverages experiences from the modeling community to provide a broader view of the use of models in software development. It fills a gap in the literature by providing a body of knowledge representative of the recent evolution in the Model Driven Engineering domain.