A comparison of four process metamodels and the creation of a new generic standard

https://doi.org/10.1016/j.infsof.2004.06.001Get rights and content

Abstract

Software development processes and methodologies to date have frequently been described purely textually. However, more recently, a number of metamodels have been constructed to both underpin and begin to formalize these methodologies. We have critically examined four of these: the Object Management Group's Software Process Engineering Metamodel (SPEM), the OPEN Process Framework (OPF), the OOSPICE metamodel for capability assessment and the LiveNet approach for computer-supported collaborative work (CSCW). Based on this analysis, a new, combined metamodel, named Standard Metamodel for Software Development Methodologies (SMSDM) has been constructed which supports not only process but also products and capability assessment in the contexts of both software development and CSCW. As a proof of concept we conclude with a partial example to show how the SMSDM metamodel (and by inference the other metamodels) are used in practice by creating a simple yet usable methodology.

Section snippets

An introduction to metamodelling for software development methodologies

Software development processes and methodologies have always been described in terms suitable for use by the developer. They talk about what tasks and techniques should be used, what sort of lifecycle is appropriate (e.g. waterfall) and how these process elements should be organised in time and assigned to people. They are often described in a manual or published as a book that the project manager and his/her team of developers follow closely. Previous comparisons of OO processes for software

Current metamodels

The use of metamodels to underpin object-oriented processes was pioneered in the mid-1990s by the OPEN Consortium (http://www.open.org.au) leading to the current version of the OPEN Process Framework (OPF) [5]. The Object Management Group then issued a request for proposals for what turned into the software processing engineering metamodel (SPEM) [3]. In parallel, the capability assessment community, under the auspices of an EU funded project called OOSPICE, also developed a metamodel directed

Background and philosophy for a standard metamodel

Sources such as the OPF and OOSPICE and LiveNet have some specificity in their domains such that they provide significant detail in the domains to which they are addressed. The SPEM aims to be more generic and thus offers significantly less detail, leaving these details to be added at the M1 level by individual methodologists. In this section, we outline the process of merging ideas from these four metamodels (Section 2) into a single new generic standard (SMSDM).

We adopt a minimalist approach

Standard metamodel proposal

The metamodels described in Section 2 contain some problems related to mismatches between process and product metaclasses [15] and to the problems posed by the impossibility of ‘inheriting’ attributes across metalevels. Some ‘solutions’ to this latter problem are solved in terms of potency [16] or in terms of powertypes [10]. As a possible solution to assist in the construction of SMSDM, we reject potency due to its lack of underpinning theory and develop the idea of powertypes, first proposed

Mappings to other metamodelling approaches

Terminology agreement or, in the case of differences, mapping between terminology sets is critical to understanding the true semantics of a metamodel and how it might apply in various domains and methodological approaches.

Table 2 shows how the SMSDM terms are realized in the four metamodels we have investigated in this paper. Since the SMSDM attempts to be comprehensive across the several domains of these four metamodels, it is not surprising that it covers more concepts than any other

Summary and conclusions

We have demonstrated here how the newly proposed SMSDM encompasses four well-known metamodel ‘standards’ (SPEM, OPF, OOSPICE and LiveNet) thus offering a generic metamodel that can be both standardized ([9]) and also offer each of these four metamodels essentially as a reasonable subset. To facilitate this, we have delineated mappings between the various and varied terminologies used in all five metamodels (Table 2). Finally, we have included a partial example to show how the SMSDM (and by

Acknowledgements

We wish to thank the Australian Research Council (grant number DP0211675) for financial support for this work. This is Contribution number 03/19 of the Centre for Object Technology Application and Research.

References (18)

There are more references available in the full text version of this article.

Cited by (53)

  • Software process modeling languages: A systematic literature review

    2014, Information and Software Technology
    Citation Excerpt :

    Then, they evaluated those six languages against requirements and compared them. Henderson-Sellers et al. [5] examined critically four metamodels that have been constructed to underpin and formalize methodologies. Based on this analysis, the authors proposed a new metamodel that supported both the software development and capability assessment, which was used in ISO 24744 standard.

  • Evaluating software engineering techniques for developing complex systems with multiagent approaches

    2011, Information and Software Technology
    Citation Excerpt :

    A developer who has to choose between these methodologies should take into account which execution platform is going to be used. Currently, the major part of the methodologies are based on meta-models [43], Fig. 11 shows that all the studied methodologies follow this pattern, and they use formal and informal modeling languages to model the applications. They use different meta-models, but all of them offer the most important functionalities.

  • A technique fordefining agent-oriented engineering processes with tool support

    2010, Engineering Applications of Artificial Intelligence
    Citation Excerpt :

    Some works define a metamodel of the development process. For instance, Henderson-Sellers and Gonzalez-Perez (2005) compare four process metamodels and provide a new generic standard. This standard is aimed at obtaining a global process of development independent of the chosen methodology.

  • Towards a Systematic Socio-Intentional Framework for Agile Methods Tailoring

    2021, Proceedings - 2021 IEEE 23rd Conference on Business Informatics, CBI 2021 - Main Papers
  • A metamodel to represent agile software development projects

    2019, XXII Ibero-American Conference on Software Engineering, CIbSE 2019
View all citing articles on Scopus
View full text