Modelling software development methodologies: A conceptual foundation

Current modelling approaches often purport to be based on a strong theoretical underpinning but, in fact, contain many ill-defined concepts or even contradictions leading to potential misinterpretation. Although much modelling in object-oriented contexts is focussed on the use of the Unified Modelling Language (UML), this paper presents a technology-agnostic approach that analyses the basic concepts of structural models and modelling in software engineering, using an approach based on representation theory. We examine the different kinds of interpretive mappings (either isotypical, prototypical or metatypical) that are required in order to trace model entities back to the SUS (subject under study) entities that they represent. The difference between forward- and backward-looking models is also explained, as are issues relating to the appropriate definition of modelling languages in general based on representation theory. The need for product and process integration in methodologies is then addressed, leading to the conclusion that a mesh of verbal plus nominal nodes is necessary in any methodology metamodel. Finally, the need for a common, cross-cutting modelling infrastructure is established, and a solution proposed in the form of an ontologically universal modelling language, OOLang. Examples of the application of these theoretical analyses to the suite of OMG products (particularly SPEM, UML and MOF) are given throughout, with the hope that awareness of the importance of a better modelling infrastructure can be developed.

[1]  Cesar Gonzalez-Perez Tools for an extended object modelling environment , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[2]  John Deacon,et al.  Object-Oriented Analysis and Design , 2004 .

[3]  Brian Henderson-Sellers,et al.  The rationale of powertype-based metamodelling to underpin software development methodologies , 2005 .

[4]  L. Cosmides,et al.  The Adapted mind : evolutionary psychology and the generation of culture , 1992 .

[5]  Daniel R. Dolk,et al.  A relational information resource dictionary system , 1987, CACM.

[6]  Jean Bézivin,et al.  Language Engineering for Model-driven Software Development , 2005 .

[7]  Colin Atkinson,et al.  Rearchitecting the UML infrastructure , 2002, TOMC.

[8]  Michael Rosemann,et al.  Conceptual Modelling - What and Why in Current Practice , 2004, ER.

[9]  Colin Atkinson,et al.  Supporting and Applying the UML Conceptual Framework , 1998, UML.

[10]  Brian Henderson-Sellers,et al.  A Representation-Theoretical Analysis of the OMG Modelling Suite , 2005, SoMeT.

[11]  Albert Weale,et al.  Forms of Representation , 1999 .

[12]  Murray Silverstein,et al.  A Pattern Language , 1977 .

[13]  Sjaak Brinkkemper,et al.  Method engineering: engineering of information systems development methods and tools , 1996, Inf. Softw. Technol..

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

[15]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[16]  Jean Bézivin,et al.  04101 Summary - Language Engineering for Model-driven Software Development , 2004, Language Engineering for Model-Driven Software Development.

[17]  Colin Atkinson,et al.  The Essence of Multilevel Metamodeling , 2001, UML.

[18]  George Lakoff,et al.  Women, Fire, and Dangerous Things , 1987 .

[19]  Matti Husu Software Factories , 2006 .

[20]  Donald Firesmith,et al.  The OPEN process framework , 2001 .

[21]  Michael Jackson,et al.  Some Basic Tenets of Description , 2002, Software and Systems Modeling.

[22]  Jochen Ludewig,et al.  Models in software engineering - an introduction , 2004, Informatik Forschung und Entwicklung.

[23]  Colette Rolland Modelling Multi-Facetted Purposes of Artefacts , 2005, SoMeT.

[24]  González Pérez,et al.  Sistemas de información para arqueología : teoría, metodología y tecnologías , 2002 .

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

[26]  Alan H. Goldfine The Information Resource Dictionary System , 1985, ER.

[27]  Mehrdad Sabetzadeh,et al.  An algebraic framework for merging incomplete and inconsistent views , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[28]  Colin Atkinson,et al.  Processes and Products in a Multi-Level Metamodeling Architecture , 2001, Int. J. Softw. Eng. Knowl. Eng..

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

[30]  Brian Henderson-Sellers,et al.  To meta or not to meta , 2000 .

[31]  Thomas Kne,et al.  What Is a Model? , 2020, Ecological-Economic Modelling for Biodiversity Conservation.

[32]  Henk Harkema,et al.  Automatic detection and correction of syntax errors in tutoring systems for language instruction , 1996 .

[33]  Brian Henderson-Sellers,et al.  A Book Of Object-Oriented Knowledge , 1992 .

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

[35]  Jean-Marie Favre,et al.  Foundations of Model (Driven) (Reverse) Engineering : Models - Episode I: Stories of The Fidus Papyrus and of The Solarus , 2004, Language Engineering for Model-Driven Software Development.

[36]  Cris Kobryn,et al.  UML 3.0 and the future of modeling , 2004, Software & Systems Modeling.

[37]  Hans-Erik Eriksson,et al.  UML toolkit , 1997 .

[38]  Brian Henderson-Sellers,et al.  A powertype-based metamodelling framework , 2006, Software & Systems Modeling.

[39]  Brian Henderson-Sellers,et al.  Templates and Resources in Software Development Methodologies , 2005, J. Object Technol..