The second version of our Model-Driven Software Engineering In Practice book is finally available. And it comes with a complete redesign of the book webiste .
Agile Introduction to Model-Driven Engineering
As a reminder, this book discusses how approaches based on modeling can improve the daily practice of software professionals. This is known as Model-Driven Software Engineering (MDSE) or, simply, Model-Driven Engineering (MDE). MDSE practices have proved to increase efficiency and effectiveness in software development. MDSE adoption in the software industry is foreseen to grow exponentially in the near future, e.g., due to the convergence of software development and business analysis.
This book is an agile and flexible tool to introduce you to the MDE and MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDE instruments for your needs so that you can start to benefit from MDE right away.
New in this second edition
The second edition of the book features:
- a set of completely new topics, including: full example of the creation of a new modeling language (IFML), discussion of modeling issues and approaches in specific domains, like business process modeling, user interaction modeling, and enterprise architecture
- complete revision of examples, figures, and text, for improving readability, understandability, and coherence
- better formulation of definitions, dependencies between concepts and ideas
- addition of a complete index of book content
The book is organized into two main parts.
- The first part discusses the foundations of MDSE in terms of basic concepts (i.e., models and transformations), driving principles, application scenarios and current standards, like the well-known MDA initiative proposed by OMG (Object Management Group) as well as the practices on how to integrate MDE in existing development processes.
- The second part deals with the technical aspects of MDSE, spanning from the basics on when and how to build a domain-specific modeling language, to the description of Model-to-Text and Model-to-Model transformations, and the tools that support the management of MDE projects.
The book is targeted to a diverse set of readers, spanning:
- professionals, CTOs, CIOs, and team managers that need to have a bird’s eye vision on the matter, so as to take the appropriate decisions when it comes to choosing the best development techniques for their company or team;
- software analysts, developers, and designers that expect to use MDSE for improving every day’s work productivity, either by applying the basic modeling techniques and notations or by defining new domain-specific modeling languages and applying end-to-end MDE practices in the software factory;
- and academic teachers and students to address undergrad and postgrad courses on MDE.
The book covers a wide set of introductory and technical topics, spanning MDE at large, definitions and orientation in the MD* world, metamodeling, domain specific languages, model transformations, reverse engineering, and many others. The technologies and methodologies discussed in the book include: OMG’s MDA, UML, OCL, ATL, QVT, MOF, Eclipse, EMF, GMF, TCS, xText, and many others.
For instructors: free bonus modeling material
The book comes with plenty of free-for-all bonus material including the over 500 slides on MDE ready to use in your lessons and the book examples in the book’s github repository.
As of today, there are 90 institutions already using the book . Make sure you join the list (and as special bonus we’ll provide the source files of all the slides so that it’s even easier for you to reuse them in your courses).
And you may even have already access to the book for free through your library academic access. Check it here.
Our courses and seminars
And talking about teaching, we have now added also a page detailing the seminars and courses we offer. If your company wants to learn modeling “the right way” and is looking for reliable instructors on topics like introduction to modeling, model-driven engineering, UML, DSLs… make sure to check it out.