skip to main content
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
Skip Abstract Section

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

    Full Access

    • Published in

      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
      • 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

      Copyright © 2014 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 14 October 2014

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!