On the Challenges of Correctly Using Metamodels in Software Engineering

Metamodels are increasingly being used in software engineering, particularly in standards from both the OMG and ISO. It is therefore critical that these metamodels be used “correctly”. In this paper, we investigate some of the pitfalls observed in the use of metamodelling ideas in software engineering and, from these observations, deduce some rules of thumb to help increase the quality of usage of metamodels in software engineering in the future.

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

[2]  Isabelle Mirbel,et al.  Situational method engineering: combining assembly-based and roadmap-driven approaches , 2005, Requirements Engineering.

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

[4]  Brian Henderson-Sellers,et al.  Connecting Powertypes and Stereotypes , 2005, J. Object Technol..

[5]  Colin Atkinson,et al.  Meta-modelling for distributed object environments , 1997, Proceedings First International Enterprise Distributed Object Computing Workshop.

[6]  S. Brinkkemper,et al.  A formal approach to the comparison of object-oriented analysis and design methodologies , 1993, [1993] Proceedings of the Twenty-sixth Hawaii International Conference on System Sciences.

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

[8]  Brian Henderson-Sellers,et al.  Associations Considered a Bad Thing , 1997, J. Object Oriented Program..

[9]  Colin Atkinson,et al.  Strict Profiles: Why and How , 2000, UML.

[10]  Patrick Heymans,et al.  Towards More Extensible MetaCASE Tools , 2007, CAiSE.

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

[12]  Colette Rolland,et al.  An Approach for Method Reengineering , 2001, ER.

[13]  Eladio Domínguez,et al.  Mappings and Interoperability: A Meta-modelling Approach , 2000, ADVIS.

[14]  Brian Henderson-Sellers,et al.  The open process framework : an introduction , 2002 .

[15]  Antonio Vallecillo,et al.  An Ontology for Software Measurement , 2006, Ontologies for Software Engineering and Software Technology.

[16]  Brian Henderson-Sellers,et al.  Modelling software development methodologies: A conceptual foundation , 2007, J. Syst. Softw..

[17]  Rony Flatscher Metamodeling in EIA/CDIF---meta-metamodel and metamodels , 2002, TOMC.

[18]  Alain Pirotte,et al.  Materialization: A Powerful and Ubiquitous Abstraction Pattern , 1994, VLDB.

[19]  Sjaak Brinkkemper,et al.  A Method Engineering Language for the Description of Systems Development Methods , 2001, CAiSE.

[20]  Daniel Schreiber,et al.  Can programming be liberated from the two-level style: multi-level programming with deepjava , 2007, OOPSLA.

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

[22]  Nicolas Prat,et al.  Goal Formalisation and Classification for Requirements Engineering , 1996 .

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

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

[25]  Inge van de Weerd,et al.  A situational implementation method for web-based content management system-applications: method engineering and validation in practice , 2006, Softw. Process. Improv. Pract..

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

[27]  Colin Atkinson,et al.  Concepts for comparing modeling tool architectures , 2005, MoDELS'05.

[28]  Perdita Stevens,et al.  Using UML - software engineering with objects and components, Second Edition , 2006, Addison Wesley object technology series.

[29]  Inge van de Weerd,et al.  Concepts for Incremental Method Evolution: Empirical Exploration and Validation in Requirements Management , 2007, CAiSE.

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

[31]  Motoshi Saeki,et al.  Embedding Metrics into Information Systems Development Methods: An Application of Method Engineering Technique , 2003, CAiSE.

[32]  Colin Atkinson,et al.  Meta-level Independent Modelling , 2000 .

[33]  Masanori Shinohara,et al.  A Meta-Model for Representing Software Specification & Design Methods , 1993, Information System Development Process.

[34]  Brian Henderson-Sellers,et al.  Comparison of Method Chunks and Method Fragments for Situational Method Engineering , 2008 .

[35]  Salvatore Gaglio,et al.  Method fragments for agent design methodologies: from standardisation to research , 2007, Int. J. Agent Oriented Softw. Eng..

[36]  Brian Henderson-Sellers,et al.  Uses and abuses of the stereotype mechanism in UML 1.x and 2.0 , 2006, MoDELS'06.

[37]  Scott A. Whitmire,et al.  Object-Oriented Design Measurement , 1997 .

[38]  Colette Rolland,et al.  A Multi-Model View of Process Modelling , 1999, Requirements Engineering.

[39]  Jorge J. Gómez-Sanz,et al.  Model integration in agent-oriented development , 2007, Int. J. Agent Oriented Softw. Eng..

[40]  Hao Ding,et al.  Ontology-based Semantic Annotation for Semantic Interoperability of Process Models , 2005, International Conference on Computational Intelligence for Modelling, Control and Automation and International Conference on Intelligent Agents, Web Technologies and Internet Commerce (CIMCA-IAWTIC'06).