Show simple item record

P-Pascal : a data-oriented persistent programming language

dc.contributor.advisorMacGregor, Kenen_ZA
dc.contributor.authorBerman, Soniaen_ZA
dc.date.accessioned2016-02-17T07:16:50Z
dc.date.accessioned2018-11-26T13:54:02Z
dc.date.available2016-02-17T07:16:50Z
dc.date.available2018-11-26T13:54:02Z
dc.date.issued1991en_ZA
dc.identifier.urihttp://hdl.handle.net/11427/17084
dc.identifier.urihttp://repository.aust.edu.ng/xmlui/handle/11427/17084
dc.descriptionBibliography: pages 187-199.en_ZA
dc.description.abstractPersistence is measured by the length of time an object is retained and is usable in a system. Persistent languages extend general purpose languages by providing the full range of persistence for data of any type. Moreover, data which remains on disk after program termination, is manipulated in the same way as transient data. As these languages are based on general purpose programming languages, they tend to be program-centred rather than data-centred. This thesis investigates the inclusion of data-oriented features in a persistent programming language. P-Pascal, a Persistent Pascal, has been designed and implemented to develop techniques for data clustering, metadata maintenance, security enforcement and bulk data management. It introduces type completeness to Pascal and in particular shows how a type-complete set constructor can be provided. This type is shown to be a practical and versatile mechanism for handling bulk data collections in a persistent environment. Relational algebra operators are provided and the automatic optimisation of set expressions is performed by the compiler and the runtime system. The P-Pascal Abstract Machine incorporates two complementary data placement strategies, automatic updating of type information, and metadata query facilities. The protection of data types, primary (named) objects and their individual components is supported. The challenges and opportunities presented by the persistent store organisation are discussed, and techniques for efficiently exploiting these properties are proposed. We also describe the effects on a data-oriented system of treating persistent and transient data alike, so that they cannot be distinguished statically. We conclude that object clustering, metadata maintenance and security enforcement can and should be incorporated in persistent programming languages. The provision of a built-in, type-complete bulk data constructor and its non-procedural operators is demonstrated. We argue that this approach is preferable to engineering such objects on top of a language, because of greater ease of use and considerable opportunity for automatic optimisation. The existence of such a type does not preclude programmers from constructing their own bulk objects using other types - this is but one advantage of a persistent language over a database system.en_ZA
dc.language.isoengen_ZA
dc.subject.otherComputer Scienceen_ZA
dc.titleP-Pascal : a data-oriented persistent programming languageen_ZA
dc.typeThesisen_ZA
dc.type.qualificationlevelDoctoralen_ZA
dc.type.qualificationnamePhDen_ZA
dc.publisher.institutionUniversity of Cape Town
dc.publisher.facultyFaculty of Scienceen_ZA
dc.publisher.departmentDepartment of Computer Scienceen_ZA


Files in this item

FilesSizeFormatView
thesis_sci_1991_berman_sonia.pdf3.216Mbapplication/pdfView/Open

This item appears in the following Collection(s)

Show simple item record