A Comparison of Six UML-Based Languages for Software Process Modeling

Describing and managing activities, resources, and constraints of software development processes is a challenging goal for many organizations. A first generation of Software Process Modeling Languages (SPMLs) appeared in the 1990s but failed to gain broad industrial support. Recently, however, a second generation of SPMLs has appeared, leveraging the strong industrial interest for modeling languages such as UML. In this paper, we propose a comparison of these UML-based SPMLs. While not exhaustive, this comparison concentrates on SPMLs most representative of the various alternative approaches, ranging from UML-based framework specializations to full-blown executable metamodeling approaches. To support the comparison of these various approaches, we propose a frame gathering a set of requirements for process modeling, such as semantic richness, modularity, executability, conformity to the UML standard, and formality. Beyond discussing the relative merits of these approaches, we also evaluate the overall suitability of these UML-based SPMLs for software process modeling. Finally, we discuss the impact of these approaches on the current state of the practice, and conclude with lessons we have learned in doing this comparison.

[1]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2003, Distributed and Parallel Databases.

[2]  Bashar Nuseibeh,et al.  Software process modelling and technology , 1994 .

[3]  Christoph Bussler,et al.  Workflow Management: Modeling Concepts, Architecture and Implementation , 1996 .

[4]  Marlon Dumas,et al.  Pattern-based analysis of UML activity diagrams , 2004 .

[5]  Carlo Ghezzi,et al.  A Survey and Assessment of Software Process Representation Formalisms , 1993, Int. J. Softw. Eng. Knowl. Eng..

[6]  Shih-Chien Chou A Process Modeling Language Consisting of High Level UML-based Diagrams and Low Level Process Language , 2002, J. Object Technol..

[7]  Carlo Ghezzi,et al.  Process Model Evolution in the SPADE Environment , 1993, IEEE Trans. Software Eng..

[8]  Audris Kalnins,et al.  Semantics of UML 2.0 activity diagram for business modeling by means of virtual machine , 2005, Ninth IEEE International EDOC Enterprise Computing Conference (EDOC'05).

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

[10]  Watts S. Humphrey,et al.  Software process development and enactment: concepts and definitions , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[11]  Marie-Pierre Gervais,et al.  UML4SPM: a UML2.0-Based metamodel for software process modelling , 2005, MoDELS'05.

[12]  Benoît Combemale,et al.  Towards a Rigorous Process Modeling with SPEM , 2006, ICEIS.

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

[14]  Mark Klein,et al.  A Knowledge-based Approach to Handling Exceptions in Workflow Systems , 2011, Computer Supported Cooperative Work (CSCW).

[15]  Benoît Combemale,et al.  Definition of an Executable SPEM 2.0 , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[16]  Alfonso Fuggetta,et al.  The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS , 2001, IEEE Trans. Software Eng..

[17]  Wil M. P. van der Aalst,et al.  Formal semantics and analysis of control flow in WS-BPEL , 2007, Sci. Comput. Program..

[18]  Reidar Conradi,et al.  Design, Use and Implementation of SPELL, a language for Software Process Modelling and Evolution , 1992, EWSPT.

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

[20]  Marie-Pierre Gervais,et al.  Software Process Modeling and Execution: The UML4SPM to WS-BPEL Approach , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[21]  Wil M. P. van der Aalst,et al.  Workflow Data Patterns: Identification, Representation and Tool Support , 2005, ER.

[22]  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.

[23]  Stephen A. White,et al.  Process Modeling Notations and Workflow Patterns , 2004 .

[24]  Massimiliano Di Penta,et al.  An experimental investigation of formality in UML-based development , 2005, IEEE Transactions on Software Engineering.

[25]  Marie-Pierre Gervais,et al.  UML4SPM: An Executable Software Process Modeling Language Providing High-Level Abstractions , 2006, 2006 10th IEEE International Enterprise Distributed Object Computing Conference (EDOC'06).

[26]  Wil M. P. van der Aalst,et al.  Workflow Resource Patterns: Identification, Representation and Tool Support , 2005, CAiSE.

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

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

[29]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[30]  Pere Botella,et al.  ComProLab: A Component Programming Laboratory , 2007 .

[31]  Qing Li,et al.  Unified Modeling Language , 2009 .

[32]  Craig Schlenoff,et al.  Unified Process Specification Language: Requirements for Modeling Process , 1996 .

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

[34]  Dennis Heimbigner,et al.  APPL/A: a language for software process programming , 1995, TSEM.

[35]  Carl A. Gunter,et al.  Semantic Domains , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[36]  Xavier Franch,et al.  A structured approach to software process modelling , 1998, Proceedings. 24th EUROMICRO Conference (Cat. No.98EX204).

[37]  DumasMarlon,et al.  Formal semantics and analysis of control flow in WS-BPEL , 2007 .

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

[39]  Ieee Std,et al.  IEEE Standard for Software Verification and Validation , 2008 .

[40]  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.

[41]  Marlon Dumas,et al.  UML Activity Diagrams as a Workflow Specification Language , 2001, UML.

[42]  Brian Henderson-Sellers,et al.  A comparison of four process metamodels and the creation of a new generic standard , 2005, Inf. Softw. Technol..

[43]  Luis Gomes,et al.  Actions as Activities and Activities as Petri nets , 2003 .

[44]  Roozbeh Farahbod,et al.  Specification and Validation of the Business Process Execution Language for Web Services , 2004, Abstract State Machines.

[45]  Karsten Wolf,et al.  Transforming BPEL to Petri Nets , 2005, Business Process Management.

[46]  Wolfgang Reisig,et al.  ASM-based Semantics for BPEL: The Negative Control Flow , 2005, Abstract State Machines.

[47]  Wil M. P. van der Aalst,et al.  Pattern-Based Analysis of the Control-Flow Perspective of UML Activity Diagrams , 2005, ER.

[48]  Gail E. Kaiser,et al.  Preliminary experience with process modeling in the MARVEL software development environment kernel , 1990, Twenty-Third Annual Hawaii International Conference on System Sciences.

[49]  Leon J. Osterweil,et al.  An Analysis of Process Languages , 1995 .

[50]  Leon J. Osterweil,et al.  Using Little-JIL to coordinate agents in software engineering , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[51]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

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

[53]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[54]  Alfonso Fuggetta,et al.  Software process: a roadmap , 2000, ICSE '00.