Software process modeling languages: A systematic literature review

Context: Organizations working in software development are aware that processes are very important assets as well as they are very conscious of the need to deploy well-defined processes with the goal of improving software product development and, particularly, quality. Software process modeling languages are an important support for describing and managing software processes in software-intensive organizations. Objective: This paper seeks to identify what software process modeling languages have been defined in last decade, the relationships and dependencies among them and, starting from the current state, to define directions for future research. Method: A systematic literature review was developed. 1929 papers were retrieved by a manual search in 9 databases and 46 primary studies were finally included. Results: Since 2000 more than 40 languages have been first reported, each of which with a concrete purpose. We show that different base technologies have been used to define software process modeling languages. We provide a scheme where each language is registered together with the year it was created, the base technology used to define it and whether it is considered a starting point for later languages. This scheme is used to illustrate the trend in software process modeling languages. Finally, we present directions for future research. Conclusion: This review presents the different software process modeling languages that have been developed in the last ten years, showing the relevant fact that model-based SPMLs (Software Process Modeling Languages) are being considered as a current trend. Each one of these languages has been designed with a particular motivation, to solve problems which had been detected. However, there are still several problems to face, which have become evident in this review. This let us provide researchers with some guidelines for future research on this topic.

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

[2]  Ali Koudri,et al.  MODAL: A SPEM Extension to Improve Co-design Process Models , 2010, ICSP.

[3]  Volker Gruhn,et al.  Towards flexible software processes by using process patterns , 2004, IASTED Conf. on Software Engineering and Applications.

[4]  Rodrigo Quites Reis,et al.  Flexible software process enactment support in the APSEE model , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[5]  Claes Wohlin,et al.  Systematic literature reviews in software engineering , 2013, Inf. Softw. Technol..

[6]  CHEN Cheng,et al.  A Flexible and Formalized Process Modeling Language , 2002 .

[7]  Michael Philippsen,et al.  eSPEM - A SPEM Extension for Enactable Behavior Modeling , 2010, ECMFA.

[8]  Chisu Wu,et al.  A meta model approach using UML for task assignment policy in software process , 2002, Ninth Asia-Pacific Software Engineering Conference, 2002..

[9]  Shih-Chien Chou DPEM: a decentralized software process enactment model , 2004, Inf. Softw. Technol..

[10]  Jing Ying,et al.  A Metamodel Approach to Software Process Modeling Based on UML Extension , 2006, 2006 IEEE International Conference on Systems, Man and Cybernetics.

[11]  Michael Philippsen,et al.  A FUML-Based Distributed Execution Machine for Enacting Software Process Models , 2011, ECMFA.

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

[13]  Darren C. Atkinson,et al.  The design of evolutionary process modeling languages , 2004, 11th Asia-Pacific Software Engineering Conference.

[14]  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).

[15]  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).

[16]  Doo-Hwan Bae,et al.  SoftPM: a software process management system reconciling formalism with easiness , 2000, Inf. Softw. Technol..

[17]  João Varajão,et al.  FlexSPMF: A Framework for Modelling and Learning Flexibility in Software Processes , 2009, WSKS.

[18]  Bernard Coulette,et al.  Modeling Process Patterns and Their Application , 2007, International Conference on Software Engineering Advances (ICSEA 2007).

[19]  H. Washizaki Deriving Project-Specific Processes from Process Line Architecture with Commonality and Variability , 2006, 2006 4th IEEE International Conference on Industrial Informatics.

[20]  Stefan Jablonski,et al.  A Meta Modeling Framework for Domain Specific Process Management , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

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

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

[23]  Hao Hu,et al.  Order Constraints for Multi-view Software Process Model , 2008, 2008 International Conference on Computer Science and Software Engineering.

[24]  Mario Piattini,et al.  Using XMI and MOF for representation and interchange of software process , 2003, 14th International Workshop on Database and Expert Systems Applications, 2003. Proceedings..

