Model-Driven Software Engineering in Practice, Second Edition

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.

[1]  Timothy Lethbridge,et al.  Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals , 2008, MiSE '08.

[2]  Jean-Marie Favre,et al.  Towards a Megamodel to Model Software Evolution Through Transformations , 2005, SETra@ICGT.

[3]  Manuel Wimmer,et al.  The Past, Present, and Future of Model Versioning , 2012 .

[4]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[5]  Shane Sendall,et al.  Model Transformation: The Heart and Soul of Model-Driven Software Development , 2003, IEEE Softw..

[6]  Jordi Cabot,et al.  API2MoL: Automating the building of bridges between APIs and Model-Driven Engineering , 2012, Inf. Softw. Technol..

[7]  Antoni Olivé,et al.  On the Role of Conceptual Schemas in Information Systems Development , 2004, Ada-Europe.

[8]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[9]  Andy Schürr,et al.  Dagstuhl seminar on bidirectional transformations (BX) , 2011, SGMD.

[10]  Bart Meyers,et al.  A framework for evolution of modelling languages , 2011, Sci. Comput. Program..

[11]  Jeffrey Parsons,et al.  How UML is used , 2006, CACM.

[12]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[13]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[14]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[15]  Yves Le Traon,et al.  Barriers to systematic model transformation testing , 2010, Commun. ACM.

[16]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[17]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools , 2004, SPLC.

[18]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[19]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[20]  Dinesh Batra,et al.  Conceptual data modelling in theory and practice , 1995 .

[21]  Bran Selic,et al.  Modelling Foundations and Applications, Proceedings of the 6th European Conference ECMFA 2010 , 2010 .

[22]  Vittorio Cortellessa,et al.  Formal Methods for Model-Driven Engineering , 2012, Lecture Notes in Computer Science.

[23]  Robert L. Glass,et al.  Loyal Opposition - Frequently Forgotten Fundamental Facts about Software Engineering , 2001, IEEE Softw..

[24]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[25]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[26]  Friedrich Steimann,et al.  Coding for the Code , 2005, ACM Queue.

[27]  Vicente Pelechano,et al.  Automatic generation of basic behavior schemas from UML class diagrams , 2008, Software & Systems Modeling.

[28]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

[29]  Jonathan Grudin,et al.  Groupware and social dynamics: eight challenges for developers , 1994, CACM.

[30]  Hans Vangheluwe,et al.  De-/Re-constructing Model Transformation Languages , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[31]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[32]  Steven Kelly,et al.  Worst Practices for Domain-Specific Modeling , 2009, IEEE Software.

[33]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[34]  Antoni Olivé,et al.  An approach to test-driven development of conceptual schemas , 2011, Data Knowl. Eng..

[35]  Alex E. Bell Death by UML Fever , 2004, ACM Queue.

[36]  Marco Brambilla,et al.  Large-scale Model-Driven Engineering of web user interaction: The WebML and WebRatio experience , 2014, Sci. Comput. Program..

[37]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[38]  Daniel L. Moody,et al.  The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering , 2009, IEEE Transactions on Software Engineering.

[39]  Henry Muccini,et al.  Towards a collaborative framework for the design and development of data-intensive mobile applications , 2014, MOBILESoft 2014.

[40]  Peter W. O'Hearn,et al.  Verified Software: A Grand Challenge , 2006, Computer.

[41]  Perdita Stevens,et al.  A Landscape of Bidirectional Model Transformations , 2007, GTTSE.