skip to main content
10.1145/2661088.2661093acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Object versioning to support recovery needs: using proxies to preserve previous development states in lively

Authors Info & Claims
Published:14 October 2014Publication History

ABSTRACT

We present object versioning as a generic approach to preserve access to previous development and application states. Version-aware references can manage the modifications made to the target object and record versions as desired. Such references can be provided without modifications to the virtual machine. We used proxies to implement the proposed concepts and demonstrate the Lively Kernel running on top of this object versioning layer. This enables Lively users to undo the effects of direct manipulation and other programming actions.

References

  1. T. Cutsem and M. S. Miller. Trustworthy Proxies: Virtualizing Objects with Invariants. In Proceedings of the 27th European Conference on Object-Oriented Programming, ECOOP '13, pages 154--178. Springer, July 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Denker, T. Gırba, A. Lienhard, O. Nierstrasz, L. Renggli, and P. Zumkehr. Encapsulating and Exploiting Change with Changeboxes. In Proceedings of the 2007 International Conference on Dynamic Languages, ICDL '07, pages 25--49. ACM, August 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Ingalls, S. Wallace, Y.-Y. Chow, F. Ludolph, and K. Doyle. Fabrik: A Visual Programming Environment. In Conference Proceedings on Object-oriented Programming Systems, Languages and Applications, OOPSLA '88, pages 176--190. ACM, January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself. In Proceedings of the 12th ACM SIGPLAN Conference on Object-oriented Programming Systems, Languages and Applications, OOPSLA '97, pages 318--326. ACM, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Ingalls, K. Palacz, S. Uhler, A. Taivalsaari, and T. Mikkonen. The Lively Kernel--A Self-supporting System on a Web Page. In Self-Sustaining Systems, S3, pages 31--50. Springer, May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Kay. Squeak Etoys Authoring and Media. Technical report, Viewpoints Research Institute, February 2005. URL http://www.vpri.org/pdf/rn2005002_authoring.pdf. Published February 2005. Available at http://www.vpri.org/pdf/rn2005002_authoring.pdf. Accessed March 7, 2014.Google ScholarGoogle Scholar
  7. B. Lewis. Debugging Backwards in Time. In Proceedings of the Fifth International Workshop on Automated Debugging, AADEBUG'03, pages 225--235. Springer, September 2003.Google ScholarGoogle Scholar
  8. a, and Nierstrasz}Lienhard2008POBA. Lienhard, T. Gırba, and O. Nierstrasz. Practical Object-Oriented Back-in-Time Debugging. In Proceedings of the 22Nd European Conference on Object-Oriented Programming, ECOOP '08, pages 592--615. Springer, July 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. r, and Hirschfeld}Lincke2012LPCJ. Lincke, R. Krahn, D. Ingalls, M. Röder, and R. Hirschfeld. The Lively PartsBin--A Cloud-Based Repository for Collaborative Development of Active Web Content. In Proceedings of the 2012 45th Hawaii International Conference on System Sciences, HICSS '12, pages 693--701. IEEE, January 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Maloney, M. Resnick, N. Rusk, B. Silverman, and E. Eastmond. The Scratch Programming Language and Environment. Transactions on Computing Education, 10 (4): 16:1--16:15, November 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. H. Maloney and R. B. Smith. Directness and Liveness in the Morphic User Interface Construction Environment. In Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology, UIST '95, pages 21--28. ACM, December 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Pluquet, S. Langerman, and R. Wuyts. Executing Code in the Past: Efficient In-memory Object Graph Versioning. In Proceedings of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '09, pages 391--408. ACM, October 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. N. Shavit and D. Touitou. Software Transactional Memory. In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, PODC '95, pages 204--213. ACM, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Steinert, D. Cassou, and R. Hirschfeld. CoExist: Overcoming Aversion to Change. In Proceedings of the 8th Symposium on Dynamic Languages, DLS '12, pages 107--118. ACM, January 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. Van Cutsem and M. S. Miller. Proxies: Design Principles for Robust Object-oriented Intercession APIs. SIGPLAN Notices, 45 (12): 59--72, October 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. Warth, Y. Ohshima, T. Kaehler, and A. Kay. Worlds: Controlling the Scope of Side Effects. In Proceedings of the 25th European Conference on Object-oriented Programming, ECOOP'11, pages 179--203. Springer, July 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. Wernli, O. Nierstrasz, C. Teruel, and S. Ducasse. Delegation proxies: the power of propagation. In Proceedings of the of the 13th international conference on Modularity, pages 1--12. ACM, 2014. 10.1145/2577080.2577081. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Object versioning to support recovery needs: using proxies to preserve previous development states in lively

    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
      DLS '14: Proceedings of the 10th ACM Symposium on Dynamic languages
      October 2014
      160 pages
      ISBN:9781450332118
      DOI:10.1145/2661088
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 50, Issue 2
        DLS '14
        February 2015
        146 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2775052
        • Editor:
        • Andy Gill
        Issue’s Table of Contents

      Copyright © 2014 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: 14 October 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      DLS '14 Paper Acceptance Rate13of28submissions,46%Overall Acceptance Rate32of77submissions,42%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader