skip to main content
10.1145/64135.65016acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

Pgraphite: an experiment in persistent typed object management

Published: 03 November 1988 Publication History

Abstract

Defining, creating, and manipulating persistent typed objects will be central activities in future software environments. PGRAPHITE is a working prototype through which we are exploring the requirements for the persistent object capability of an object management system in the Arcadia software environment.
PGRAPHITE represents both a set of abstractions that define a model for dealing with persistent objects in an environment and a set of implementation strategies for realizing that model. PGRAPHITE currently provides a type definition mechanism for one important class of types, namely directed graphs, and the automatic generation of Ada implementations for the defined types, including their persistence capabilities.
We present PGRAPHITE, describe and motivate its model of persistence, outline the implementation strategies that it embodies, and discuss some of our experience with the current version of the system.

References

[1]
M. P Atkinson, P. I. Bailey, K. I. Chisholm, P. W. Cockshott. and R. Morrison. An Approach to Persistent Programming. Computer Jotmaf, X(4), November 1983.
[2]
D.A. Baker, D.A. Fisher, and J.C. Shultis. IRIS: An Internal Form for Use in Integrated Environments. Technical Report, Incremental Systems Corporation, Pittsburgh, Pennsylvania, 1987.
[3]
Lori A. Clarke, Jack C. Wileden. and Alexander L. Wolf. GRAPHITE: A Meta-Tool for Ada Environment Development. In Proceedings of the IEEE Computer Society Second Inrerna!iotuzI Conference on Ada Applications and Environments, pages 81-April 1986.
[4]
Dennis Heimbigner, Leon J. Ostenveil, and Stanley M. Sutton. APPUA: A Language for Managing Relations Among Software Objects and Proceases. Technical Report C&C-S-374-87. University of Colorado, Boulder, Colorado. 1987.
[5]
David Maier, Jacob Stem, Allen Otis, and Alan P&y. Development of an Object-Oriented DBMS. In OOPSL.4 Conference Proceedings, pages 472482, September 1986.
[6]
David C. J. Matthews. Poly manual. SIGPLAN Notices, u)(9), September 1985.
[7]
David C. J. Matthews. Progress with Persistence in Poly and Poly/ML. In Appin Workrhop on Perstitent Object Systems, pages 309-316, August 1987.
[8]
J. Eliot B. Moss. Implementing Persistence for an Object Oriented Language. In Appin Workshop on Persistent Object Systems. August 1987.
[9]
J. Eliot B. Moss and Steven Sinofsky. Managing Persistent Data with Mneme: Issues and Application of a Reliable, Shared Object Interface. COINS Technical Report 88-30, University of Massachusetts, Amherst, Massachusetts, April 1988.
[10]
Leon J. Osterweil. Software Processes are Software Too. In Proceedings of the Ninth International Conference on Software Engineering, pages 2-13, Monterey, California, March 1987.
[11]
William R. Rosenblatt. Jack C. Wile&n, and Alexander L. Wolf. Preliminary Report on the OROS Type Model. COINS Technical Repott 88-70, University of Massachusens, Amherst, Massachusetts, August 1988.
[12]
Richard N. Taylor, Deborah A. Baker, Frank C. Belz, Barry W. Boebm. Lori A. Clarke, David A. Fisher, Leon J. Osterweil, Richard W. Selby, Jack C. Wileden, Alexander L. Wolf, and Michal Young. Next Genera&n Software Environments: Principles, Problems, and Research Directions. COINS Technical Report 8743, University of Massachusetts, Amherst, Massachusetts, July 1987.
[13]
Richard N. Taylor, Frank C. Belz. Lori A. Clarke, Leon Osterweil, Richard W. Selby, Jack C. Wileden, Alexander L. Wolf, and Michal Young. Foundations for the Arcadia Enviroment Architecture. In Proceedings of SIGSOIT '88: Third Symp&un on Sofhyore Development Environments, November 1988,
[14]
Douglas W&e. A Distributed Repository for Immutable Persistent Objects. In OOPSLA Conference Proceedings, pages 45345, September 1986.
[15]
David S. Wile and Dennis G. Allard. Worlds: An Organizing Structure for Object-Bases. In Proceedings of the ACM SIG- SOFTI SIGPLAN Software Engineering Sympariwn on Practical Soflware Development Environments. pages 16-26, December 1986.
[16]
David S. Wile, Neil M. Goldman, and Dennis G. Allard. Maintaining Object Persistence in the Common Lisp Framework. In Appin Workshop on Per&lent Object Systems, pages 382-405, August 1987.
[17]
Michal Young, Richard N. Taylor, Dennis B. Troup, and Cheryl D. Kelly. Design Principles Behind Chiron: A U&IS for Software Envircnments. In Proceedings of the Tenth International Conference on Soflware Engineering, pages 367-376. Singapore, April 1988.
[18]
S.J. Zeil. An IRIS Interface in Ada. Arcadia Design Document UM-87-06, University of Massachusetts, Amherst, Massachusem. August 1987.

