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 FieldValueLanguage
dc.date.accessioned2022-05-09T13:09:52Z-
dc.date.available2022-05-09T13:09:52Z-
dc.date.issued2010-
dc.identifier.citationVella, L. (2010). Compensations in an imperative programming language (Bachelor's dissertation).en_GB
dc.identifier.urihttps://www.um.edu.mt/library/oar/handle/123456789/95317-
dc.descriptionB.Sc. IT (Hons)(Melit.)en_GB
dc.description.abstractFailure 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.isoenen_GB
dc.rightsinfo:eu-repo/semantics/restrictedAccessen_GB
dc.subjectProgramming languages (Electronic computers)en_GB
dc.subjectComputer algorithmsen_GB
dc.subjectNatural language processing (Computer science)en_GB
dc.titleCompensations in an imperative programming languageen_GB
dc.typebachelorThesisen_GB
dc.rights.holderThe 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.institutionUniversity of Maltaen_GB
dc.publisher.departmentFaculty of Information and Communication Technology. Department of Computer Scienceen_GB
dc.description.reviewedN/Aen_GB
dc.contributor.creatorVella, Lydia (2010)-
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.