Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/91947
Full metadata record
DC FieldValueLanguage
dc.date.accessioned2022-03-22T09:48:56Z-
dc.date.available2022-03-22T09:48:56Z-
dc.date.issued2014-
dc.identifier.citationBorg, D. (2014). Compiling compensating automata (Bachelor's dissertation)en_GB
dc.identifier.urihttps://www.um.edu.mt/library/oar/handle/123456789/91947-
dc.descriptionB.Sc. IT (Hons)(Melit.)en_GB
dc.description.abstractA compensation is a means of undoing the effect of some previously completed action, similar in its use to roll-backs. Compensations however, need not be the exact opposite of the action they remove the effect of like it is the case for roll-backs. Compensations are also useful in more scenarios when compared to roll-backs such as when external entities are involved or when needing support for undoing or cancelling in long-running transactions. There are many ways that can be used for describing compensations such as the using of StAC and CHTTA formalisms. However, only the use of compensating automata allows for the strict separation of the system logic from the compensation logic. This separation allows for the system and its compensations to lie in different modules, hence permitting the addition of compensations to a system that does not have them with the use of monitor oriented programming. Before this project was started, there was no implementation of compensating automata that we could make use of. This is the reason why we wanted to carry out this project in the first place. With this work, we aim to find an encoding with which to compile compensating automata into something that can be run, and so to be able to use compensating automata to provide compensation support for a running system. We also aim to design a syntax that may be used for describing collections of compensating automata in a formal textual way as well as to use the compilation process developed to implement a case study. With the case study, we aim to gain more confidence in compensating automata by making use of them in a practical real-life scenario. While carrying out this work we have managed to implement a compilation process that encodes an graph of objects describing a collection of compensating automata into a script that can be used with the LARVA runtime verification tool. We chose to target LARVA as it is the target with the highest level of abstraction that we could have made use of. We also managed to design a syntax with which to describe collections of compensating automata in a formal way. We chose to have a syntax that is base on that of LARVA's scripts so as to make the it easier to work with. We also implemented some test automata so as to check our translation procedure as well as a case study to gain more confidence in our implementation and in the compensating automata formalism itself. We also looked at other works that carry out some type of encoding of compensations into some kind of automaton or language and compared their approach with ours.en_GB
dc.language.isoenen_GB
dc.rightsinfo:eu-repo/semantics/restrictedAccessen_GB
dc.subjectMachine theoryen_GB
dc.subjectInformation technologyen_GB
dc.subjectSoftware architectureen_GB
dc.subjectComputer programs -- Verificationen_GB
dc.titleCompiling compensating automataen_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.creatorBorg, Dylan (2014)-
Appears in Collections:Dissertations - FacICT - 2014

Files in This Item:
File Description SizeFormat 
BSC(HONS)ICT_Borg_Dylan_2014.PDF
  Restricted Access
3.98 MBAdobe PDFView/Open Request a copy


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