UML4SPM: a UML2.0-Based metamodel for software process modelling

In the context of Model Driven Development, models play a central role. Since models can nowadays be executed, they are used not only for description but also for production [32][30][24]. In the field of software process modelling, the current version of the OMG SPEM standard (ver1.1) has not yet reached the level required for the specification of executable models. The purpose of SPEM1.1 was limited at providing process descriptions to be read by humans and to be supported by tools, but not to be executed. Therefore, the OMG issued a new RFP in order to improve SPEM1.1 [35]. Since we intend to participate in the next major revision of SPEM, namely SPEM2.0, in this work, we: 1) compare SPEM1.1 both with primary process model elements (i.e. Activity, Product, Role,...) and with basic requirements that any Process Modelling Language should support (i.e. expressiveness, understandability, executability,...); 2) identify its major limitations and advantages and 3) propose a new UML2.0-based metamodel for software process modelling named: UML4SPM. It extends a subset of UML2.0 concepts – with no impact on the standard – in order to fit software process modelling.

[1]  Walt Scacchi,et al.  Process Models in Software Engineering , 2001 .

[2]  Jean-Claude Derniame Software Process Technology , 1992, Lecture Notes in Computer Science.

[3]  Peter Fettke,et al.  Model Driven Architecture (MDA) , 2003, Wirtsch..

[4]  Reidar Conradi,et al.  Process Modelling Languages: One or Many? , 1995, EWSPT.

[5]  Luigi Lavazza,et al.  Deriving executable process descriptions from UML , 2002, ICSE '02.

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

[7]  Jean-Claude Derniame,et al.  Software Process: Principles, Methodology, and Technology , 1999, Lecture Notes in Computer Science.

[8]  Jun Han,et al.  Object oriented software process modeling , 2002 .

[9]  Bill Curtis,et al.  Process modeling , 1992, CACM.

[10]  Oscar Nierstrasz,et al.  Software Engineering - ESEC/FSE '99 , 1999 .

[11]  Harald Störrle,et al.  Towards a Formal Semantics of UML 2.0 Activities , 2005, Software Engineering.

[12]  Watts S. Humphrey The software engineering process: definition and scope , 1988, ISPW '88.

[13]  Xavier Franch,et al.  A precedence-based approach for proactive control in software process modelling , 2002, SEKE '02.

[14]  Marie-Pierre Gervais,et al.  Model Bus: Towards the Interoperability of Modelling Tools , 2003, MDAFA.

[15]  Dirk Riehle,et al.  The architecture of a UML virtual machine , 2001, OOPSLA '01.

[16]  Jacques Lonchamp,et al.  A structured conceptual and terminological framework for software process engineering , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[17]  Bernhard Rumpe,et al.  «UML»’99 — The Unified Modeling Language , 2003, Lecture Notes in Computer Science.

[18]  Paul Francis,et al.  Model Driven Architecture with Executable UML , 2004 .

[19]  Kamal Zuhairi Zamli,et al.  Taxonomy of process modeling languages , 2001, Proceedings ACS/IEEE International Conference on Computer Systems and Applications.

[20]  Leon J. Osterweil,et al.  Software processes are software too , 1987, ISPW.

[21]  Brian Warboys,et al.  The Software Process: Modelling and Technology , 1999, Software Process: Principles, Methodology, Technology.

[22]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[23]  Bernhard Westfechtel,et al.  Using UML for software process modeling , 1999, ESEC/FSE-7.

[24]  Harald Sẗorrle Semantics of UML 2.0 Activities with Data-Flow , 2004 .

[25]  Reidar Conradi,et al.  Towards a Reference Framework for Process Concepts , 1992, EWSPT.

[26]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[27]  Xavier Franch,et al.  Using UML for Software Process Modelling , 1999, UML.

[28]  Andy Evans,et al.  Core Meta-Modelling Semantics of UML: The pUML Approach , 1999, UML.

[29]  M. L. Jaccheri Evaluating the requirements for software process modeling languages and systems , 1999 .

[30]  Reidar Conradi,et al.  Process Modelling Languages , 1999, Software Process: Principles, Methodology, Technology.

[31]  Xavier Franch,et al.  Using UML for modelling the static part of a software process , 1999 .