Model-Driven Software Development

Software development is a complex and difficult task that requires the investment of significant resources and carries major risk of failure. For decades now, researchers have proposed “model-driven” approaches to improve the state of the art in software engineering. Software models are intended to improve communication among stakeholders and aid in the overall understanding both of a problem space and a proposed software solution that satisfies given requirements. As with architectural blueprints or miniature 3D models, software models make it possible to explore and test a design and its ramifications before investing in the actual build-out. The traditional approach to software development involves a modeling process – analysis, requirements specification, design – followed by an implementation process. In the traditional approach, programmers manually write software that conforms (more or less) to specifications described in software models; this process involves transformations that are often incomplete, awkward, and informal. The essence of model-driven software development is the idea that software models can go further than being mere blueprints, and constitute the basis for automatically or semiautomatically generating the software system itself. In this chapter, we survey various major approaches to model-driven software construction and illustrate how model-driven development works in practice.

[1]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[2]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[3]  Bernhard Thalheim,et al.  Entity-relationship modeling - foundations of database technology , 2010 .

[4]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.

[5]  Alan W. Brown Models, Modeling, and Model-Driven Development , 2005 .

[6]  Sergey Melnik,et al.  Generic Model Management , 2004, Lecture Notes in Computer Science.

[7]  David W. Embley,et al.  An Active, Object-Oriented, Model-Equivalent Programming Language , 1995, Advances in Object-Oriented Data Modeling.

[8]  Gustavo Rossi,et al.  Web Application Models Are More Than Conceptual Models , 1999, ER.

[9]  Olga De Troyer,et al.  WSDM: A User Centered Design Method for Web Sites , 1998, Comput. Networks.

[10]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[11]  Gabor Karsai,et al.  An end-to-end domain-driven software development framework , 2003, OOPSLA '03.

[12]  Marco Brambilla,et al.  Designing Web Applications with Webml and Webratio , 2008, Web Engineering.

[13]  Yair Wand,et al.  A Proposal for a Formal Model of Objects , 1989, Object-Oriented Concepts, Databases, and Applications.

[14]  David H. Lorenz,et al.  Domain driven web development with WebJinn , 2003, OOPSLA '03.

[15]  Stephen J. Mellor,et al.  Model-driven development - Guest editor's introduction , 2003 .

[16]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[17]  Sergey Melnik,et al.  Generic Model Management: Concepts And Algorithms (Lecture Notes in Computer Science) , 2004 .

[18]  Franca Garzotto,et al.  Designing Multichannel Web Applications as "Dialogue Systems": the Idm Model , 2008, Web Engineering.

[19]  David W. Embley,et al.  Cardinality Constraints in Semantic Data Models , 1993, Data Knowl. Eng..

[20]  Oscar Nierstrasz,et al.  Regular types for active objects , 1993, OOPSLA '93.

[21]  Alexander Borgida,et al.  Conceptual Modeling of Information Systems , 1985, On Knowledge Base Management Systems.

[22]  Manuel Wimmer,et al.  On the Integration of Web Modeling Languages , 2007, MDWE.

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

[24]  Robert Meersman,et al.  Data modelling versus ontology engineering , 2002, SGMD.

[25]  Robert B. France,et al.  Model-driven development using UML 2.0: promises and pitfalls , 2006, Computer.

[26]  Oscar Pastor,et al.  The Beautification Process in Model-Driven Engineering of User Interfaces , 2007, INTERACT.

[27]  Alan W. Brown,et al.  Practical Insights into MDA: Lessons from the Design and Use of an MDA Toolkit , 2005 .

[28]  Vinay Kulkarni,et al.  Separation of Concerns in Model-Driven Development , 2003, IEEE Softw..

[29]  Professor Dr. Bernhard Thalheim Entity-Relationship Modeling , 2000, Springer Berlin Heidelberg.

[30]  Stephen W. Liddle Object-oriented systems implementation: a model-equivalent approach , 1996 .

[31]  Gerhard Weikum,et al.  Efficiently Handling Dynamics in Distributed Link Based Authority Analysis , 2008, WISE.

[32]  Peter P. S. Chen Advances in conceptual modeling : ER '99 Workshops on Evolution and Change in Data Management, Reverse Engineering in Information Systems, and the World Wide Web and Conceptual Modeling, Paris, France, November 15-18, 1999 : proceedings , 1999 .

