824 research outputs found
Data Persistence in Eiffel
This dissertation describes an extension to the Eiffel programming language that provides automatic object persistence (the ability of programs to store objects and later recreate those objects in a subsequent execution of a program). The mechanism is orthogonal to other aspects of the Eiffel language. The mechanism serves four main purposes: 1) it gives Eiffel programmers a needed service, filling a gap between serialization, which provides limited persistence functions and database-mapping, which is cumbersome to use; 2) it greatly reduces the coding burden incurred by the programmer when objects must persist, allowing the programmer to focus instead on the business model; 3) it provides a platform for testing the benefits of orthogonal persistence in Eiffel, and 4) it furnishes a model for orthogonal persistence in other object-oriented languages.
During my research, I created a prototype implementation of the persistence mechanism using it effectively in several programs. Performance measurements showed acceptable performance with some increase in program memory usage. The prototype gives the programmer the ability to add automatic persistence to existing code with the addition of only a few lines of code. The size of this additional code remains constant regardless of the total number of lines of code in the project. Eiffel syntax remains unchanged and nonpersistent Eiffel code runs as is while incur- ring only a very small speed penalty
Automating the teaching of artificial language using production systems
The work to be described here is an investigation into the means whereby the learning of programming languages may be made easier. The role of formal definitions of programming languages is studied and a system is described which utilises production systems as the basis for generating an environment in which students may test their understanding of programming languages. This system for automating the teaching of programming languages provides an experimental testbed for carrying out further investigations into programming behaviour
The pragmatic formalization of computing systems relative to a given high-level language
Imperial Users onl
- …