Skip to main content

Design and application of a light-weight persistency mechanism

  • Conference paper
  • First Online:
  • 115 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1179))

Abstract

LIPS (LInear Persistency Stream), a concise, generic and efficient C++ persistency mechanism is presented. It is used in the CASTLE HW/SW codesign system to partition a single large compiler into multiple small communicating programs. With very few source code changes LIPS easily adds persistency at any class hierarchy level. It supports static members, templates, manual optimization and automatic error diagnosis. A comparison to other approaches shows that programs using LIPS require 70% less code, 7% less runtime and 7% less disk space for the persistent store.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Atkinson, P. Bailey, K. Chisholm, W. Cockshott, R. Morrison, “An Approach to Persistent Programming”, Computer Journal 26, 4, 1983, pp. 360–365.

    Google Scholar 

  2. “Borland C++ for Windows Reference Manual Version 4.0”, Borland International Inc., Chapter 6,1993.

    Google Scholar 

  3. Raul Camposano, Jörg Wilberg, “Embedded System Design”, Design Automation for Embedded Systems, vol. 1, Kluwer, 1996, pp. 5–50.

    Google Scholar 

  4. M. Carey, D. De Witt, M. Franklin et al., “Shoring Up Persistent Applications ”, ACM SIGMOD Conference on Management of Data, Minneapolis, 1994 ftp://ftp.cs.wisc.edu/tech-reports/reports/94/tr1222.ps.Z

    Google Scholar 

  5. A. Dearle, R. di Bona, J. Farrow, et al., “Grasshopper: An Orthogonally Persistent Operating System”, Computing Systems, 7(3), pp 289–312, Summer 1994 http://www.gh.cs.su.oz.au/Grasshopper/Papers/GH10/gh10.html

    Google Scholar 

  6. Keith Gorlen, Sanford Orlow, Perry Plexico, “Data Abstraction and Object-Oriented Programming in C++”, John Wiley & Sons, 1990, pp. 134–141, 337–343.

    Google Scholar 

  7. Herman Moons, “Persist++ — A library package for object persistence”, Software Impulse, Sep. 1994. ftp://ftp.cs.kuleuven.ac.be/pub/impulse/persist++_0.5.zip

    Google Scholar 

  8. “Eiffel: The Libraries”, Interactive Software Engineering Inc. TR-EI-7/LI, Version 2.2, Goleta, August 1989.

    Google Scholar 

  9. Thomas Keffer, “Tools.h++ Introduction and Reference Manual Version 6”, Rogue Wave Software, pp. 18-1–18-17 (see also http://www.roguewave.com/rwpav/products/toolsovr.htm)

    Google Scholar 

  10. C. Lamb, G. Landis, J. Orenstein, D. Weinreb: “The ObjectStore System”, CACM, Oct. 1991, pp. 50–63 (see also: http://www.odi.com/prodinfo/techovrwv.html)

    Google Scholar 

  11. Vivek Singhal, Sheetal Kakkad, Paul Wilson, “Texas: An Efficient, Portable Persistent Store”, Fifth Int. Workshop on Persistent Object Systems, San Miniato, Italy, Sep. 1992. ftp://ftp.cs.utexas.edu/pub/garbage/texaspstore.ps

    Google Scholar 

  12. Markus Theißinger, Paul Stravers, Holger Veit, “CASTLE: An Interactive Environment for HW-SW Co-Design”, Third Int. Workshop on HW/SW Codesign, Grenoble, Sep. 1994, pp. 203–209.

    Google Scholar 

  13. Scot Wingo, “Writing Portable C++ Code”, Journal of Object-Oriented programming, Vol. 7, No. 9 Supplement: Cross Platform Strategies, SIGS Publications, Feb. 1995, pp. 4–8,20.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joxan Jaffar Roland H. C. Yap

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Theißinger, M. (1996). Design and application of a light-weight persistency mechanism. In: Jaffar, J., Yap, R.H.C. (eds) Concurrency and Parallelism, Programming, Networking, and Security. ASIAN 1996. Lecture Notes in Computer Science, vol 1179. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0027799

Download citation

  • DOI: https://doi.org/10.1007/BFb0027799

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62031-0

  • Online ISBN: 978-3-540-49626-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics