Model-driven Development of Complex Software : A Research Roadmap

The term model-driven engineering (MDE) is typically used to describe software development approaches in which abstract models of software systems are created and systematically transformed to concrete implementations. In this paper we give an overview of current research in MDE and discuss some of the major challenges that must be tackled in order to realize the MDE vision of software development. We argue that full realizations of the MDE vision may not be possible in the near to medium-term primarily because of the wicked problems involved. On the other hand, attempting to realize the vision will provide insights that can be used to significantly reduce the gap between evolving software complexity and the technologies used to manage complexity.

[1]  Jean Bézivin,et al.  On the Need for Megamodels , 2004, OOPSLA 2004.

[2]  Tony Clark,et al.  Revised submission for MOF 2.0 query / views /transformations RFP. , 2003 .

[3]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, UML.

[4]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[5]  Friedrich L. Bauer,et al.  Formal Program Construction by Transformations-Computer-Aided, Intuition-Guided Programming , 1989, IEEE Trans. Software Eng..

[6]  Richard N. Taylor,et al.  Software Design and Architecture The once and future focus of software engineering , 2007, Future of Software Engineering (FOSE '07).

[7]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[8]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[9]  Mats Per Erik Heimdahl,et al.  Model-Based Safety Analysis of Simulink Models Using SCADE Design Verifier , 2005, SAFECOMP.

[10]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[11]  Stefan Hanenberg,et al.  On Representing Join Points in the UML , 2002 .

[12]  Betty H. C. Cheng,et al.  A general framework for formalizing UML with formal languages , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[13]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[14]  Chris Gane,et al.  Structured Systems Analysis: Tools and Techniques , 1977 .

[15]  Gordon S. Blair,et al.  Summary of the workshop models@run.time at MoDELS 2006 , 2006, MoDELS'06.

[16]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[17]  Robert B. France,et al.  A tool-supported approach to testing UML design models , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[18]  Michael A. Cusumano,et al.  Japan's Software Factories: A Challenge to U.S. Management, Michael A. Cusumano. 1991. Oxford University Press, New York, NY. 513 pages. ISBN: 0-19-506216-7 , 1991, The Journal of Asian Studies.

[19]  John Rushby,et al.  Model Checking and Other Ways of Automating Formal Methods , 1995 .

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

[21]  Martin L. Griss,et al.  Software Reuse: From Library to Factory , 1993, IBM Syst. J..

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

[23]  Ian Sommerville,et al.  Viewpoints for requirements elicitation: a practical approach , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[24]  Betty H. C. Cheng,et al.  Object analysis patterns for embedded systems , 2004, IEEE Transactions on Software Engineering.

[25]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[26]  Jörg Kienzle,et al.  On Composition and Reuse of Aspects , 2003 .

[27]  R. France,et al.  Aspect-oriented approach to early design modelling , 2004, IEE Proc. Softw..

[28]  Gordon S. Blair,et al.  Deep Middleware for the Divergent Grid , 2005, Middleware.

[29]  H. Velthuijsen,et al.  Feature interactions in telecommunications systems , 1993, IEEE Communications Magazine.

[30]  Guillermo Arango,et al.  Design as evolution and reuse , 1993, [1993] Proceedings Advances in Software Reuse.

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

[32]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[33]  Nancy A. Lynch,et al.  Proving performance propterties (even probabilistic ones) , 1994, FORTE.

[34]  M. S. Feather,et al.  A quantitative risk-based model for reasoning over critical system properties , 2002 .

[35]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[36]  B. A. Gran,et al.  Use of Bayesian Belief Networks when combining disparate sources of information in the safety assessment of software-based systems , 2002, Int. J. Syst. Sci..

[37]  Krzysztof Czarnecki,et al.  Generative Programming , 2001, ECOOP Workshops.

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

[39]  Richard Mark Soley,et al.  Model Driven Architecture-The Architecture Of Choice For A Changing World , 2001 .

[40]  Tzilla Elrad,et al.  Modeling Aspect-Oriented Compositions , 2005, MoDELS.

[41]  Jörg Kienzle,et al.  From AOP to UML - A Bottom-Up Approach , 2002 .

[42]  Douglas C. Schmidt,et al.  CoSMIC: An MDA Generative Tool for Distributed Real-time and Embedded Component Middleware and Applications , 2002 .

[43]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[44]  Bernhard Rumpe,et al.  Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff , 2000 .

[45]  Siobhán Clarke,et al.  Theme: an approach for aspect-oriented analysis and design , 2004, Proceedings. 26th International Conference on Software Engineering.

[46]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[47]  Victor R. Basili,et al.  Support for comprehensive reuse , 1991, Softw. Eng. J..

[48]  Robert B. France,et al.  Test adequacy criteria for UML design models , 2003, Softw. Test. Verification Reliab..

[49]  A. Jefferson Offutt,et al.  Generating Tests from UML Specifications , 1999, UML.

[50]  Ivar Jacobson,et al.  Software Reuse: Architecture, Process And Organization For Business Success , 1998, Proceedings. Technology of Object-Oriented Languages. TOOLS 26 (Cat. No.98EX176).

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

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

[53]  Siobhán Clarke,et al.  Extending standard UML with model composition semantics , 2002, Sci. Comput. Program..

[54]  Johan Lilius,et al.  Formalising UML State Machines for Model Checking , 1999, UML.