Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/95317
Title: Compensations in an imperative programming language
Authors: Vella, Lydia (2010)
Keywords: Programming languages (Electronic computers)
Computer algorithms
Natural language processing (Computer science)
Issue Date: 2010
Citation: Vella, L. (2010). Compensations in an imperative programming language (Bachelor's dissertation).
Abstract: Failure of a running process is highly undesirable, particularly because it may threaten data integrity and the overall system consistency. Most programming languages incorporate complex constructs such as exception handling to minimize failure. However, even with such constructs in place, programs still inevitably fail. The use of compensations for undoing previously executed activities has proved to be quite a useful mechanism in the face of failure or unhandled exceptions, and may be applied to a variety of domains. A compensation is essentially an activity, associated to some other activity or process, such that when executed it cancels out the effects of the activity to which it is associated. The aim of this thesis is to enhance an imperative programming language with a mechanism for handling compensations. The designed language should provide a construct which enables the developer to effortlessly yet effectively, write compensating activities which may then be associated to processes, and triggered if a later process fails. The main advantage of having such a construct embedded into a programming language is the added reliability of having a mechanism that can effectively undo, or rather compensate for, any changes which would otherwise remain permanent, brought about by failed processes. Since the project will focus on the design of a language, it is important to keep in mind the simplicity and reliability of the language whilst keeping syntax additions to a minimal. To be able to demonstrate the development of programs using the designed language, a compiler for the language is built. Finally, the designed language is evaluated by means of a case study through which the effectiveness of the language may be assessed. Furthermore, the case study also demonstrates the improved readability and maintainability of programs employing compensations, developed using the designed language, over those developed using a conventional imperative programming language.
Description: B.Sc. IT (Hons)(Melit.)
URI: https://www.um.edu.mt/library/oar/handle/123456789/95317
Appears in Collections:Dissertations - FacICT - 2010
Dissertations - FacICTCS - 2010-2015

Files in This Item:
File Description SizeFormat 
BSC(HONS)ICT_Vella_Lydia_2010.pdf
  Restricted Access
4.47 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.