Defining and using collaboration patterns for software process development

Collaboration patterns are an efficient way to define, reuse and enact collaborative software development processes. We propose an approach to define and apply collaboration patterns at modelling, instantiation or execution time. Our patterns, inspired from workflow patterns, are described in CMSPEM, a Process Modelling Language developed in our team. In this paper, we briefly describe the CMSPEM metamodel and focus our presentation on two collaboration patterns: Duplicate in Sequence with Multiple Actors, Duplicate in Parallel with Multiple Actors and Merge. The approach is illustrated by a case study concerning the collaborative process “Review a deliverable”.

[1]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[2]  Thomas Herrmann,et al.  Concepts for usable patterns of groupware applications , 2003, SIGG.

[3]  Rédouane Lbath,et al.  Supporting collaborative development using process models: a tooled integration‐focused approach , 2014, J. Softw. Evol. Process..

[4]  Thomas Erickson,et al.  Lingua Francas for design: sacred places and pattern languages , 2000, DIS '00.

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

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

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Steven E. Poltrock,et al.  Modeling Collaborative Behavior: Foundations for Collaboration Technologies , 2009, 2009 42nd Hawaii International Conference on System Sciences.

[9]  Gregoris Mentzas,et al.  A review of patterns in collaborative work , 2010, GROUP.

[10]  Alfonso Fuggetta,et al.  Software process , 2014, FOSE.

[11]  Wilhelm Schäfer Proceedings of the 4th European Workshop on Software Process Technology , 1995 .

[12]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[13]  Mark Mayfield,et al.  Object Models: Strategies, Patterns, and Applications , 1995 .

[14]  Bernard Coulette,et al.  Automatic reuse of process patterns in process modeling , 2011, SAC '11.

[15]  Rédouane Lbath,et al.  Specification and Implementation of SPEM4MDE, a metamodel for MDE software processes , 2011, SEKE.

[16]  John C. Grundy,et al.  A generic approach to supporting diagram differencing and merging for collaborative design , 2005, ASE '05.