Preserving Access to Previous System States in the Lively Kernel

Thamsen, L., Steinert, B. and Hirschfeld, R. (2016) Preserving Access to Previous System States in the Lively Kernel. In: Plattner, H., Meinel, C. and Leifer, L. (eds.) Design Thinking Research: Making Design Thinking Foundational. Series: Understanding Innovation. Springer: Cham, pp. 235-264. ISBN 9783319196404 (doi: 10.1007/978-3-319-19641-1_15)

[img] Text
268128.pdf - Accepted Version



In programming systems such as the Lively Kernel, programmers construct applications from objects. Dedicated tools make it possible to manipulate the state and behavior of objects at runtime. Programmers are encouraged to make changes directly and receive immediate feedback on their actions. However, when programmers make mistakes in such programming systems, they need to undo the effects of their actions. Programmers either have to edit objects manually or reload parts of their applications. Moreover, changes can spread across many objects. As a result, recovering previous states is often error-prone and time-consuming. This report presents an approach to object versioning for systems like the Lively Kernel. Access to previous versions of objects is preserved using version-aware references. These references can be resolved to multiple versions of objects and, thereby, allow reestablishing preserved states of the system. We present a design based on proxies and an implementation in JavaScript.

Item Type:Book Sections
Glasgow Author(s) Enlighten ID:Thamsen, Dr Lauritz
Authors: Thamsen, L., Steinert, B., and Hirschfeld, R.
College/School:College of Science and Engineering > School of Computing Science
Copyright Holders:Copyright © Springer International Publishing Switzerland 2016
Publisher Policy:Reproduced in accordance with the publisher copyright policy
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record