Implementing Partial Persistence in Object-Oriented Languages

被引:0
|
作者
Pluquet, Frederic [1 ]
Langerman, Stefan [1 ]
Marot, Antoine [1 ]
Wuyts, Roel [2 ]
机构
[1] Univ Libre Bruxelles, Brussels, Belgium
[2] Imec & KULeuven, Leuven, Belgium
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
A partially persistent data structure is a data structure which preserves previous versions of itself when it is modified. General;theoretical schemes are known (e.g. the fat node method) for making any data structure partially persistent. To our knowledge however no general implementation of these theoretical methods exists to date. This paper evaluates different methods to achieve this goal and presents the first working implementation. of partial persistence in the object-oriented language Java. Our approach is transparent, i.e., it allows any existing data structures to become persistent without changing its implementation where all previous solutions require an extensive modification of the code by hand. This transparent property is important in view of the large number of algorithmic results that rely on persistence. Our implementation uses aspect-oriented programming, a modularization technique which allows us to instrument the existing code with the needed hooks for the persistence implementation. The implementation is them validated by running benchmarks to analyze both the cost of persistence and of the aspect oriented approach. We also illustrate its applicability by implementing a random binary search tree and making it persistent, and then using the resulting structure to implement a point location data structure in just a few lines.
引用
收藏
页码:37 / +
页数:4
相关论文
共 50 条
  • [31] TEACHING OBJECT-ORIENTED PROGRAMMING IS MORE THAN TEACHING OBJECT-ORIENTED PROGRAMMING-LANGUAGES
    KNUDSEN, JL
    MADSEN, OL
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 322 : 21 - 40
  • [32] A PRACTICAL COMPARISON OF 2 OBJECT-ORIENTED LANGUAGES
    WOLF, W
    IEEE SOFTWARE, 1989, 6 (05) : 61 - 68
  • [33] Current research on object-oriented programming languages
    Mei, Hong
    Wang, Lifu
    Yang, Fuqing
    Tien Tzu Hsueh Pao/Acta Electronica Sinica, 1995, 23 (10): : 50 - 56
  • [34] Vortex: An optimizing compiler for object-oriented languages
    Dean, J
    DeFouw, G
    Grove, D
    Litvinov, V
    Chambers, C
    ACM SIGPLAN NOTICES, 1996, 31 (10) : 83 - 100
  • [35] Type systems of object-oriented programming languages
    Li, Xiaoyan
    Li, Bin
    Xiaoxing Weixing Jisuanji Xitong/Mini-Micro Systems, 2000, 21 (06): : 650 - 652
  • [36] Semantic Subtyping for Imperative Object-Oriented Languages
    Ancona, Davide
    Corradi, Andrea
    ACM SIGPLAN NOTICES, 2016, 51 (10) : 568 - 587
  • [37] Adaptability of distribution protocols in object-oriented languages
    Sánchez, F.
    Rodríguez, R.
    Murillo, J.M.
    Hernández, J.
    2001, Ada Language UK Ltd. (22):
  • [38] ASSURING TYPE SAFETY OF OBJECT-ORIENTED LANGUAGES
    COENPORISINI, A
    LAVAZZA, L
    ZICARI, R
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1994, 6 (09): : 25 - 30
  • [39] STRONG TYPING OF OBJECT-ORIENTED LANGUAGES REVISITED
    MADSEN, OL
    MAGNUSSON, B
    MOLLERPEDERSEN, B
    SIGPLAN NOTICES, 1990, 25 (10): : 140 - 150
  • [40] OBJECT-ORIENTED QUERY LANGUAGES - THE NOTION AND THE ISSUES
    BERTINO, E
    NEGRI, M
    PELAGATTI, G
    SBATTELLA, L
    IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 1992, 4 (03) : 223 - 237