[33]  David W. Embley,et al.  Object-oriented systems analysis - a model-driven approach , 1991, Yourdon Press Computing series.

[34]  Erik Wilde,et al.  The Case for Conceptual Modeling for XML , 2006 .

[35]  Dov Dori,et al.  Object-process methodology - a holistic systems paradigm , 2013 .

[36]  Axel Uhl Model-Driven Development in the Enterprise , 2008, IEEE Software.

[37]  David W. Embley,et al.  Using NNF to Transform Conceptual Data Models to Object-Oriented Database Designs , 1998, Data Knowl. Eng..

[38]  Antonio Vallecillo,et al.  Addressing New Concerns in Model-Driven Web Engineering Approaches , 2008, WISE.

[39]  David Harel,et al.  From Play-In Scenarios to Code: An Achievable Dream , 2000, Computer.

[40]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[41]  Robert B. Jackson Object-oriented requirements specification: a model, a tool and a technique , 1995 .

[42]  Henry Muccini,et al.  A data-modelling approach to web application synthesis , 2004, Int. J. Web Eng. Technol..

[43]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[44]  Zahir Tari,et al.  Advances in Object-Oriented Data Modeling , 2000 .

[45]  A. Uhl Model driven arcitecture is ready for prime time , 2003 .

[46]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[47]  Alan W. Brown Model driven architecture: Principles and practice , 2004, Software and Systems Modeling.

[48]  Patricia Vilain,et al.  Modeling Interactions and Navigation in Web Applications , 2000, ER.

[49]  Alan W. Brown,et al.  Introduction: Models, Modeling, and Model-Driven Architecture (MDA) , 2005, Model-Driven Software Development.

[50]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[51]  Oscar Pastor,et al.  Transformation templates: adding flexibility to model-driven engineering of user interfaces , 2010, SAC '10.

[52]  Esperanza Marcos,et al.  A Model Driven Approach for XML Database Development , 2004, ER.

[53]  Conrad Bock,et al.  UML without Pictures , 2003, IEEE Softw..

[54]  Flavius Frasincar,et al.  Engineering Semantic Web Information Systems in Hera , 2003, J. Web Eng..

[55]  Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[56]  Antonio Vallecillo,et al.  MDWEnet: A Practical Approach to Achieving Interoperability of Model-Driven Web Engineering Methods , 2007, MDWE.

[57]  Roger S. Pressman,et al.  Web Engineering , 2001, Lecture Notes in Computer Science.

[58]  Tony Clark,et al.  Model-driven development - Guest editor's introduction , 2003 .

[59]  Luca Benini,et al.  SystemC Cosimulation and Emulation of Multiprocessor SoC Designs , 2003, Computer.

[60]  David W. Embley,et al.  Improving the quality of systems and domain analysis through object class congruency , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[61]  Roger King,et al.  Semantic Data Models , 1985, Principles of Database Design.

[62]  Franca Garzotto,et al.  HDM—a model-based approach to hypertext application design , 1993, TOIS.

[63]  Gerti Kappel,et al.  Web engineering : the discipline of systematic development of web applications , 2006 .

[64]  Wilhelm Hasselbring,et al.  HERA: Automatically Generating Hypermedia Front-Ends for Ad Hoc Data from Heterogeneous and Legacy Information Systems , 2000 .

[65]  Eerke Albert Boiten,et al.  Integrated Formal Methods , 2012, Lecture Notes in Computer Science.

[66]  Gustavo Rossi,et al.  Building hypermedia applications as navigational views of information models , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[67]  Michael Kifer,et al.  Logical foundations of object-oriented and frame-based languages , 1995, JACM.

[68]  Vicente Pelechano,et al.  Applying the Oows Model-Driven Approach for Developing Web Applications. The Internet Movie Database Case Study , 2008, Web Engineering.

[69]  Brian Henderson-Sellers,et al.  UML – the Good, the Bad or the Ugly? Perspectives from a panel of experts , 2005, Software & Systems Modeling.

[70]  Thomas Kühne Making Modeling Languages Fit for Model-Driven Development , 2007 .

[71]  Stan Jarzabek,et al.  Domain model-driven software reengineering and maintenance , 1993, J. Syst. Softw..

[72]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[73]  Philip A. Bernstein,et al.  A vision for management of complex models , 2000, SGMD.

[74]  Jean Bézivin,et al.  Platform independent Web application modeling and development with Netsilon , 2005, Software & Systems Modeling.