Cited By

View all

Recommendations

Reviews

Daniel M. Berry

The paper describes PGRAPHITE, a prototype tool in an Arcadia environment for managing persistent typed objects. A typed object is a datum whose type, in the sense of Ada's strong type system, is known to all programs that use it. The way the program accesses the object is determined by its internal structure as specified by its type. A persistent object is a datum which exists longer than any activation of any program that may access it; the datum is usually stored on a disk medium. The usual program data that are allocated and deallocated during one activation of the program are nonpersistent. It is desirable that persistence of an object be orthogonal to all other aspects of the object. That is, the code which uses an object based on its type structure should be the same for persistent and nonpersistent objects. The paper correctly observes that for persistence to be truly orthogonal in this sense, it is essential that an object be deallocated only after it has ceased to be accessible to all potential users. Therefore implicit persistence, called retention elsewhere, is followed. The paper also observes that such implicit persistence is expensive in general because it can require garbage collection. Thus, most systems abandon implicit persistence in favor of program-ordered deallocation, which can cause references that are still available to point to nothing. By deciding on a particular set of object and persistent store manipulation operations, however, it should be possible to limit the complexity of determining when an object is inaccessible and thus deallocatable. PGRAPHITE implements these operations. Rather than get bogged down in the already well-understood details of implementing a complete typing system, the authors decided to build the tool as an extension of the existing system GRAPHITE, which handles nonpersistent graph objects, that is, data whose types are arcs, nodes, collections of nodes, etc. The object and persistent store manipulation operations mentioned in the previous paragraph are added to GRAPHITE to get PGRAPHITE. The rapidly developed prototype tool has allowed experimentation and exploration of alternative models and implementations of persistence. I found the paper clear, lively, and informative. It showed me a new way to view my old work on retention and got me all excited. A proof of the liveliness of the paper and my excitement is the abundance of argumentative comments that the paper provoked me to write in the margin of my copy. The paper was fun to read.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SDE 3: Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
January 1989
257 pages
ISBN:089791290X
DOI:10.1145/64135
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 24, Issue 2
    Special issue: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments
    Feb. 1989
    257 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/64140
    Issue’s Table of Contents
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 13, Issue 5
    Special issue: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments
    November 1988
    257 pages
    ISSN:0163-5948
    DOI:10.1145/64137
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 November 1988

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SIGSOFT88
SIGSOFT88: 3rd Symposium on Software Development Environments
November 28 - 30, 1988
Massachusetts, Boston, USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)57
  • Downloads (Last 6 weeks)22
Reflects downloads up to 22 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2011)Lifecycle EnvironmentsEngineering of Software10.1007/978-3-642-19823-6_8(145-152)Online publication date: 2011
  • (2011)Foundations for the Arcadia Environment ArchitectureEngineering of Software10.1007/978-3-642-19823-6_13(235-263)Online publication date: 2011
  • (2005)Name management and object technology for advanced softwareObject Technologies for Advanced Software10.1007/3-540-57342-9_84(371-392)Online publication date: 30-May-2005
  • (2005)Environment object management technology: Experiences, opportunities and risksSoftware Engineering Environments10.1007/3-540-53452-0_47(251-260)Online publication date: 7-Jun-2005
  • (2001)Exchange format bibliographyACM SIGSOFT Software Engineering Notes10.1145/505894.50590826:1(56-60)Online publication date: 1-Jan-2001
  • (1996)Automated support for seamless interoperability in polylingual software systemsACM SIGSOFT Software Engineering Notes10.1145/250707.23912321:6(147-155)Online publication date: 1-Oct-1996
  • (1996)Automated support for seamless interoperability in polylingual software systemsProceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering10.1145/239098.239123(147-155)Online publication date: 1-Oct-1996
  • (1995)A concurrency analysis tool suite for Ada programsACM Transactions on Software Engineering and Methodology10.1145/201055.2010804:1(65-106)Online publication date: 1-Jan-1995
  • (1995)Conch: Experimenting with Enhanced Name Management for Persistent Object SystemsPersistent Object Systems10.1007/978-1-4471-2122-0_26(318-331)Online publication date: 1995
  • (1993)Programming heterogeneous transactions for software development environmentsProceedings of the 15th international conference on Software Engineering10.5555/257572.257657(358-369)Online publication date: 21-May-1993
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media