skip to main content
10.1145/3210284.3219499acmconferencesArticle/Chapter ViewAbstractPublication PagesdebsConference Proceedingsconference-collections
short-paper

Towards Time Travel in Distributed Event-sourced Systems

Published:25 June 2018Publication History

ABSTRACT

Stateful applications are based on the state they hold and how it changes over time. This history of state changes is usually discarded as the application progresses. By building on concepts from event processing and storing the application history we envision a novel programming paradigm that supports retroaction. Retroactive computing introduces new opportunities for a developer to access and even modify an application timeline. By enabling the exploration of alternative scenarios, retroactive computing establishes powerful new ways to debug systems and introduces new approaches to solve problems. Initial work has shown the practicality and possibilities of this new programming paradigm and introduces further research questions and challenges.

References

  1. Paulo Sérgio Almeida, Carlos Baquero, and Victor Fonte. 2008. Interval Tree Clocks. In Principles of Distributed Systems, Theodore P. Baker, Alain Bui, and Sébastien Tixeuil (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 259--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Erik D. Demaine, John Iacono, and Stefan Langerman. 2007. Retroactive Data Structures. ACM Trans. Algorithms 3, 2, Article 13 (May 2007), 20 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. James R. Driscoll, Neil Sarnak, Daniel D. Sleator, and Robert E. Tarjan. 1989. Making data structures persistent. J. Comput. System Sci. 38, 1 (1989), 86 -- 124. http://www.sciencedirect.com/science/article/pii/0022000089900342 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Benjamin Erb, Gerhard Habiger, and Franz J. Hauck. 2016. On the Potential of Event Sourcing for Retroactive Actor-based Programming. In First Workshop on Programming Models and Languages for Distributed Computing. ACM, New York, NY, USA, Article 4, 5 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Martin Fowler. 2005. Event Sourcing. http://martinfowler.com/eaaDev/EventSourcing.html. (Dec. 2005). Accessed: 2018-02-19.Google ScholarGoogle Scholar
  6. Michael P Frank. 2017. Throwing computing into reverse. IEEE Spectrum 54, 9 (2017), 32--37.Google ScholarGoogle ScholarCross RefCross Ref
  7. Friedemann Mattern. 1989. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms. North-Holland, 215--226.Google ScholarGoogle Scholar
  8. Dominik Meißner, Benjamin Erb, Frank Kargl, and Matthias Tichy. 2018. Retro-λ: An Event-sourced Platform for Serverless Applications with Retroactive Computing Support. In Proceedings of the 12th ACM International Conference on Distributed and Event-based Systems. ACM, New York, NY, USA, 12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Luc Moreau, Paul Groth, Simon Miles, Javier Vazquez-Salceda, John Ibbotson, Sheng Jiang, Steve Munroe, Omer Rana, Andreas Schreiber, Victor Tan, and Laszlo Varga. 2008. The Provenance of Electronic Data. Commun. ACM 51, 4 (April 2008), 52--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Pothier and É. Tanter. 2009. Back to the Future: Omniscient Debugging. IEEE Software 26, 6 (Nov 2009), 78--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robin Salkeld and Ronald Garcia. 2015. Essential Retroactive Weaving. In Companion Proceedings of the 14th International Conference on Modularity. ACM, New York, NY, USA, 52--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Robin Salkeld, Wenhao Xu, Brendan Cully, Geoffrey Lefebvre, Andrew Warfield, and Gregor Kiczales. 2011. Retroactive Aspects: Programming in the Past. In Proceedings of the Ninth International Workshop on Dynamic Analysis. ACM, New York, NY, USA, 29--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Tetsuo Yokoyama, Holger Bock Axelsen, and Robert Glück. 2008. Principles of a Reversible Programming Language. In Proceedings of the 5th Conference on Computing Frontiers. ACM, New York, NY, USA, 43--54. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards Time Travel in Distributed Event-sourced Systems

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          DEBS '18: Proceedings of the 12th ACM International Conference on Distributed and Event-based Systems
          June 2018
          289 pages
          ISBN:9781450357821
          DOI:10.1145/3210284

          Copyright © 2018 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 25 June 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • short-paper
          • Research
          • Refereed limited

          Acceptance Rates

          DEBS '18 Paper Acceptance Rate12of31submissions,39%Overall Acceptance Rate130of553submissions,24%

          Upcoming Conference

          DEBS '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader