Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/95317
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.date.accessioned | 2022-05-09T13:09:52Z | - |
dc.date.available | 2022-05-09T13:09:52Z | - |
dc.date.issued | 2010 | - |
dc.identifier.citation | Vella, L. (2010). Compensations in an imperative programming language (Bachelor's dissertation). | en_GB |
dc.identifier.uri | https://www.um.edu.mt/library/oar/handle/123456789/95317 | - |
dc.description | B.Sc. IT (Hons)(Melit.) | en_GB |
dc.description.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. | en_GB |
dc.language.iso | en | en_GB |
dc.rights | info:eu-repo/semantics/restrictedAccess | en_GB |
dc.subject | Programming languages (Electronic computers) | en_GB |
dc.subject | Computer algorithms | en_GB |
dc.subject | Natural language processing (Computer science) | en_GB |
dc.title | Compensations in an imperative programming language | en_GB |
dc.type | bachelorThesis | en_GB |
dc.rights.holder | The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder. | en_GB |
dc.publisher.institution | University of Malta | en_GB |
dc.publisher.department | Faculty of Information and Communication Technology. Department of Computer Science | en_GB |
dc.description.reviewed | N/A | en_GB |
dc.contributor.creator | Vella, Lydia (2010) | - |
Appears in Collections: | Dissertations - FacICT - 2010 Dissertations - FacICTCS - 2010-2015 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
BSC(HONS)ICT_Vella_Lydia_2010.pdf Restricted Access | 4.47 MB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.