This book discusses how model-based approaches 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, as demonstrated by various quantitative and qualitative studies. 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.
The aim of this book is to provide you with an agile and flexible tool to introduce you to the MDSE world, thus allowing you to quickly understand its basic principles and techniques and to choose the right set of MDSE instruments for your needs so that you can start to benefit from MDSE right away.
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 MDSE 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 MDSE 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, or designers that expect to use MDSE for improving everyday work productivity, either by applying the basic modeling techniques and notations or by defining new domain-specific modeling languages and applying end-to-end MDSE practices in the software factory; and academic teachers and students to address undergrad and postgrad courses on MDSE.
In addition to the contents of the book, more resources are provided on the book's website, including the examples presented in the book.
Table of Contents
MDSE Use Cases
Model-Driven Architecture (MDA)
Integration of MDSE in your Development Process
Modeling Languages at a Glance
Developing your Own Modeling Language
About the Author(s)Marco Brambilla
, Politecnico di Milano, Italy Marco Brambilla
is currently a researcher and professor of Software Engineering at Politecnico di Milano (Italy). He is also a shareholder and scientific advisor at WebRatio Srl, the company that produces the MDD tool WebRatio
, based on the DSL WebML. In addition, he is one of the inventors of the WebML
language. His interests include conceptual models, tools, and methods for Web applications, services, and search engine development, and user interaction, semantic Web, and business processes. He received his Ph.D. at Politecnico di Milano in 2005. He has been a visiting researcher at Cisco Systems (San Jose, CA) and at UCSD (University of California, San Diego). He is coauthor of the book Designing Data-Intensive Web Applications
(Morgan-Kauffman, 2003), several other books, and more than 100 scientific articles published in conferences and journals. He is active in teaching and industrial consulting projects on MDSE, BPM, SOA, and enterprise architectures.Jordi Cabot
, Ecole des Mines de Nantes (France)
Jordi Cabot is currently leading the AtlanMod team, an INRIA research group at Ecole des Mines de Nantes (France). Previously, he has been a post-doctoral fellow at the University of Toronto, a senior lecturer at the UOC (Open University of Catalonia), and a visiting scholar at the Politecnico di Milano. His research interests include conceptual modeling, model-driven and web engineering, formal verification, and social aspects of software engineering. He has written more than 50 publications for international journals and conferences. Apart from his scientific publications, he writes and blogs about all these topics in his Modeling Languages
, Vienna University of Technology, Austria
Manuel Wimmer is a postdoctoral researcher in the Business Informatics Group (BIG) at the Vienna University of Technology (Austria). Currently, he is on leave as a research associate at the Software Engineering Group of the University of Malaga (Spain), where he is working on model-driven evolution support for Web applications. He was involved in several research projects in the area of model-driven (Web) engineering, model versioning, and model transformation which resulted in numerous scientific publications in international journals and conferences. Since 2005, he has taught the model-driven engineering course (about 200 students each year) at the Vienna University of Technology and holds several industry seminars on how to efficiently apply model-driven engineering in practice.