Software Development with Real-Time Collaborative Editing

Total Page:16

File Type:pdf, Size:1020Kb

Software Development with Real-Time Collaborative Editing Software Development with Real-Time Collaborative Editing by Max Goldman S.B., Massachusetts Institute of Technology (2004) M.S., Technion - Israel Institute of Technology (2006) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2012 © Massachusetts Institute of Technology 2012. All rights reserved. Author................................................................ Department of Electrical Engineering and Computer Science August 30, 2012 Certified by. Robert C. Miller Associate Professor Thesis Supervisor Accepted by . Leslie A. Kolodziejski Professor Chair, Department Committee on Graduate Students 2 Software Development with Real-Time Collaborative Editing by Max Goldman Submitted to the Department of Electrical Engineering and Computer Science on August 30, 2012, in partial fulfillment of the requirements for the degree of Doctor of Philosophy Abstract This thesis presents Collabode, a web-based integrated development environment for Java. With real-time collaborative editing, multiple programmers can use Collabode to edit the same source code at the same time. Collabode introduces error-mediated integration, where multiple editors see the text of one another’s changes while being isolated from errors and in-progress work, and error-free changes are integrated auto- matically. Three models of collaborative programming are presented and evaluated using Collabode. Classroom programming brings zero-setup web-based programming to computer science students working in a classroom or lab. Test-driven pair program- ming combines two existing software development strategies to create a model with clear roles and explicit tool support. And micro-outsourcing enables one programmer to easily request and integrate very small contributions from many distributed assis- tants, demonstrating how a system for highly-collaborative programming enables a development model infeasible with current tools. To show that highly-collaborative programming, using real-time collaborative edit- ing of source code, is practical, useful, and enables new models of software develop- ment, this thesis presents a series of user studies. A study with pairs of both student and professional programmers shows that error-mediated integration allows them to work productively in parallel. In a semester-long deployment of Collabode, students in an MIT software engineering course used the system for classroom programming. In a lab study of a Collabode prototype, professional programmers used test-driven pair programming. Finally, a study involving both in-lab participants and contractors hired online demonstrated how micro-outsourcing allowed participants to approach programming in a new way, one enabled by collaborative editing, automatic error- mediated integration, and a web-based environment requiring no local setup. Thesis Supervisor: Robert C. Miller Title: Associate Professor 3 4 Acknowledgments Stephen Benton, Holographic Imaging My advisor, Rob Miller. The other members of my thesis committee, Daniel Jackson and Li-Te Cheng. Greg Little. Angela Chang, Patrick Yamane, and Robin Cheng, who contributed to this project. All the members of the User Interface Design Group: Michael Bernstein, Adam Marcus, Katrina Panovich, Igor Kopylov, Vikki Fritz, Matthew Webber, Juho Kim, Lydia Chilton, Chen-Hsiang Yu, Tom Lieber, Mason Tang, David Huynh, Eirik Bakke, Max Van Kleek, Tsung-Hsiang Chang, Sangmok Han, Michael Bolin, and all those I have failed to mention. Many other researchers at CSAIL and elsewhere: Eunsuk Kang, Eugene Wu, Hubert Pham, Andrew Begel, Jeff Bigham, Joel Brandt, Elena Agapie—and all those I have still failed to mention. My academic advisor, Silvio Micali. And my master’s degree advisor at the Technion, Shmuel Katz. Other professors, lecturers, recitation instructors, teaching assistants, lab assis- tants, and teachers far too numerous to mention. Maria Rebelo and Sally Lee, administrative assistants. Jack Costanza, Anthony Zolnik, and the other members of The Infrastructure Group at CSAIL. Tayeb Karim, Jay Goldman, Adam Marcus, and Matti Klock, all instrumental in organizing user studies. The many people who participated in those studies. Yaron Binur, Anat Binur, Theodore Golfinopoulos, and other MEET staff and students too numerous to mention. Michael Ouellette. David Signoff, Michael Zhivich, Alex Hill, Lisa Messeri, and others. My parents Marianne and Jay, my sister Julie, and my family; Alice Reyzin. 5 This work was supported in part by the National Science Foundation under award numbers IIS-0447800 and SOCS-1111124, and by Quanta Computer as part of the T-Party Project. oDesk Research provided funding to hire contractors. Any opinions, findings, conclusions, or recommendations in this thesis are the author’s, and they do not necessarily reflect the views of the sponsors. 6 Contents 1 Introduction 17 1.1 Collabode: A Web IDE . 17 1.2 Error-Mediated Integration . 18 1.3 Models of Collaborative Programming . 19 1.4 Contributions . 20 1.4.1 A Web-Based Collaborative IDE . 20 1.4.2 Novel Applications . 21 1.5 Outline . 21 2 Related Work 23 2.1 Programming Methodologies . 23 2.1.1 Pair Programming . 23 2.1.2 Side-by-Side Programming . 25 2.1.3 Chief Programmer Teams . 25 2.2 Collaborative Editing . 26 2.3 Development Tools . 26 3 Collabode 29 3.1 Architecture . 30 3.2 IDE User Interface . 32 3.3 Error-Mediated Integration . 33 3.3.1 From One to Many . 34 3.3.2 Algorithm . 37 7 3.3.3 Merging and Transforming Edits . 39 3.3.4 Editing Edits . 40 3.3.5 Initial Conditions . 41 3.3.6 Limitations and Assumptions . 42 3.3.7 Implementation with Coordinate Maps . 43 3.3.8 User Interface . 45 3.4 Evaluation: Comparison to Manual Integration . 47 3.5 Evaluation: Side-by-Side Programming . 48 3.5.1 Procedure . 48 3.5.2 Does the Set of Un-Integrated Regions Remain Small? . 50 3.5.3 Is the Algorithm an Improvement Over Integrating Only Error- Free Code? . 51 3.5.4 Can Developers Work Concurrently? . 52 3.5.5 Feedback: Collaborative Coding . 53 3.5.6 Feedback: Automatic Integration . 54 3.5.7 Feedback: Missing Pieces . 55 3.6 Conclusion . 56 4 Classroom Programming 59 4.1 Inspiration . 60 4.2 6.005 Recitations . 61 4.2.1 Cloning . 62 4.2.2 Deployment . 62 4.2.3 To Each His Clone . 63 4.2.4 Show and Tell . 63 4.2.5 Collaboration . 64 4.3 Mobile Instructor . 65 4.4 Conclusion . 66 5 Test-Driven Pair Programming 67 5.1 Prototyping the Model . 68 8 5.1.1 Procedure . 68 5.1.2 Visualizing Programming Sessions . 70 5.1.3 Examining Cooperation . 71 5.1.4 Examining Modes . 75 5.1.5 Developer Feedback . 76 5.1.6 Design Implications . 78 5.2 Test Lifecycle . 78 5.3 User Interface . 79 5.4 Jacto: JUnit AspectJ Coverage Tool . 82 5.5 Formative Evaluation . 83 5.5.1 Procedure . 83 5.5.2 Programming . 84 5.5.3 Developer Feedback . 85 5.6 Conclusion . 87 6 µoutsourcing 89 6.1 Prototyping the Model . 89 6.1.1 Laziness, Impatience, and Hubris . 90 6.1.2 Breadth and Depth . 91 6.1.3 Integrating Work . 92 6.2 User Interface . 92 6.3 Instawork . 94 6.4 User Study . 96 6.4.1 Crowd Programmers . 96 6.4.2 Original Programmers . 98 6.4.3 Procedure . 98 6.4.4 Outsourced Work . 100 6.4.5 Specifying Tasks . 104 6.4.6 Work in Progress . 107 6.4.7 Management and Communication . 109 9 6.4.8 Task Results . 112 6.4.9 Prospects for µoutsourcing . 114 6.4.10 Design Implications . 118 6.5 Conclusion . 119 7 Future Work 121 7.1 Collaborative Real-Time Software Development . 121 7.2 Error-Mediated Integration . 122 7.3 Models of Collaborative Programming . 123 7.4 Changing the Game . 124 8 Conclusion 127 10 List of Figures 1-1 The Collabode web-based IDE for Java allows multiple programmers to work together on the same code. The top window shows three programmers editing HelloWorld.java on the right, with feedback from unit tests on the left. In the bottom window is console output from running the program. 18 3-1 The Collabode web-based IDE allows multiple programmers to work together using a familiar interface and tooling. 30 3-2 High-level overview of the Collabode server-side system architecture. Highlighted components are original development. EtherPad was heav- ily modified. Other components are frameworks. 31 3-3 Alice and Bob are working concurrently to define methods a and b. (a) The view copy contains all of their changes, shown here from Bob’s perspective: his un-integrated change is in yellow, with an outgoing arrow; Alice’s is in gray, with an incoming arrow. (b) Alice’s working copy and (c) Bob’s working copy contain only their own changes. (d) The master copy does not reflect their work-in-progress, since both of their changes still contain errors. 36 3-4 After Alice and Bob finish defining methods a and b, the view copy, both working copies, and the master copy will all contain the same, error-free code. 37 11 3-5 Alice is working on method a while Bob has completed b. (a) The view copy contains all of their changes, shown here from Bob’s per- spective: Alice’s un-integrated change is in gray. (b) Alice’s working copy contains Bob’s completed code in addition to her own, but (c) Bob’s working copy does not contain Alice’s work-in-progress. (d) The master copy contains Bob’s completed error-free code. 39 3-6 Bob has made an edit to Alice’s in-progress work on method a. The edit is merged with Alice’s, so (a) the view copy from Bob’s perspective shows the entire in-progress method in gray.
Recommended publications
  • Short-Format Workshops Build Skills and Confidence for Researchers to Work with Data
    Paper ID #23855 Short-format Workshops Build Skills and Confidence for Researchers to Work with Data Kari L. Jordan Ph.D., The Carpentries Dr. Kari L. Jordan is the Director of Assessment and Community Equity for The Carpentries, a non-profit that develops and teaches core data science skills for researchers. Marianne Corvellec, Institute for Globally Distributed Open Research and Education (IGDORE) Marianne Corvellec has worked in industry as a data scientist and a software developer since 2013. Since then, she has also been involved with the Carpentries, pursuing interests in community outreach, educa- tion, and assessment. She holds a PhD in statistical physics from Ecole´ Normale Superieure´ de Lyon, France (2012). Elizabeth D. Wickes, University of Illinois at Urbana-Champaign Elizabeth Wickes is a Lecturer at the School of Information Sciences at the University of Illinois, where she teaches foundational programming and information technology courses. She was previously a Data Curation Specialist for the Research Data Service at the University Library of the University of Illinois, and the Curation Manager for WolframjAlpha. She currently co-organizes the Champaign-Urbana Python user group, has been a Carpentries instructor since 2015 and trainer since 2017, and elected member of The Carpentries’ Executive Council for 2018. Dr. Naupaka B. Zimmerman, University of San Francisco Mr. Jonah M. Duckles, Software Carpentry Jonah Duckles works to accelerate data-driven inquiry by catalyzing digital skills and building organiza- tional capacity. As a part of the leadership team, he helped to grow Software and Data Carpentry into a financially sustainable non-profit with a robust organization membership in 10 countries.
    [Show full text]
  • Operational Transformation in Co-Operative Editing
    INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 5, ISSUE 01, JANUARY 2016 ISSN 2277-8616 Operational Transformation In Co-Operative Editing Mandeep Kaur, Manpreet Singh, Harneet Kaur, Simran Kaur ABSTRACT: Cooperative Editing Systems in real-time allows a virtual team to view and edit a shared document at the same time. The document shared must be synchronized in order to ensure consistency for all the participants. This paper describes the Operational Transformation, the evolution of its techniques, its various applications, major issues, and achievements. In addition, this paper will present working of a platform where two users can edit a code (programming file) at the same time. Index Terms: CodeMirror, code sharing, consistency maintenance, Google Wave, Google Docs, group editors, operational transformation, real-time editing, Web Sockets ———————————————————— 1 INTRODUCTION 1.1 MAIN ISSUES RELATED TO REAL TIME CO- Collaborative editing enables portable professionals to OPERATIVE EDITING share and edit same documents at the same time. Elementally, it is based on operational transformation, that Three inconsistency problems is, it regulates the order of operations according to the Divergence: Contents at all sites in the final document transformed execution order. The idea is to transform are different. received update operation before its execution on a replica Causality-violation: Execution order is different from the of the object. Operational Transformation consists of a cause-effect order. centralized/decentralized integration procedure and a transformation function. Collaborative writing can be E.g., O1 → O3 defined as making changes to one document by a number of persons. The writing can be organized into sub-tasks Intention-violation: The actual effect is different from the assigned to each group member, with the latter part of the intended effect.
    [Show full text]
  • Lock-Free Collaboration Support for Cloud Storage Services With
    Lock-Free Collaboration Support for Cloud Storage Services with Operation Inference and Transformation Jian Chen, Minghao Zhao, and Zhenhua Li, Tsinghua University; Ennan Zhai, Alibaba Group Inc.; Feng Qian, University of Minnesota - Twin Cities; Hongyi Chen, Tsinghua University; Yunhao Liu, Michigan State University & Tsinghua University; Tianyin Xu, University of Illinois Urbana-Champaign https://www.usenix.org/conference/fast20/presentation/chen This paper is included in the Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST ’20) February 25–27, 2020 • Santa Clara, CA, USA 978-1-939133-12-0 Open access to the Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST ’20) is sponsored by Lock-Free Collaboration Support for Cloud Storage Services with Operation Inference and Transformation ⇤ 1 1 1 2 Jian Chen ⇤, Minghao Zhao ⇤, Zhenhua Li , Ennan Zhai Feng Qian3, Hongyi Chen1, Yunhao Liu1,4, Tianyin Xu5 1Tsinghua University, 2Alibaba Group, 3University of Minnesota, 4Michigan State University, 5UIUC Abstract Pattern 1: Losing updates Alice is editing a file. Suddenly, her file is overwritten All studied This paper studies how today’s cloud storage services support by a new version from her collaborator, Bob. Sometimes, cloud storage collaborative file editing. As a tradeoff for transparency/user- Alice can even lose her edits on the older version. services friendliness, they do not ask collaborators to use version con- Pattern 2: Conflicts despite coordination trol systems but instead implement their own heuristics for Alice coordinates her edits with Bob through emails to All studied handling conflicts, which however often lead to unexpected avoid conflicts by enforcing a sequential order.
    [Show full text]
  • Linfield College, Computer Science Department COMP 161: Basic Programming Syllabus Spring 2015 Prof
    Linfield College, Computer Science Department COMP 161: Basic Programming Syllabus Spring 2015 Prof. Daniel Ford COURSE DESCRIPTION: Introduces the basic concepts of programming: reading and writing unambiguous descriptions of sequential processes. Emphasizes introductory algorithmic strategies and corresponding structures. (QR). COMP 160 is required for a major in electronic arts and is a prerequisite for COMP 161 and all other required courses for a major or minor in computer science. Extensive hands-on experience with programming projects. Lecture/discussion, lab. PREREQUISITES: Prerequisite: COMP 160. CREDITS: 3 LECTURES: Renshaw 211 Section 1: MWF 2:00 – 2:50 PM WORKSHOPS: Renshaw 211 Workshop: Mondays and Wednesday, 8—9 PM Additional help and tutoring is available by request and through the learning center. PROFESSOR: Daniel Ford Office: Renshaw 210 Phone: x2706 E-mail: [email protected] Office Hours: MWF 10:30—11:30 AM, TTh 2:00—3:00 PM, and by appointment. RECOMMENDED BOOKS: § Cay S. Horstmann, Big Java, http://www.horstmann.com/bigjava.html. Recommended for COMP 160 & 161. Wiley 5th Edition (2012 Early Objects) ~ $90, 4th Edition, 3rd Edition, …, 2nd Edition (2005) ~ $10. § Y. Daniel Liang, Introduction to Java Programming, Comprehensive Version, http://cs.armstrong.edu/liang/intro9e/. Recommended for COMP 160 & 161. Faster, more advanced, but with fewer tips than Big Java. 9th Edition (2012) ~ $90, 8th Edition, …, 6th Edition (2006) ~$10. § Cay S. Horstmann & Gary Cornell, Core Java™, Volume I – Fundamentals and Volume II – Advanced Features (9th Edition), 2012 http://www.horstmann.com/corejava.html. The best reference manuals for Java. Recommended for CS majors and professional Java programmers.
    [Show full text]
  • Link IDE : a Real Time Collaborative Development Environment
    San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 2012 Link IDE : A Real Time Collaborative Development Environment Kevin Grant San Jose State University Follow this and additional works at: https://scholarworks.sjsu.edu/etd_projects Part of the Computer Sciences Commons Recommended Citation Grant, Kevin, "Link IDE : A Real Time Collaborative Development Environment" (2012). Master's Projects. 227. DOI: https://doi.org/10.31979/etd.rqpj-pj3k https://scholarworks.sjsu.edu/etd_projects/227 This Master's Project is brought to you for free and open access by the Master's Theses and Graduate Research at SJSU ScholarWorks. It has been accepted for inclusion in Master's Projects by an authorized administrator of SJSU ScholarWorks. For more information, please contact [email protected]. Link IDE : A Real Time Collaborative Development Environment A Project Report Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by Kevin Grant May 2012 1 © 2012 Kevin Grant ALL RIGHTS RESERVED 2 SAN JOSE STATE UNIVERSITY The Undersigned Project Committee Approves the Project Titled Link : A Real Time Collaborative Development Environment by Kevin Grant APPROVED FOR THE DEPARTMENT OF COMPUTER SCIENCE SAN JOSÉ STATE UNIVERSITY May 2012 ------------------------------------------------------------------------------------------------------------ Dr. Soon Tee Teoh, Department
    [Show full text]
  • Re-Engineering Apache Wave Into a General-Purpose Federated & Collaborative Platform
    Awakening Decentralised Real-time Collaboration: Re-engineering Apache Wave into a General-purpose Federated & Collaborative Platform Pablo Ojanguren-Menendez, Antonio Tenorio-Forn´es,and Samer Hassan GRASIA: Grupo de Agentes Software, Ingenier´ıay Aplicaciones, Departamento de Ingenier´ıadel Software e Inteligencia Artificial, Universidad Complutense de Madrid, Madrid, 28040, Spain fpablojan, antonio.tenorio, [email protected] Abstract. Real-time collaboration is being offered by plenty of libraries and APIs (Google Drive Real-time API, Microsoft Real-Time Commu- nications API, TogetherJS, ShareJS), rapidly becoming a mainstream option for web-services developers. However, they are offered as cen- tralised services running in a single server, regardless if they are free/open source or proprietary software. After re-engineering Apache Wave (for- mer Google Wave), we can now provide the first decentralised and fed- erated free/open source alternative. The new API allows to develop new real-time collaborative web applications in both JavaScript and Java en- vironments. Keywords: Apache Wave, API, Collaborative Edition, Federation, Op- erational Transformation, Real-time 1 Introduction Since the early 2000s, with the release and growth of Wikipedia, collaborative text editing increasingly gained relevance in the Web [1]. Writing texts in a collaborative manner implies multiple issues, especially those concerning the management and resolution of conflicting changes: those performed by different participants over the same part of the document. These are usually handled with asynchronous techniques as in version control systems for software development [2] (e.g. SVN, GIT), resembled by the popular wikis. However, some synchronous services for collaborative text editing have arisen during the past decade.
    [Show full text]
  • Technology Integration in Schools
    TECHNOLOGY INTEGRATION IN SCHOOLS Compiled by Elizabeth Greef, November 2015 This is a broad topic and may take many forms. CONTENTS Technology and teaching Technology and research App evaluation Online resources – Web tools and apps Digital tools by theme or purpose: Academic repositories Animation Audio recording Blogging platforms Brainstorming/mindmapping/planning Coding and computer programming Collaborative note-taking Comics and cartoons creation Communication and social media apps Content curation for teachers Content sharing Critical and creative thinking Digital publishing Digital storytelling Flyers, posters, newsletters Google tips Image editing and drawing Image searching Infographics Inquiry-based learning Maps Moviemaking Online citation generators Online classroom environments Other tools Personal information management Presentations QR codes Questioning Reading Reference apps Screen capturing Search engines Surveys and polls Teacher tools Timelines Video sharing Wordclouds BYOD links Of course, apps are just tools. It is important to keep in mind the 21st century skills students require and how the landscape of learning is changing. For thoughts on this, see the clips, broader conceptual links and samples in the Technology and teaching section. It may be that your school is considering a BYOD (bring your own device) approach – look at the BYOD links. If you are creating a digital literacy scope and sequence, look at the item Creating and information and/or digital literacy scope and sequence in the IASL PD Library. You may be evaluating apps to include and recommend for students in which case App evaluation forms and the app lists may be of most use. Ask similar schools for recommended apps, search yourself for recent well-regarded apps and look at the lists below.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria Revision 1.0
    Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Revision 1.0 Rana Naim∗ Mohammad Fahim Nizam† Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Sheetal Hanamasagar‡ Jalal Noureddine§ Concordia University Montreal, Concordia University Montreal, Quebec, Canada Quebec, Canada [email protected] [email protected] Marinela Miladinova¶ Concordia University Montreal, Quebec, Canada [email protected] Abstract This is a survey on the programming languages: C++, JavaScript, AspectJ, C#, Haskell, Java, PHP, Scala, Scheme, and BPEL. Our survey work involves a comparative study of these ten programming languages with respect to the following criteria: secure programming practices, web application development, web service composition, OOP-based abstractions, reflection, aspect orientation, functional programming, declarative programming, batch scripting, and UI prototyping. We study these languages in the context of the above mentioned criteria and the level of support they provide for each one of them. Keywords: programming languages, programming paradigms, language features, language design and implementation 1 Introduction Choosing the best language that would satisfy all requirements for the given problem domain can be a difficult task. Some languages are better suited for specific applications than others. In order to select the proper one for the specific problem domain, one has to know what features it provides to support the requirements. Different languages support different paradigms, provide different abstractions, and have different levels of expressive power. Some are better suited to express algorithms and others are targeting the non-technical users. The question is then what is the best tool for a particular problem.
    [Show full text]
  • Technical Workflows and Tools for Experimental Publishing
    COPIM • Books Contain Multitudes: Exploring Experimental Publishing Part 3: Technical Workows and Tools for Experimental Publishing Marcell Mars, Tobias Steiner, Janneke Adema Published on: Jan 29, 2021 DOI: 10.21428/785a6451.174760b2 License: Creative Commons Attribution 4.0 International License (CC-BY 4.0) COPIM • Books Contain Multitudes: Exploring Experimental Publishing Part 3: Technical Workows and Tools for Experimental Publishing For this third part of the scoping report, we will be looking at the technical developments around experimental book publishing. We will be doing so in a three-fold manner in the next three sections. First, instead of conducting a landscape study ourselves, we will be reviewing a number of studies and resources that have recently been released and that have tried to categorise, analyse, and map the open source publishing tools and platforms currently available to support open access (book) publishing. Our focus in this analysis will predominantly be on those tools and technologies that can support the kinds of experimental publications that we have identified in the first two parts of this scoping report. Secondly, in section 2, we will outline a proposed methodology to analyse and categorise the currently available tools and technologies to support the creation of an online resource for publishers and authors in year 3 of the COPIM project. This online resource will include the technological support and workflows available to enable more experimental forms of book publishing, whilst showcasing examples and best practices for different levels of technical know-how. Thirdly, in section 3, we will make an initial attempt at categorising a selection of tools following this proposed methodology, where we will be focusing on collaborative writing tools and on annotation tools —and the software, platforms, and workflows that support these—in first instance.
    [Show full text]
  • Modellierung2018-Konferenzband.Pdf
    Ina Schaefer, Dimitris Karagiannis, Andreas Vogelsang, Daniel Méndez, Christoph Seidl (Hrsg.) Modellierung 2018 21.02.2018 – 23.02.2018 Braunschweig, Deutschland Gesellschaft für Informatik e.V. (GI) Lecture Notes in Informatics (LNI) - Proceedings Series of the Gesellschaft für Informatik (GI) Volume P-280 ISBN 978-3-88579-674-9 ISSN 1617-5468 Volume Editors Prof. Dr.-Ing. Ina Schaefer TU Braunschweig Mühlenpfordtstr. 23, 38106 Braunschweig [email protected] o. Univ.-Prof. Dr. Dimitris Karagiannis Universität Wien Währinger Straße 29, 1090 Wien [email protected] Series Editorial Board Heinrich C. Mayr, Alpen-Adria-Universität Klagenfurt, Austria (Chairman, [email protected]) Torsten Brinda, Universität Duisburg-Essen, Germany Dieter Fellner, Technische Universität Darmstadt, Germany Ulrich Flegel, Infineon, Germany Ulrich Frank, Universität Duisburg-Essen, Germany Michael Goedicke, Universität Duisburg-Essen, Germany Ralf Hofestädt, Universität Bielefeld, Germany Wolfgang Karl, KIT Karlsruhe, Germany Michael Koch, Universität der Bundeswehr München, Germany Thomas Roth-Berghofer, University of West London, Great Britain Peter Sanders, Karlsruher Institut für Technologie (KIT), Germany Andreas Thor, HFT Leipzig, Germany Ingo Timm, Universität Trier, Germany Karin Vosseberg, Hochschule Bremerhaven, Germany Maria Wimmer, Universität Koblenz-Landau, Germany Dissertations Steffen Hölldobler, Technische Universität Dresden, Germany Thematics Andreas Oberweis, Karlsruher Institut für Technologie (KIT), Germany Gesellschaft für Informatik, Bonn 2018 printed by Köllen Druck+Verlag GmbH, Bonn This book is licensed under a Creative Commons BY-SA 4.0 licence. Vorwort Die derzeit im zweijährigen Rhythmus stattfindende Fachtagung „Modellierung“ ist eine Plattform zur inhaltlichen Diskussion für eine große Anzahl von Fachgruppen in der Gesellschaft für Informatik (GI), die sich mit unterschiedlichsten Perspektiven des Themas Modellierung beschäftigen.
    [Show full text]
  • A Conflict-Free Replicated JSON Datatype
    1 A Conflict-Free Replicated JSON Datatype Martin Kleppmann and Alastair R. Beresford Abstract—Many applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption. Index Terms—CRDTs, Collaborative Editing, P2P, JSON, Optimistic Replication, Operational Semantics, Eventual Consistency. F 1 INTRODUCTION SERS of mobile devices, such as smartphones, expect plications can resolve any remaining conflicts through pro- U applications to continue working while the device is grammatic means, or via further user input. We expect that offline or has poor network connectivity, and to synchronize implementations of this datatype will drastically simplify its state with the user’s other devices when the network is the development of collaborative and state-synchronizing available.
    [Show full text]
  • Analyzing the Suitability of Web Applications for a Single-User to Multi-User Transformation
    Analyzing the Suitability of Web Applications for a Single-User to Multi-User Transformation Matthias Heinrich Franz Lehmann Franz Josef Grüneberger SAP AG SAP AG SAP AG [email protected] [email protected] [email protected] Thomas Springer Martin Gaedke Dresden University of Chemnitz University of Technology Technology thomas.springer@tu- [email protected] dresden.de chemnitz.de ABSTRACT 1. INTRODUCTION Multi-user web applications like Google Docs or Etherpad According to McKinsey’s report“The Social Economy”[6], are crucial to efficiently support collaborative work (e.g. the use of social communication and collaboration technolo- jointly create texts, graphics, or presentations). Neverthe- gies within and across enterprises can unlock up to $860 less, enhancing single-user web applications with multi-user billion in annual savings. Collaborative web applications capabilities (i.e. document synchronization and conflict res- represent an essential class from the group of collaboration olution) is a time-consuming and intricate task since tra- technologies that allow multiple users to edit the very same ditional approaches adopting concurrency control libraries document simultaneously. In contrast to single-user appli- (e.g. Apache Wave) require numerous scattered source code cations (e.g. Microsoft Word) which have to rely on tra- changes. Therefore, we devised the Generic Collaboration ditional document merging or document locking techniques Infrastructure (GCI) [8] that is capable of converting single- in collaboration scenarios, shared editing solutions such as user web applications non-invasively into collaborative ones, Google Docs or Etherpad improve collaboration efficiency i.e. no source code changes are required. In this paper, due to their advanced multi-user capabilities including real- we present a catalog of vital application properties that al- time document synchronization and automatic conflict res- lows determining if a web application is suitable for a GCI olution.
    [Show full text]