This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
A Comparison of Six UML-Based Languages for Software Process Modeling
September/October 2010 (vol. 36 no. 5)
pp. 662-675
Reda Bendraou, University of Pierre and Marie Curie (UPMC), Paris
Jean-Marc Jézéquel, IRISA, INRIA-Rennes Bretagne Atlantique, Rennes
Marie-Pierre Gervais, University of Paris Ouest Nanterre La Défense, Paris
Xavier Blanc, University of Pierre and Marie Curie (UPMC), Paris
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] S.M. SuttonJr., P.L. Tarr, and L.J. Osterweil, "An Analysis of Process Languages," CMPSCI Technical Report 95-78, Univ. of Massachusetts, 1995.
[2] C. Montangero et al., "The Software Process: Modelling and Technology," Lecture Notes in Computer Science, pp. 1-14, Springer, 1999.
[3] ANSI/IEEE, IEEE Standard for Software Verification and Validation Plans, IEEE, 1987.
[4] S.M. Sutton,Jr., D. Heimbigner, and L.J. Osterweil, "APPL/A: A Language for Software Process Programming," ACM Trans. Software Eng. and Methodology, vol. 4, no. 3, pp. 221-286, 1995.
[5] J. Lonchamp, "A Structured Conceptual and Terminological Framework for Software Process Engineering," Proc. Second Int'l Conf. Software Process, pp. 41-53, 1993.
[6] F. Ruiz-Gonzalez and G. Canfora, "Software Process: Characteristics, Technology and Environments," UPGrade: The European J. for the Informatics Professional, vol. 5, pp. 6-10, 2004.
[7] G.E. Kaiser, N.S. Barghouti, and M.H. Sokolsky, "Preliminary Experience with Process Modeling in the MARVEL Software Development Environment Kernel," Proc. 23rd Ann. Hawaii Int'l Conf. System Sciences, pp. 131-140, 1990.
[8] S. Bandinelli, A. Fuggetta, and C. Ghezzi, "Software Process Model Evolution in the SPADE Environment," IEEE Trans. Software Eng., vol. 19, no. 12, pp. 1128-1144, Dec. 1993.
[9] R. Conradi et al., "Design, Use and Implementation of SPELL, a Language for Software Process Modelling and Evolution," Proc. Second European Workshop Software Process Technology, pp. 167-177, 1992.
[10] E. Di Nitto et al., "Deriving Executable Process Descriptions from UML," Proc. 24th Int'l Conf. Software Eng., pp. 155-165, 2002.
[11] B. Henderson-Sellers and C.A. González-Pérez, "A Comparison of Four Process Metamodels and the Creation of a New Generic Standard," Information and Software Technology, vol. 47, no. 1, pp. 49-65, 2005.
[12] A. Finkelstein, J. Kramer, and B. Nuseibeh, Software Process Modelling and Technology. John Wiley & Sons, Inc., 1994.
[13] OMG, Workflow Management Facility Specification v1.2, OMG Document formal/00-05-02, http://www.omg.org/specWfMF/, 2000.
[14] OMG, SPEM1.1, Software Process Eng. Metamodel, OMG Document formal/05-01-06, http://www.omg.org/cgi-bin/doc?formal05-01-06 /, 2005.
[15] M. Dumas and A.H.M. ter Hofstede, "UML Activity Diagrams as a Workflow Specification Language," Proc. Fourth Int'l Conf. Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp. 76-90, 2001.
[16] W. Van der Aalst et al., "Workflow Patterns," J. Distributed and Parallel Databases, vol. 14, no. 3, pp. 5-51, 2003.
[17] S. White, "Process Modeling Notations and Workflow Patterns," Workflow Handbook 2004, L. Fischer, ed., pp. 265-294, Future Strategies, Inc., 2004.
[18] S. Jablonski and C. Bussler, Workflow Management: Modeling Concepts, Architecture and Implementation. Thomson Computer Press, 1996.
[19] P. Wohed et al., "Pattern-Based Analysis of UML Activity Diagrams," Proc. 25th Int'l Conf. Conceptual Modeling, pp. 63-78, 2005.
[20] OASIS, Web Services Business Process Execution Language Version 2.0, Working Draft WS-BPEL TC OASIS, Jan. 2007.
[21] N. Russell et al., "Workflow Data Patterns: Identification, Representation and Tool Support," Proc. 25th Int'l Conf. Conceptual Modeling, pp. 353-368, 2005.
[22] N. Russell et al., "Workflow Resource Patterns: Identification, Representation and Tool Support," Proc. 17th Conf. Advanced Information Systems Eng., pp. 216-232, 2005.
[23] OMG, "Semantics of a Foundational Subset for Executable UML Models RFP," OMG Document ad/05-04-02, http://www.omg. org/spec/FUML/1.0Beta1/, 2005.
[24] V. Vitolins and A. Kalnins, "Semantics of UML 2.0 Activity Diagram for Business Modeling by Means of Virtual Machine," Proc. Ninth IEEE Int'l EDOC Enterprise Computing Conf., pp. 181-194, 2005.
[25] STL, "STL: The UML2,0 Semantics Project," http://www.cs. queensu.ca/~stl/internaluml2 /, 2009.
[26] H. Störrle and J.H. Hausmann, "Towards a Formal Semantics of UML 2.0 Activities," Proc. Conf. Software Eng., K. Pohl and M. Goedicke, eds., pp. 117-128, 2005.
[27] J.P. Barros and L. Gomes, "Actions as Activities and Activities as Petri Nets," Proc. Workshop Critical Systems Development with UML, pp. 129-135, 2003.
[28] S. Sarstedt, "Semantics Foundation and Tool Support for Model-Driven Development with UML2 Activity Diagrams," PhD document, Ulm Univ., 2006.
[29] B. Curtis, M.I. Kellner, and J. Over, "Process Modeling," Comm. ACM, vol. 35, no. 9, pp. 75-90, 1992.
[30] M.L. Jaccheri, M. Baldi, and M. Divitini, "Evaluating the Requirements for Software Process Modelling Languages and Systems" Proc. Conf. Process Support for Distributed Team-Based Software Development, pp. 570-578, 1999.
[31] K.Z. Zamli and P.A. Lee, "Taxonomy of Process Modeling Languages," Proc. ACS/IEEE Int'l Conf. Computer Systems and Applications, pp. 435-437, 2001.
[32] P. Armenise et al., "A Survey and Assessment of Software Process Representation Formalisms," Int'l J. Software Eng. and Knowledge Eng., vol. 3, no. 3, pp. 401-426, 1993.
[33] C. Schlenoff, A. Knutilla, and S. Ray, "Unified Process Specification Language: Requirements for Modeling Process," Interagency Report 5910, 1996.
[34] M. Dowson, B. Nejmeh, and W. Riddle, "Fundamental Software Process Concepts," Proc. First European Workshop Software Process Modeling, pp. 15-37, 1991.
[35] R. Conradi et al., "Towards a Reference Framework for Process Concepts," Proc. Second European Workshop Software Process Technology, pp. 3-17, 1992.
[36] P.H. Feiler and W.S. Humphrey, "Software Process Development and Enactment: Concepts and Definitions," Proc. Second Int'l Conf. Software Process, Continuous Software Process Improvement, pp. 28-40, 1993.
[37] J. Lonchamp, "A Structured Conceptual and Terminological Framework for Software Process Engineering," Proc. Second Int'l Conf. Software Process, Continuous Software Process Improvement, pp. 41-53, 1993.
[38] A. Fuggetta, "Software Process: A Roadmap," Proc. Conf. Future of Software Eng., pp. 25-34, 2000.
[39] A. Wise et al., "Using Little-JIL to Coordinate Agents in Software Engineering," Proc. 15th IEEE Int'l Conf. Automated Software Eng., pp. 155-165, 2000.
[40] C. Popescu and C. Charoenngam, Project Planning, Scheduling, and Control in Construction: An Encyclopedia of Terms and Applications. Wiley-Interscience, 1995.
[41] M. Klein and C. Dellarocas, "A Knowledge-Based Approach to Handling Exceptions in Workflow Systems," Computer Supported Cooperative Work, vol. 9, no. 3, pp. 399-412, 2000.
[42] L. Briand et al., "An Experimental Investigation of Formality in UML-Based Development," IEEE Trans. Software. Eng., vol. 31, no. 10, pp. 833-849, Oct. 2005.
[43] W.E. McUmber and B.H.C. Cheng, "A General Framework for Formalizing UML with Formal Languages," Proc. 23rd Int'l Conf. Software Eng., pp. 433-442, 2001.
[44] A.S. Evans and S. Kent, "Meta-Modelling Semantics of UML: The pUML Approach," Proc. Second Int'l Conf. Unified Modeling Language, pp. 140-155, 1999.
[45] X. Franch et al., "ComProLab: A Component Programming Laboratory," Proc. Ninth Software Eng. and Knowledge Eng. Conf., pp. 397-406, 1997.
[46] X. Franch and J. Rib, "A Structured Approach to Software Process Modelling," Proc. 24th Conf. EUROMICRO, vol. 2, pp. 753-762, 1998.
[47] S.-C. Chou, "A Process Modeling Language Consisting of High Level UML Diagrams and Low Level Process Language," J. Object-Oriented Programming, vol. 1, no. 4, pp. 137-163, 2002.
[48] OMG, SPEM1.0, Software Process Eng. Metamodel, OMG Document formal/02-11/14, http://www.omg.org/cgi-bin/doc?formal02-11-14 /, 2002.
[49] OMG, UML1.4, Unified Modelling Language, Version 1.4, OMG Document formal/01-09-67, http://www.omg.org/spec/UML1.4/, 2001.
[50] R. Bendraou, M.-P. Gervais, and X. Blanc, "UML4SPM: A UML2.0-Based Metamodel for Software Process Modeling," Proc. ACM/IEEE Eighth MoDELS/UML Conf., pp. 17-38, 2005.
[51] B. Combemale et al., "Towards a Rigorous Process Modeling with SPEM," Proc. Int'l Conf. Enterprise Information, 2006.
[52] IBM, "Rational Process Workbench (RPW)," http://www-128. ibm.com/developerworks/rational/ library6001.html#author, 2008.
[53] Osellus "Osellus IRIS Suite," www.Osellus.com, 2009.
[54] Softeam "Objecteering," http:/www.Objecteering.com, 2009.
[55] OMG, SPEM2.0, Software Process Eng. Metamodel, OMG Document, Final Adopted Specification, ptc/07-03-03, http://www.omg.org/spec/SPEM2.0/, 2007.
[56] OMG, UML2.1.1, Unified Modeling Language, Infrastructure Specification, Version 2.1.1, OMG Document formal/07-02-06, http://www.omg.org/spec/UML2.1.1/, 2007.
[57] OMG, Diagram Interchange, Adopted Specification, OMG Document formal/06-04-04, http://www.omg.org/specUMLDI/, 2006.
[58] OMG, UML2.1.1 Unified Modeling Language, Superstructure Specification, Version 2.1.1., OMG Document formal/07-02-04, http://www.omg.org/spec/UML2.1.1/, 2007.
[59] OMG, BPMN, Business Process Modeling Notation Final Adopted Specification, OMG Document dtc/06-02-01, http://www.omg. org/spec/BPMN1.2/, 2006.
[60] OMG, SPEM2.0 RFP Software Process Engineering Metamodel, OMG Document ad/2004-11-04, http://www.omg.org/docs/ad04-11-04.pdf, 2004.
[61] IBM, "Rational Portofolio Manager (RPM)," http://www-306.ibm. com/software/awdtools/ portfolioindex.html, 2009.
[62] MPM, "Microsoft Project Manager," http://www.microsoft.com/france/office/2007/ solutions/epmoverview.msp, 2008.
[63] R. Bendraou et al., "Software Process Modeling and Execution: The UML4SPM to WS-BPEL Approach," Proc. 33rd EUROMICRO Conf. Software Eng. and Advanced Applications, pp. 314-321, 2007.
[64] C.A. Gunter and D.S. Scott, Semantic domains. MIT Press, 1991.
[65] R. Bendraou et al., "Definition of an Executable SPEM 2.0," Proc. 14th Asia-Pacific Software Eng. Conf., pp. 390-397, 2007.
[66] EPF, "Eclipse Process Framework (EPF)," www.eclipse.orgepf/, 2009.
[67] IBM "IBM Rational Method Composer (RMC)," www.ibm.com/software/awdtoolsrmc/, 2009.
[68] OMG UML1.3, Unified Modelling Language, Version 1.3., OMG Document formal/00-03-01, http://www.omg.org/spec/UML1.3/, 2000.
[69] G. Cugola, E. Di Nitto, and A. Fuggetta, "The JEDI Event-Based Infrastructure and Its Application to the Development of the OPSS WFMS," IEEE Trans. Software Eng., vol. 27, no. 9, pp. 827-850, Sept. 2001.
[70] S.-C. Chou, "Process Program Development Based on UML and Action Cases, Part 1: The Model," J. Object-Oriented Programming, vol. 13, no. 2, pp. 21-27, 2000.
[71] Modelware, "Modelware, IST European Project Contract 511731," http:/www.modelware-ist.org/.
[72] Modelplex "Modelplex, IST European Project Contract IST-3408," http:/www.modelplex-ist.org/, 2009.
[73] R. Bendraou, M.-P. Gervais, and X. Blanc, "UML4SPM: An Executable Software Process Modeling Language Providing High-Level Abstractions," Proc. 10th IEEE Int'l Enterprise Distributed Object Computing Conf., pp. 297-306, 2006.
[74] R. Bendraou, "UML4SPM Publications, Prototype, Notation and Evaluation Using the ISPW-6 Process Example," http:// pagesperso-systeme.lip6.fr/Reda.Bendraou Publications.htm, 2009.
[75] R. Farahbod, U. Gläasser, and M. Vajihollahi, "Specification and Validation of the Business Process Execution Language for Web Services," Proc. 11th Int'l Workshop Abstract State Machines, pp. 78-94, 2004.
[76] D. Fahland and W. Reisig, "ASM-Based Semantics for BPEL: The Negative Control Flow," Proc. 12th Int'l Workshop Abstract State Machines, pp. 131-151, 2005.
[77] S. Hinz, K. Schmidt, and C. Stahl, "Transforming BPEL to Petri Nets," Proc. Third Int'l Conf. Business Process Management, pp. 220-235, 2005.
[78] C. Ouyang et al., "Formal Semantics and Analysis of Control Flow in WS-BPEL," BPM Center Report BPM-05-13, BPMcenter.org, 2005.

Index Terms:
Metamodeling, process modeling and execution, software process modeling languages, UML.
Citation:
Reda Bendraou, Jean-Marc Jézéquel, Marie-Pierre Gervais, Xavier Blanc, "A Comparison of Six UML-Based Languages for Software Process Modeling," IEEE Transactions on Software Engineering, vol. 36, no. 5, pp. 662-675, Sept.-Oct. 2010, doi:10.1109/TSE.2009.85
Usage of this product signifies your acceptance of the Terms of Use.