[25]  Narayan C. Debnath,et al.  Supporting the SPEM with a UML Extended Workflow Metamodel , 2006, IEEE International Conference on Computer Systems and Applications, 2006..

[26]  Nor Ashidi Mat Isa,et al.  A SURVEY AND ANALYSIS OF PROCESS MODELING LANGUAGES , 2004 .

[27]  Ivana Podnar Žarko,et al.  SDL Based Approach to Software Process Modeling , 2000, EWSPT.

[28]  Jean-Marc Jézéquel,et al.  A Comparison of Six UML-Based Languages for Software Process Modeling , 2010, IEEE Transactions on Software Engineering.

[29]  Reidar Conradi,et al.  Adoption of open source software in software-intensive organizations - A systematic literature review , 2010, Inf. Softw. Technol..

[30]  Félix García,et al.  Modelling software process variability: an empirical study , 2011, IET Softw..

[31]  Fei Dai,et al.  Evolution Process Component Description Language , 2008, 2008 International Conference on MultiMedia and Information Technology.

[32]  Rita Suzana Pitangueira Maciel,et al.  An Integrated Approach for Model Driven Process Modeling and Enactment , 2009, 2009 XXIII Brazilian Symposium on Software Engineering.

[33]  Ricardo J. Machado,et al.  An Approach to Software Process Design and Implementation Using Transition Rules , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[34]  Jean-Marc Jézéquel,et al.  Combining Aspect and Model-Driven Engineering Approaches for Software Process Modeling and Execution , 2009, ICSP.

[35]  Claes Wohlin,et al.  Systematic Literature Reviews , 2012 .

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

[37]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[38]  Félix García,et al.  Applying AOSE Concepts to Model Crosscutting Variability in Variant-Rich Processes , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[39]  Jean-Marc Jézéquel,et al.  Achieving process modeling and execution through the combination of aspect and model‐driven engineering approaches , 2012, J. Softw. Evol. Process..

[40]  Xavier Franch,et al.  A UML-Based Approach to Enhance Reuse within Process Technology , 2003, EWSPT.

[41]  Don-Lin Yang,et al.  Applying UML and software simulation for process definition, verification, and validation , 2008, Inf. Softw. Technol..

[42]  Rodrigo Quites Reis,et al.  Early experiences on promoting explicit separation of details to improve software process reusability , 2002, Proceedings 26th Annual International Computer Software and Applications.

[43]  Mourad Oussalah,et al.  SPEM Extension with Software Process Architectural Concepts , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference.

[44]  Ali Selamat,et al.  Information and Software Technology , 2014 .

[45]  João Varajão,et al.  A Two-Step Approach for Modelling Flexibility in Software Processes , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

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

[47]  Jian Lu,et al.  Modeling Multi-View Software Process with Object Petri Nets , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

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

[49]  Darren C. Atkinson,et al.  Tool support for iterative software process modeling , 2007, Inf. Softw. Technol..

[50]  Shih-Chien Chou,et al.  APER-2: a developer-centered, object-oriented process language , 2000, Proceedings International Symposium on Multimedia Software Engineering.

[51]  Xavier Franch,et al.  Goal-Driven Agent-Oriented Software Processes , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[52]  Bernard Coulette,et al.  Topological properties for characterizing well-formedness of process components , 2005, Softw. Process. Improv. Pract..

[53]  Leon J. Osterweil,et al.  The design of a next-generation process language , 1997, ESEC '97/FSE-5.

[54]  Kamal Z. Zamli Process Modeling Languages: A Literature Review , 1970 .

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

[56]  Kamal Zuhairi Zamli,et al.  Modeling and enacting software processes using VRPML , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[57]  J. Noack Extending the software development process with a toolkit of UML-centred techniques , 2000, Proceedings International Conference on Software Methods and Tools. SMT 2000.

[58]  L. Lavazza,et al.  Deriving executable process descriptions from UML , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.