Collaborative Work Management with a Highly-Available Kanban Board
Research group leaders and university vice presidents are responsible for tracking progress of many different projects at the same time. Kanban boards have turned into a surprisingly popular approach for project management over the last decade. Their usage spans the management of software development teams following an agile approach, business task management, and organizational development undertaken by collaborative teams. More recently, Kanban boards have also proven to be useful for personal task management. Users are required to break projects down into a collection of individual tasks. The visualization of these tasks (or a subset) helps to prioritize and focus on only a small number of tasks at a time, while tracking progress of their status. Software support for this type of task is highly desirable, but prone to data loss and corruption under concurrent updates. In this paper, we describe the functionality of software products that provide implementations of Kanban boards. We discuss how concurrent operations on these boards, such as moving entries on a board, can lead to unexpected and undesirable results. This type of bugs can be prevented by disallowing concurrent modifications of the application data. Using a formal model of a Kanban board specified in our verification tool Repliss, we show how techniques such as conflict-free replicated data types (CRDTs) can improve the programmability of highly-available systems and where their limits are.
Unable to display preview. Download preview PDF.
The work described in this paper is based on research supported in part by the EU H2020 project “LightKone” (732505) https://www.lightkone.eu/.
- 1.Deepthi Devaki Akkoorath et al. “Cure: Strong semantics meets high availability and low latency”. In: International Conference on Distributed Computing Systems (ICDCS 2016) Nara, Japan: IEEE, June 2016.Google Scholar
- 2.Cihan Biyikoglu. Under the Hood: Redis CRDTs (white paper). 2018. URL: https://redislabs.com/docs/active-active-whitepaper/.
- 3.Sean Cribbs and Russell Brown. “Data Structures in Riak”. In: Riak Conference (RICON). San Francisco, CA, USA, Oct. 2012. URL: https://speakerdeck.com/u/basho/p/data-structures-in-riak.
- 4.Clarence A. Ellis and Simon J. Gibbs. “Concurrency Control in Groupware Systems”. In: Proceedings of the 1989 ACM SIGMOD International Conference on Management of Data, Portland, Oregon, May 31–June 2, 1989. Ed. by James Clifford, Bruce G. Lindsay, and David Maier. ACM Press, 1989, pp. 399–407. https://doi.org/10.1145/67544.66963 URL: http://doi.acm.org/10.1145/67544.66963.
- 5.Todd Hoff. How League of Legends Scaled Chat To 70 Million Players — It Takes Lots Of Minions. http://highscalability.com/blog/2014/10/13/how-league-of-legends-scaled-chat-to-70-million-players-it-t.html. Oct. 2014.
- 6.Dmitry Ivanov and Nami Nasserazad. “Practical Demystification of CRDTs” In: CurryOn Rome, Italy, July 2016. URL: https://www.youtube.com/watch?v=ShiU9g5JFq8.
- 7.Dan Macklin. Key Lessons Learned from Transition to NoSQL at an Online Gambling Website. http://www.infoq.com/articles/key-lessons-learned-from-transition-to-nosql. Nov 2015.
- 8.Marc Shapiro et al. “Convergent and Commutative Replicated Data Types”. In: Bulletin of the EATCS 104 (2011), pp. 67–88. URL: http://eatcs.org/beatcs/index.php/beatcs/article/view/120.
- 9.Chengzheng Sun and Clarence A. Ellis. “Operational Transformation in Real-Time Group Editors: Issues, Algorithms, and Achievements”. In: CSCW ’98, Proceedings of the ACM 1998 Conference on Computer Supported Cooperative Work, Seattle, WA, USA, November 14–18, 1998. Ed. by Steven E. Poltrock and Jonathan Grudin. ACM, 1998, pp. 59–68. ISBN: 1-58113-009-0. https://doi.org/10.1145/289444.289469. URL: http://doi.acm.org/10.1145/289444.289469.
- 10.Chengzheng Sun et al. “Achieving Convergence, Causality Preservation, and Intention Preservation in Real-Time Cooperative Editing Systems”. In: ACM Trans. Comput.-Hum. Interact. 5.1 (1998), pp. 63–108. https://doi.org/10.1145/274444.274447. URL: http://doi.acm.org/10.1145/274444.274447.CrossRefGoogle Scholar
- 11.Antidote Reference Platform. http://antidotedb.org/. Accessed 31 May 2018. 2016.
- 12.Douglas B. Terry et al. “Session Guarantees for Weakly Consistent Replicated Data”. In: Proceedings of the Third International Conference on Parallel and Distributed Information Systems (PDIS 94), Austin, Texas, September 28–30, 1994. IEEE Computer Society, 1994, pp. 140–149. ISBN: 0-8186-6400-2. https://doi.org/10.1109/PDIS.1994.331722. URL: https://doi.org/10.1109/PDIS.1994.331722.
- 13.Marek Zawirski et al. “Write Fast, Read in the Past: Causal Consistency for Client-Side Applications”. In: Proceedings of the 16th Annual Middleware Conference, Vancouver, BC, Canada, December 07–11, 2015. Ed. by Rodger Lea et al. ACM, 2015, pp. 75–87. ISBN: 978-1-4503-3618-5. https://doi.org/10.1145/2814576.2814733. URL: http://doi.acm.org/10.1145/2814576.2814733.
- 14.Peter Zeller. “Testing Properties of Weakly Consistent Programs with Repliss”. In: Proceedings of the 3rd International Workshop on Principles and Practice of Consistency for Distributed Data. PaPoC’17. Belgrade, Serbia: ACM, 2017, 3:1–3:5. ISBN: 978-1-4503-4933-8. https://doi.org/10.1145/3064889.3064893. URL: http://doi.acm.org/10.1145/3064889.3064893.
- 15.Peter Zeller and Arnd Poetzsch-Heffter. “Towards a Proof Framework for Information Systems with Weak Consistency”. In: Software Engineering and Formal Methods - 14th International Conference, SEFM 2016, Held as Part of STAF 2016, Vienna, Austria, July 4–8, 2016, Proceedings. Ed. by Rocco De Nicola and Eva Kühn. Vol. 9763. Lecture Notes in Computer Science. Springer, 2016, pp. 277–283. ISBN: 978-3-319-41590-1. https://doi.org/10.1007/978-3-319-41591-8_19.Google Scholar