[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

variED: an editor for collaborative, real-time feature modeling

Published: 01 March 2021 Publication History

Abstract

Feature models are a helpful means to document, manage, maintain, and configure the variability of a software system, and thus are a core artifact in software product-line engineering. Due to the various purposes of feature models, they can be a cross-cutting concern in an organization, integrating technical and business aspects. For this reason, various stakeholders (e.g., developers and consultants) may get involved into modeling the features of a software product line. Currently, collaboration in such a scenario can only be done with face-to-face meetings or by combining single-user feature-model editors with additional communication and version-control systems. While face-to-face meetings are often costly and impractical, using version-control systems can cause merge conflicts and inconsistency within a model, due to the different intentions of the involved stakeholders. Advanced tools that solve these problems by enabling collaborative, real-time feature modeling, analogous to Google Docs or Overleaf for text editing, are missing. In this article, we build on a previous paper and describe (1) the extended formal foundations of collaborative, real-time feature modeling, (2) our conflict resolution algorithm in more detail, (3) proofs that our formalization converges and preserves causality as well as user intentions, (4) the implementation of our prototype, and (5) the results of an empirical evaluation to assess the prototype’s usability. Our contributions provide the basis for advancing existing feature-modeling tools and practices to support collaborative feature modeling. The results of our evaluation show that our prototype is considered helpful and valuable by 17 users, also indicating potential for extending our tool and opportunities for new research directions.

References

[1]
Acher M, Collet P, Lahire P, and France RB FAMILIAR: A Domain-Specific Language for Large Scale Management of Feature Models Sci Comput Program 2013 78 6 657-681
[2]
Aho AV, Garey MR, and Ullman JD The Transitive Reduction of a Directed Graph SIAM J Comput 1972 1 2 131-137
[3]
Alves Pereira J, Constantino K, Figueiredo E (2014) A Systematic Literature Review of Software Product Line Management Tools. In: ICSR. Springer, pp 73–89
[4]
Apel S, Batory D, Kästner C, Saake G (2013a) Feature-Oriented Software Product Lines. Springer
[5]
Apel S, Rhein A, Wendler P, Grösslinger A, Beyer D (2013b) Strategies for Product-Line Verification: Case Studies and Experiments. In: ICSE. IEEE, pp 482–491
[6]
Baecker R M, Grudin J, Buxton W A S, Greenberg S (1995) Human-Computer Interaction: Toward the Year 2000. MorganKaufmann
[7]
Batory D (2005) Feature Models, Grammars, and Propositional Formulas. In: SPLC. Springer, pp 7–20
[8]
Benavides D, Segura S, and Ruiz-Cortés A Automated Analysis of Feature Models 20 Years Later: A Literature Review Inf Syst 2010 35 6 615-636
[9]
Berger T, Rublack R, Nair D, Atlee J M, Becker M, Czarnecki K, Wa̧sowski A (2013) A Survey of Variability Modeling in Industrial Practice. In: VAMOS. ACM, pp 7:1–7:8
[10]
Berger T, Nair D, Rublack R, Atlee J M, Czarnecki K, Wasowski A (2014) Three Cases Of Feature-Based Variability Modeling In Industry. In: MODELS. Springer, pp 302–319
[11]
Berger T, Lettner D, Rubin J, Grünbacher P, Silva A, Becker M, Chechik M, Czarnecki K (2015) What is a Feature?: A Qualitative Study of Features in Industrial Software Product Lines. In: SPLC. ACM, pp 16–25
[12]
Berlage T, Genau A (1993) A Framework for Shared Applications with a Replicated Architecture. In: UIST. ACM, pp 249–257
[13]
Beuche D (2008) Modeling and Building Software Product Lines with Pure::Variants. In: SPLC. IEEE, pp 358–358
[14]
Bierman G, Abadi M, Torgersen M (2014) Understanding TypeScript. In: ECOOP. Springer, pp 257–281
[15]
Botterweck G, Pleuss A, Dhungana D, Polzer A, Kowalewski S (2010) EvoFM: Feature-Driven Planning of Product-Line Evolution. In: Proceedings of the International Workshop on Product Line Approaches in Software Engineering. ACM, pp 24–31
[16]
Bowen T F, Dworack F S, Chow C H, Griffeth N, Herman G E, Lin Y-J (1989) The Feature Interaction Problem in Telecommunications Systems. In: Proceedings of the International Conference on Software Engineering for Telecommunication Switching Systems. IET, pp 59–62
[17]
Calder M, Kolberg M, Magill EH, and Reiff-Marganiec S Feature Interaction: A Critical Review and Considered Forecast Comput Netw 2003 41 1 115-141
[18]
Carstensen P H, Schmidt K (1999) Computer Supported Cooperative Work: New Challenges to Systems Design. In: Itoh K (ed) Handbook of Human Factors, pp 619–636
[19]
Chen D (2001a) Consistency Maintenance in Collaborative Graphics Editing Systems. Ph.D. Thesis, Griffith University
[20]
Chen D, Sun C (2001b) Optional Instant Locking in Distributed Collaborative Graphics Editing Systems. In: Proceedings of the International Conference on Parallel and Distributed Systems. IEEE, pp 109–116
[21]
Chen D, Sun C (2001c) Undoing Any Operation in Collaborative Graphics Editing Systems. In: Proceedings of the International Conference on Supporting Group Work. ACM, pp 197–206
[22]
Chen L and Babar MA A Systematic Review of Evaluation of Variability Management Approaches in Software Product Lines Inf Softw Technol 2011 53 4 344-362
[23]
Cho H, Gray J, Cai Y, Wong S, Xie T (2011) Model-Driven Impact Analysis of Software Product Lines. In: Osis J, Asnina E (eds) Model-Driven Domain Analysis and Software Development: Architectures and Functions. IGI Global, pp 275–303
[24]
Cormack G V (1995) A Counterexample to the Distributed Operational Transform and a Corrected Algorithm for Point-to-Point Communication. Technical Report CS-95-08
[25]
Czarnecki K (2013) Variability in Software: State of the Art and Future Directions. In: FASE. Springer, pp 1–5
[26]
Czarnecki K, Grnbacher P, Rabiser R, Schmid K, Wa̧sowski A (2012) Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In: VAMOS. ACM, pp 173–182
[27]
Dennis AR, Pootheri SK, and Natarajan VL Lessons from the Early Adopters of Web Groupware J Manag Inf Syst 1998 14 4 65-86
[28]
Dewan P Architectures for Collaborative Applications Comput Supported Coop Work 1999 7 169-193
[29]
Durán A, Benavides D, Segura S, Trinidad P, and Ruiz-Cortés A FLAME: A Formal Framework for the Automated Analysis of Software Product Lines Validated by Automated Specification Testing Softw Syste Model 2017 16 4 1049-1082
[30]
Ellis C, Gibbs S (1989) Concurrency Control in Groupware Systems. In: Proceedings of the International Conference on Management of Data. ACM, pp 399–407
[31]
Ellis C, Gibbs S, and Rein G Groupware: Some Issues and Experiences CACM 1991 34 1 39-58
[32]
Elmasri R, Navathe S (2010) Fundamentals of Database Systems. AddisonWesley
[33]
Felfernig A, Benavides D, Galindo J A, Reinfrank F (2013) Towards Anomaly Explanation in Feature Models. In: Proceedings of the International Configuration Workshop, pp 117–124
[34]
Fidge CJ Timestamps in Message-Passing Systems that Preserve the Partial Ordering Austral Comput Sci Commun 1988 10 1 56-66
[35]
Fogdal T, Scherrebeck H, Kuusela J, Becker M, Zhang B (2016) Ten Years of Product Line Engineering at Danfoss: Lessons Learned and Way Ahead. In: SPLC. ACM, pp 252–261
[36]
Gibbs S (1989) LIZA: An Extensible Groupware Toolkit. In: Proceedings of the Conference on Human Factors in Computing Systems. ACM, pp 29–35
[37]
Greenberg S (1991) Personalizable Groupware: Accommodating Individual Roles and Group Differences. In: ECSCW. Springer, pp 17–31
[38]
Greenberg S, Marwood D (1994) Real Time Groupware as a Distributed System: Concurrency Control and itss Effect on the Interface. In: CSCW. ACM, pp 207–217
[39]
Grudin J Computer-Supported Cooperative Work: History and Focus CACM 1994 27 5 19-26
[40]
Hajri I, Goknil A, Briand LC, and Stephany T Change Impact Analysis for Evolving Configuration Decisions in Product Line Use Case Models J Syst Softw 2018 139 211-237
[41]
Hickey R (2008) The Clojure Programming Language. In: DLS. ACM, pp 1
[42]
Horcas J-M, Pinto M, Fuentes L (2019) Software Product Line Engineering: A Practical Experience. In: SPLC. ACM, pp 164–176
[43]
Hunter J, Crawford W (2001) Java Servlet Programming: Help for Server Side Java Developers. OReilly
[44]
Imine A, Rusinowitch M, Oster G, and Molli P Formal Design and Verification of Operational Transformation Algorithms for Copies Convergence Theor Comput Sci 2006 351 2 167-183
[45]
Johansen R Groupware: Future Directions and Wild Cards J Organ Comput 1991 1 2 219-227
[46]
Kahn AB Topological Sorting of Large Networks CACM 1962 5 11 558-562
[47]
Kowal M, Ananieva S, Thüm T (2016) Explaining Anomalies in Feature Models. In: GPCE. ACM, pp 132–143
[48]
Krüger J, Mahmood W, Berger T (2020) Promote-pl: A Round-Trip Engineering Process Model for Adopting and Evolving Product Lines. In: SPLC. ACM, pp 2:1–2:12
[49]
Krueger C W (2007) BigLever Software Gears and the 3-Tiered SPL Methodology. In: OOPSLA. ACM, pp 844–845
[50]
Kuiter E (2019a) Consistency Maintenance for Collaborative Real-Time Feature Modeling. Bachelor Thesis, University of Magdeburg
[51]
Kuiter E, Krieter S, Krüger J, Leich T, Saake G (2019b) Foundations of Collaborative, Real-Time Feature Modeling. In: SPLC. ACM, pp 257–264
[52]
Lamport L Time, Clocks, and the Ordering of Events in a Distributed System CACM 1978 21 7 558-565
[53]
Lethbridge T C, Lyon S, Perry P (2008) The Management of University–Industry Collaborations Involving Empirical Studies of Software Enginee. In: Shull F, Singer J, Sjøberg D I K (eds) Guide to Advanced Empirical Software Engineering. Springer, pp 257–281
[54]
Linsbauer L, Berger T, Grünbacher P (2017) A Classification of Variation Control Systems. In: GPCE. ACM, pp 49–62
[55]
Macefield R How to Specify the Participant Group Size for Usability Studies: A Practitioners Guide J Usability Stud 2009 5 1 34-45
[56]
Manz C, Stupperich M, Reichert M (2013) Towards Integrated Variant Management In Global Software Engineering: An Experience Report. In: ICGSE. IEEE, pp 168–172
[57]
Mattern F (1988) Virtual Time and Global States of Distributed Systems. In: Proceedings of the International Workshop on Parallel and Distributed Algorithms. North Holland, pp 215–226
[58]
Mazoun J, Bouassida N, and Ben-Abdallah H Change Impact Analysis for Software Product Lines J King Saud Univ Comput Inf Sci 2016 28 4 364-380
[59]
McGranaghan M ClojureScript: Functional Programming for JavaScript Platforms IEEE Internet Computing 2011 15 6 97-102
[60]
Meinicke J, Thüm T, Schröter R, Benduhn F, Leich T, Saake G (2017) Mastering Software Variability with FeatureIDE. Springer
[61]
Mendonça M, Branco M, Cowan D (2009) S.P.L.O.T.: Software Product Lines Online Tools. In: OOPSLA. ACM, pp 761–762
[62]
Morris M R, Ryall K, Shen C, Forlines C, Vernier F (2004) Beyond “Social Protocols”: Multi-user Coordination Policies for Co-Located Groupware. In: CSCW. ACM, pp 262–265
[63]
Molich R A Critique of “How to Specify the Participant Group Size for Usability Studies: A Practitioner’s Guide” J Usability Stud 2010 5 3 124-128
[64]
Nešić D, Krüger J, Stanciulescu S, Berger T (2019) Principles of Feature Modeling. In: ESECFSE. ACM, pp 62–73
[65]
Nieke M, Seidl C, Schuster S (2016) Guaranteeing Configuration Validity in Evolving Software Product Lines. In: VAMOS. ACM, pp 73–80
[66]
Nieke M, Seidl C, Thüm T (2018) Back to the Future: Avoiding Paradoxes in Feature-Model Evolution. In: SPLC. ACM, pp 48–51
[67]
Oster G, Molli P, Urso P, Imine A (2006) Tombstone Transformation Functions for Ensuring Consistency in Collaborative Editing Systems. In: Proceedings of the International Conference on Collaborative Computing. IEEE, pp 1–10
[68]
Paskevicius P, Damasevicius R, tuikys V (2012) Change Impact Analysis of Feature Models. In: Proceedings of the International Conference on Information and Software Technologies. Springer, pp 108–122
[69]
Pohl K, Böckle G, van der Linden F (2005) Software Product Line Engineering: Foundations, Principles and Techniques. Springer
[70]
Prakash A (1999) Group Editors. In: Beaudouin-Lafon M (ed) Computer Supported Co-Operative Work. Wiley, pp 103–134
[71]
Randolph A, Boucheneb H, Imine A, and Quintero A On Consistency of Operational Transformation Approach Electron Proc Theor Comput Sci 2013 107 45-59
[72]
Schobbens P-Y, Heymans P, Trigaux J-C (2006) Feature Diagrams: A Survey and a Formal Semantics. In: Proceedings of the International Requirements Engineering Conference. IEEE, pp 139–148
[73]
Schobbens P-Y, Heymans P, Trigaux J-C, and Bontemps Y Generic Semantics of Feature Diagrams Comput Netw 2007 51 2 456-479
[74]
Schollmeier R (2001) A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications. In: Proceedings of the International Conference on Peer-to-Peer Computing. IEEE, pp 101–102
[75]
Schwarz R and Mattern F Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail Distrib Comput 1994 7 3 149-174
[76]
Schwägerl F, Westfechtel B (2016) Collaborative and Distributed Management of Versioned Model-Driven Software Product Lines. In: Proceedings of the International Joint Conference on Software Technologies. SciTePress, pp 83–94
[77]
Schwägerl F, Westfechtel B (2017) Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-Driven Software Product Lines. In: Proceedings of the International Conference on Model-Driven Engineering and Software Development. SciTePress, pp 15–28
[78]
Shapiro M, Preguia N, Baquero C, Zawirski M (2011) Conflict-Free Replicated Data Types. In: Stabilization, Safety, and Security of Distributed Systems. Springer, pp 386–400
[79]
Siegmund J, Siegmund N, Apel S (2015) Views on Internal and External Validity in Empirical Software Engineering. In: ICSE. IEEE, pp 9–19
[80]
Stefik M, Foster G, Bobrow DG, Kahn K, Lanning S, and Suchman L Beyond the Chalkboard: Computer Support for Collaboration and Problem Solving in Meetings CACM 1987 30 1 32-47
[81]
Sun C, Ellis C (1998) Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements. In: CSCW. ACM, pp 59–68
[82]
Sun C, Jia X, Zhang Y, Yang Y, and Chen D Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems TOCHI 1998 5 1 63-108
[83]
Sun C, Sosič R (1999) Consistency Maintenance in Web-Based Real-Time Group Editors. In: Proceedings of the International Conference on Distributed Computing Systems Workshops on Electronic Commerce and Web-Based Applications. IEEE, pp 15–22
[84]
Sun C, Chen D (2000) A Multi-Version Approach to Conflict Resolution in Distributed Groupware Systems. In: Proceedings of the International Conference on Distributed Computing Systems. IEEE, pp 316–325
[85]
Sun C and Chen D Consistency Maintenance in Real-Time Collaborative Graphics Editing Systems TOCHI 2002 9 1 1-41
[86]
Sun D, Xia S, Sun C, Chen D (2004) Operational Transformation for Collaborative Word Processing. In: CSCW. ACM, pp 437–446
[87]
Sun C, Xia S, Sun D, Chen D, Shen H, and Cai W Transparent Adaptation of Single-User Applications for Multi-User Real-Time Collaboration TOCHI 2006 13 4 531-582
[88]
Sun C, Yang Y, Zhang Y, Chen D (1996) A Consistency Model and Supporting Schemes for Real-Time Cooperative Editing Systems. In: Proceedings of the Australian Computer Science Conference, pp 582–591
[89]
Sun C, Xu Y, Agustina A (2014) Exhaustive Search of Puzzles in Operational Transformation. In: CSCW. ACM, pp 519–529
[90]
von Nostitz-Wallwitz I, Krüger J, Siegmund J, Leich T (2018) Knowledge Transfer from Research to Industry: A Survey on Program Comprehension. In: ICSEC. IEEE, pp 300–301
[91]
Williams L, Kessler R (2002) Pair Programming Illuminated. Addison Wesley
[92]
Wohlin C, Runeson P, Höst M, Ohlsson M C, Regnell B, Wesslén A (2012) Experimentation in Software Engineering. Springer
[93]
Wulf V Negotiability: A Metafunction to Tailor Access to Data in Groupware Behav Inf Technol 1995 14 3 143-151
[94]
Xue L, Orgun M, Zhang K (2003) A Multi-Versioning Algorithm for Intention Preservation in Distributed Real-Time Group Editors. In: Proceedings of the Australasian Computer Science Conference. ACS, pp 19–28
[95]
Yi L, Zhang W, Zhao H, Jin Z, Mei H (2010) CoFM: A Web-Based Collaborative Feature Modeling System for Internetware Requirements’ Gathering and Continual Evolution. In: Proceedings of the Asia-Pacific Symposium on Internetware. ACM, pp 23:1–23:4
[96]
Yi L, Zhao H, Zhang W, Jin Z (2012) CoFM: An Environment for Collaborative Feature Modeling. In: Proceedings of the International Requirements Engineering Conference. IEEE, pp 317–318

Cited By

View all
  • (2023)UVLSProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B10.1145/3579028.3609014(43-46)Online publication date: 28-Aug-2023
  • (2023)Conflict management techniques for model merging: a systematic mapping reviewSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01050-922:3(1031-1079)Online publication date: 1-Jun-2023
  • (2022)Evolvable SPL management with partial knowledgeProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547008(222-233)Online publication date: 12-Sep-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Empirical Software Engineering
Empirical Software Engineering  Volume 26, Issue 2
Mar 2021
678 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 March 2021
Accepted: 27 November 2020

Author Tags

  1. Software product lines
  2. Groupware
  3. Feature modeling
  4. Variability
  5. Consistency maintenance
  6. Collaboration

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 18 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)UVLSProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B10.1145/3579028.3609014(43-46)Online publication date: 28-Aug-2023
  • (2023)Conflict management techniques for model merging: a systematic mapping reviewSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01050-922:3(1031-1079)Online publication date: 1-Jun-2023
  • (2022)Evolvable SPL management with partial knowledgeProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547008(222-233)Online publication date: 12-Sep-2022
  • (2022)Towards Enabling Synchronous Digital Creative Collaboration: Codifying Conflicts in Co-ColoringCHI Conference on Human Factors in Computing Systems Extended Abstracts10.1145/3491101.3519789(1-7)Online publication date: 27-Apr-2022

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media