Semantic Constructs for a Persistent Programming Language

  • Shane B. Sparg
  • Sonia Berman
Conference paper
Part of the Workshops in Computing book series (WORKSHOPS COMP.)


One objective of persistent languages is to permit the structure and semantics of data to be expressed precisely and simply. As a result programs are easier to write and the integrity of the data is less likely to be compromised. This paper presents a persistent programming language which includes a constraint definition and checking system. The language uses a semantic data model to define the structure and operations on data. The paper begins with a description of the features of semantic data models and constraint enforcement systems. The constraint definition aspects of the language Perci are then explained, along with an outline of the implementation of the constraint handling system. Perci is compared with existing persistent languages and the advantages of the new language are indicated.


Integrity Constraint Constraint Check Invalid State Store Constraint Persistent Store 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Antonio Albano, Luca Cardelli, and Renzo Orsini. Galileo: A Strongly-Typed, Interactive Conceptual Language. ACM Transactions on Database Systems, 10 (2): 230–260, June 1985.CrossRefGoogle Scholar
  2. [2]
    Malcolm Atkinson and O. Peter Buneman. Types and Persistence in Database Programming Languages. ACM Computing Surveys, 19(2):105–190, June 1987.CrossRefGoogle Scholar
  3. [3]
    Francois Bancilhon and Peter Buneman. Advances in Database Programming Languages, chapter 12, pages 187–217. Addison-Wesley, 1990.Google Scholar
  4. [4]
    C. J. Date. An Introduction to Database Systems, volume 2 of The Systems Programming Series, chapter 2, pages 35–81. Addison-Wesley, 1984.MATHGoogle Scholar
  5. [5]
    Alan Dearle. On the Construction of Persistent Programming Environments. Technical Report 65, University of St. Andrews, March 1988.Google Scholar
  6. [6]
    Michael Hammer and Dennis McLeod. Database Description with SDM: A Semantic Database Model. ACM Transactions on Database Systems, 6 (3): 351–386, September 1981.CrossRefGoogle Scholar
  7. [7]
    R. Morrison, F. Brown, R. Connor, and A. Dearle. The Napier88 Reference Manual. Persistent Programming Research Report 77, Universities of Glasgow and St Andrews, July 1989. PPRR-77–89.Google Scholar
  8. [8]
    John Mylopoulos, Philip A. Bernstein, and Harry K. T. Wong. A Language Facility for Designing Database-Intensive Applications. ACM Transactions on Database Systems, 5 (2): 185–207, June 1980.CrossRefGoogle Scholar
  9. [9]
    Shan-Hwei Nienhuys-Cheng. Classification and Syntax of Constraints in Binary Semantical Networks. Information Systems, 15 (5): 497–513, 1990.CrossRefGoogle Scholar
  10. [10]
    Gabriel Olusegun Owoso. Data Descripton and Manipulation in Persistent Programming Languages. PhD thesis, University of Edinburgh, Department of Computer Science, December 1984. CST-32–84.Google Scholar
  11. [11]
    Joan Peckham and Fred Maryanski. Semantic Data Models. ACM Computing Surveys, 20 (3): 153–189, September 1988.CrossRefMATHGoogle Scholar
  12. [12]
    Persistent Programming Research Group. PS-algol Reference Manual, 2nd edition, 1985. PPRR-12–85.Google Scholar
  13. [13]
    J. W. Schmidt, H. Eckhardt, and F. Matthes. DBPL Report. Fachbereigh Informatik, Johann Wolfgang Goethe-Universitat, draft edition, November 1988.Google Scholar
  14. [14]
    John Miles Smith and Diane C. P. Smith. Database abstractions: Aggregation and generalization. ACM Transactions on Database Systems, 2 (2): 105–133, June 1977.CrossRefGoogle Scholar
  15. [15]
    Shane B Sparg. Syntax of the language Perci. Technical Report, March 1992.Google Scholar

Copyright information

© British Computer Society 1993

Authors and Affiliations

  • Shane B. Sparg
    • 1
  • Sonia Berman
    • 1
  1. 1.Department of Computer ScienceUniversity of Cape TownCape TownSouth Africa

Personalised recommendations