This is the companion website of the Engineering Modeling LanguagesTurning Domain  Knowledge into Tools book.

The book

  • provides a comprehensive introduction to modeling languages and Model Driven Engineering (MDE);
  • describes different kinds of (domain-specific) modeling languages and their instrumentation with tools such as editors, interpreters, generators, and validation tools;
  • Includes industrial case studies, across a range of application domains;
  • presents a variety of simple worked examples and exercises to help readers reflect on what was learned; and
  • features examples of models and code snippets.

This web site provides

  • the complete sources of various examples of the book, and
  • solutions to the exercises (access restricted to teachers, you need to contact the authors to get them).

Summary of the book

Written by foremost experts in the field, Engineering Modeling Languages provides end-to-end coverage of the engineering of modeling languages to turn domain knowledge into tools.

The book provides a definition of different kinds of modeling languages, their instrumentation with tools such as editors, interpreters and generators, the integration of multiple modeling languages to achieve a system view, and the validation of both models and tools. Industrial case studies, across a range of application domains, are included to attest to the benefits offered by the different techniques. The book also includes a variety of simple worked examples that introduce the techniques to the novice user.

The book is structured in two main parts. The first part is organized around a flow that introduces readers to Model Driven Engineering (MDE) concepts and technologies in a pragmatic manner. It starts with definitions of modeling and MDE, and then moves into a deeper discussion of how to express the knowledge of particular domains using modeling languages to ease the development of systems in the domains.

The second part of the book presents examples of applications of the model-driven approach to different types of software systems. In addition to illustrating the unification power of models in different software domains, this part demonstrates applicability from different starting points (language, business knowledge, standard, etc.) and focuses on different software engineering activities such as Requirement Engineering, Analysis, Design, Implementation, and V&V.

Each chapter concludes with a small set of exercises to help the reader reflect on what was learned or to dig further into the examples. Many examples of models and code snippets are presented throughout the book, and a supplemental website features all of the models and programs (and their associated tooling) discussed in the book.


Missing figures in some printed copies

Some early printed copies miss several figures (Figure 3.5 on page 55; Figures 15.2, 15.3, and 15.4 on pages 333 to 335). Only copies coming from the UK warehouse have the issue. Those coming from the US warehouse are correct. We are very sorry for the inconvenience. The editor is aware of that and will …

Read more

Meet the authors during Jean-Marc Jézéquel’s CNRS silver medal ceremony

One of the author, Jean-Marc Jézéquel will receive the CNRS silver medal. Get the chance to discuss with him and the 3 other authors who will also attend to the ceremony November 10th 2016 Inria, Rennes, France.

Read more

The authors will be at the MODELS 2016 conference in Saint Malo

Several of the authors (Benoit, Bernhard, Didier, and Jean-Marc)  will be at the MODELS 2016 conference in Saint Malo, France (from 2016, October 2nd to October 7th). Actually, several of them participate to the organisation of the conference. Do not hesitate to speak to them !

Read more

Cover image explained

As a reader you may wonder why we choose this image for the cover of the book. This is actually hard to find relevant images for our software engineering field. In addition to be sometimes abstract, some terms doesn’t ends up with appropriate pictures ( for example, looking for “models” in image database invariably results …

Read more