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.
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
Marco Brambilla is currently professor of Software Engineering and Web Science at Politecnico di Milano (Italy). He is a shareholder and scientific advisor at WebRatio, the company that produces the MDD tool WebRatio (http://www.webratio.com), based on IFML, a domain-specific language for UI modeling standardized by the OMG. He is the founder of Fluxedo (http://www.fluxedo.com). In addition, he is one of the inventors of IFML and WebML languages. His interests include conceptual models, tools, and methods for development of Web and mobile apps, Web services, crowdsourcing, user interaction, business processes, web science, big data, social media, and social content analysis. He has been visiting researcher at Cisco Systems (San Jose, CA) and at UCSD (University of California, San Diego). He has been visiting professor at Dauphine University, Paris. He is coauthor of Designing Data-Intensive Web Applications
(Morgan-Kauffman, 2003), Interaction Flow Modeling Language: Model-Driven UI Engineering of Web and Mobile Apps with IFML
(Morgan-Kauffman and OMG Press, 2014), 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, Domain-specific Languages (DSL), BPM, SOA, and enterprise architectures.Jordi Cabot
, ICREA and Open University of Catalonia (UOC)
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 Ecole 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
, TU Wien
Manuel Wimmer is a professor in the Business Informatics Group (BIG) at TU Wien (Austria). He has been a visiting professor at TU Munchen (Germany) and at the Philipps-University Marburg (Germany) as well as a research associate at the University of Malaga (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 model-driven engineering in practice.