Degree Name

Master of Computer Science - Research


School of Computing and Information Technology


Optimisation of object-relational database applications implemented as a combination of object-oriented and non-procedural code requires accurate balancing of the data-processing load between the client and the server sides. The large amounts of procedural code and less efficient, overly simple algorithms, lead to the majority of data processing to be performed on the client side. As a consequence it usually increases the amounts of transmitted data to the client and the amount of time required to process the data by the client.

This thesis addresses the performance problem of object-oriented client-side applications that access data on the server through an object-oriented view of a relational database. To increase the performance of object-oriented applications, a collection of transformation rules are introduced to replace the typical iterative structures of procedural code with the equivalent structures of non-procedural code. The rules can eliminate the iterations over classes of objects on the client side and can improve the balancing of the data processing load between the client and the server. This thesis shows how object-relational database applications can be optimised by using the proposed transformation rules. The correctness of the rules is proved by the Hoare logic formula. Software patterns proposed in this thesis can be used for the automatic optimisation of object-relational applications.