We present a design and implementation of an in-memory object graph datastore, dubbed ϵStore. Our key innovation is a storage model–epsilon storage–that equates an object on the heap to a node in a graph datastore. Thus any object on the heap (without changes) can be a part of one, or multiple, graph datastores, and vice versa, any node in a graph datastore can be accessed like any other object on the heap. Specifically, each node in a graph is an object (i.e., instance of a class), and its properties and its edges are the primitive and reference fields declared in its class, respectively. Necessary classes, which are instantiated to represent nodes, are created dynamically by ϵStore. ϵStore uses a subset of the Cypher query language to query the graph datastore. By design, the result of any query is a table (ResultSet) of references to objects on the heap, which users can manipulate the same way as any other object on the heap in their programs. Moreover, a developer can include (transitively) an arbitrary object to become a part of a graph datastore. Finally, ϵStore introduces compile-time rewriting of Cypher queries into imperative code to improve the runtime performance. ϵStore can be used for a number of tasks including implementing methods for complex in-memory structures, writing complex assertions, or a stripped down version of a graph database that can conveniently be used during testing. We implement ϵStore in Java and show its application using the aforementioned tasks.
Mon 30 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:15 - 17:39 | Object-Oriented and Dynamic SystemsTechnical Papers at Auditorium M003 Chair(s): Sebastian Erdweg JGU Mainz | ||
16:15 21mTalk | Declarative Dynamic Object Reclassification Technical Papers Riccardo Sieve University of Oslo, Eduard Kamburjan IT University of Copenhagen, Ferruccio Damiani University of Turin, Einar Broch Johnsen University of Oslo | ||
16:36 21mTalk | In-memory Object Graph StoresRemote Technical Papers Aditya Thimmaiah The University of Texas at Austin, Zijian Yi The University of Texas at Austin, Joseph Kenis The University of Texas at Austin, Chris Rossbach University of Texas at Austin; Katana Graph, Milos Gligoric The University of Texas at Austin | ||
16:57 21mTalk | Spegion: Implicit and Non-Lexical Regions with Sized Allocations Technical Papers | ||
17:18 21mTalk | Type-safe and portable support for packed data Technical Papers |