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 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
In addition to the contents of the book, more resources are provided on the book's website http://www.mdse-book.com, including the examples presented in the book.
About the Author
Jordi Cabot is an ICREA Research Professor at Internet Interdisciplinary Institute, a research center of the Open University of Catalonia (UOC), where he is leading the SOM Research Lab. Previously, he has been a faculty member at the École des Mines de Nantes and team leader of the AtlanMod Research group on an Inria International Chair and worked in Barcelona (Technical University of Catalonia), Toronto (University of Toronto), and Milan (Politecnico di Milano). His research falls into the broad area of systems and software engineering, especially promoting the rigorous use of software models and engineering principles in all software engineering tasks while keeping an eye on the most unpredictable element in any project: the people involved in it.
Manuel Wimmer is a professor in the Business Informatics Group (BIG) at TU Wien (Austria). He has been a visiting professor at TU München (Germany) and at the Philipps-University Marburg (Germany) as well as a research associate at the University of Málaga (Spain). He is involved in several research projects in the area of model-driven 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 TU Wien and holds several industry seminars on how to efficiently apply modeldriven engineering in practice.
Luciano Baresi is a full professor at the Politecnico di Milano, where he earned both his Masters degree and PhD in computer science. Luciano was visiting professor at University of Oregon (USA) and visiting researcher at University of Paderborn (Germany). He has been program chair for ICECCS, FASE, ICWE, ICSOC, SEAMS and ESEC/FSE, and general chair for WICSA/CompArch (now ICSA). He is member of the editorial board of ACM Transactions on Autonomous and Adaptive Systems, IEEE Transactions on Software Engineering, and of IEEE Transactions on Service Computing. Luciano has co-authored more than 130 papers. His work has been cited over 6500 times and his Google Scholar h-index is 41. His research interests are in the broad area of software engineering, with a current focus on distributed systems, service-based applications, and the different aspects of mobile, self-adaptive, and pervasive software systems.
Table of ContentsTable of Contents: Foreword / Acknowledgments / Introduction / MDSE Principles / MDSE Use Cases / Model-driven Architecture (MDA) / Integration of MDSE in your Development Process / Modeling Languages at a Glance / Developing your Own Modeling Language / Model-to-Model Transformations / Model-to-Text Transformations / Managing Models / Summary / Bibliography / Authors' Biographies / Index