[75]  Gottfried Vossen,et al.  Web Information Systems Engineering (WISE) , 2009 .

[76]  Oscar Pastor,et al.  An Object-Oriented Approach to Automate Web Applications Development , 2001, EC-Web.

[77]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[78]  Stephen W. Clyde,et al.  Turnable formalism in object-oriented systems analysis: meeting the needs of both theoreticians and practitioners , 1992, OOPSLA 1992.

[79]  Stephen N. Zilles,et al.  Programming with abstract data types , 1974 .

[80]  Janos Sztipanovits Model integrated computing: foundations and applications , 2005 .

[81]  T. J. Teorey,et al.  A logical design methodology for relational databases using the extended entity-relationship model , 1986, CSUR.

[82]  Manuel Wimmer,et al.  On the Integration of Web Modeling Languages : Preliminary Results and Future Challenges , 2007 .

[83]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[84]  Paolo Paolini,et al.  Model-driven development of Web applications: the AutoWeb system , 2000, TOIS.

[85]  Alan W. Brown,et al.  A Rational approach to model-driven development , 2006, IBM Syst. J..

[86]  Eckhard D. Falkenberg,et al.  Concepts for Modelling Information , 1976, IFIP Working Conference on Modelling in Data Base Management Systems.

[87]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

[88]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[89]  Gustavo Rossi,et al.  The object-oriented hypermedia design model , 1995, CACM.

[90]  Michael L. Brodie On conceptual modelling - perspectives from artificial intelligence, databases and programming languages , 1984, Topics in information systems.

[91]  Cristina Cachero,et al.  Conceptual Modeling of Device-Independent Web Applications , 2001, JISBD.

[92]  Brian M. Barry,et al.  Model driven development: the case for domain oriented programming , 2003, OOPSLA '03.

[93]  Flavius Frasincar,et al.  An RMM-Based Methodology for Hypermedia Presentation Design , 2001, ADBIS.

[94]  David W. Embley,et al.  Turnable formalism in object-oriented systems analysis: meeting the needs of both theoreticians and practitioners , 1992, OOPSLA.

[95]  Alan W. Brown,et al.  Practical Insights into Model-Driven Architecture: Lessons from the Design and Use of an MDA Toolkit , 2005, Model-Driven Software Development.

[96]  Oscar Pastor,et al.  OASIS: An Object-Oriented Specification Language , 1992, CAiSE.

[97]  Geert-Jan Houben,et al.  HERA: Automatically Generating Hypermedia Front-ends , 2000, EFIS.

[98]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[99]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[100]  Tomás Isakowitz,et al.  RMM: a methodology for structured hypermedia design , 1995, CACM.

[101]  Franca Garzotto,et al.  "Modeling-by-Patterns" of Web Applications , 1999, ER.

[102]  Ed Seidewitz,et al.  What Models Mean , 2003, IEEE Softw..

[103]  Bernhard Thalheim,et al.  Conceptual Modeling for E-Business and the Web , 2000, Lecture Notes in Computer Science.

[104]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[105]  S. Sudarshan,et al.  Data models , 1996, CSUR.

[106]  Hans Albrecht Schmid,et al.  OOHDMDA - An MDA Approach for OOHDM , 2005, ICWE.

[107]  Dragan Milicev Model-Driven Development with Executable UML , 2009 .

[108]  S. W. Ambler,et al.  Agile model driven development is good enough , 2003 .

[109]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[110]  David W. Embley Object database development - concepts and principles , 1997 .

[111]  Gustavo Rossi,et al.  Modeling and Implementing Web Applications with Oohdm , 2008, Web Engineering.

[112]  Michael S. Mahony,et al.  Finding a history for software engineering , 1998, SIGSOFT '98/FSE-6.

[113]  Stephen W. Clyde,et al.  An initial theoretical foundation for object-oriented systems analysis and design , 1993 .

[114]  David Harel,et al.  Statecharts in the making: a personal account , 2009, CACM.

[115]  Nora Koch,et al.  A UML-based Methodology for Hypermedia Design , 2000, UML.

[116]  Gerd Wagner,et al.  On the General Ontological Foundations of Conceptual Modeling , 2002, ER.

[117]  Oscar Pastor,et al.  Model-Driven Development , 2008, Informatik-Spektrum.

[118]  Olga De Troyer,et al.  WSDM: Web Semantics Design Method , 2008, Web Engineering.

[119]  Stephen J. Mellor,et al.  MDA Distilled Principles Of Model-Driven Architecture , 2004 .

[120]  Michael E. Senko,et al.  Information Systems Records, Relations, Sets, Entities, and Things , 1975, Inf. Syst..

[121]  Shamkant B. Navathe,et al.  Conceptual Database Design: An Entity-Relationship Approach , 1991 .

[122]  J. Sztipanovits Advances in model-integrated computing , 2001, IMTC 2001. Proceedings of the 18th IEEE Instrumentation and Measurement Technology Conference. Rediscovering Measurement in the Age of Informatics (Cat. No.01CH 37188).

[123]  Bran Selic From Model-Driven Development to Model-Driven Engineering , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).

[124]  David W. Embley,et al.  Developing Formal Object-Oriented Requirements Specifications: A Model, Tool and Technique , 1995, Inf. Syst..

[125]  Dragan Gasevic,et al.  Model Driven Engineering and Ontology Development , 2009 .

[126]  San Murugesan,et al.  Web Application Development: Challenges And The Role Of Web Engineering , 2008, Web Engineering.

[127]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[128]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[129]  Martin Necaský Conceptual Modeling for XML: A Survey , 2006, DATESO.

[130]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .

[131]  Stefano Ceri,et al.  Designing Database Applications with Objects and Rules: The IDEA Methodology , 1997 .

[132]  Alan W. Brown MDA Redux: Practical Realization of Model Driven Architecture , 2008, Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008).

[133]  A. Jefferson Offutt,et al.  SOFL: A Formal Engineering Methodology for Industrial Applications , 1998, IEEE Trans. Software Eng..

[134]  Aditya Agrawal Graph rewriting and transformation (GReAT): a solution for the model integrated computing (MIC) bottleneck , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[135]  Antonio Vallecillo,et al.  An Overview Of Model-Driven Web Engineering and the Mda , 2008, Web Engineering.

[136]  Stephen J. Mellor Editor's Introduction: Adapting Agile Approaches to Your Project Needs , 2005, IEEE Softw..

[137]  Yashwant Singh,et al.  Model Driven Architecture: A Perspective , 2009, 2009 IEEE International Advance Computing Conference.

[138]  Joachim Biskup,et al.  Achievements of Relational Database Schema Design Theory Revisited , 1995, Semantics in Databases.

[139]  Oscar Pastor,et al.  User Interface Conceptual Patterns , 2002, DSV-IS.

[140]  Antoni Olivé,et al.  Conceptual Schema-Centric Development: A Grand Challenge for Information Systems Research , 2005, CAiSE.

[141]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[142]  Stefano Ceri,et al.  Designing Data-Intensive Web Applications , 2002 .

[143]  emilia-mendes-nile-mosley,et al.  Web Engineering , 2006 .

[144]  Luciano Baresi,et al.  Extending UML for modeling Web applications , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[145]  Gustavo Rossi,et al.  Web Engineering: Modelling and Implementing Web Applications , 2008, Human-Computer Interaction Series.

[146]  Dave A. Thomas,et al.  MDA: revenge of the modelers or UML utopia? , 2004, IEEE Software.

[147]  Erhard Rahm,et al.  Rondo: a programming platform for generic model management , 2003, SIGMOD '03.

[148]  David J. Farber Software considerations in distributed architectures , 1974, Computer.

[149]  Dirk Draheim,et al.  Form-oriented analysis , 2004 .

[150]  Thomas O. Meservy,et al.  Transforming software development: an MDA road map , 2005, Computer.

[151]  Santiago Meliá,et al.  The WebSA Approach: Applying Model Driven Engineering to Web Applications , 2006, J. Web Eng..

[152]  Frederick H. Lochovsky,et al.  Data Models , 2008, Encyclopedia of GIS.

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

[154]  Roger King,et al.  Semantic database modeling: survey, applications, and research issues , 1987, CSUR.

[155]  Gustavo Rossi,et al.  A survey on web modeling approaches for ubiquitous web applications , 2008, Int. J. Web Inf. Syst..

[156]  Bernhard Rumpe,et al.  Meaningful modeling: what's the semantics of "semantics"? , 2004, Computer.

[157]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[158]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

[159]  J. Moore,et al.  The UNCLOS Negotiations On Ice-Covered Areas , 2010 .