Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/71908
Title: | Behavioural APIs for Erlang processes |
Authors: | Zahra, Gianluca (2020) |
Keywords: | Application program interfaces (Computer software) Computer programming ERLANG (Computer program language) |
Issue Date: | 2020 |
Citation: | Zahra, G. (2020). Behavioural APIs for Erlang processes (Bachelor's dissertation). |
Abstract: | Behavioural Application Programming Interfaces (APIs) (12) consist of the amalgation of traditional APIs with formal behavioural information related to their usage. These newer versions of APIs are frequently being utilised in concurrent systems whereby communication between numerous processes is required. Message-passing is one of the main forms of communication mechanisms that was deemed fit to be utilised throughout this dissertation. This thesis studies the behaviour of processes in a network and identifies the gap between existent approaches to message-passing communication systems and their implementation using the features available in Erlang-based programming languages. The foundational framework utilized throughout this study is the Mailbox Calculus, proposed by the ‘Liguoro and Padovani (16) in their paper entitled ‘Mailbox Types for Unordered Interactions’. This message-passing system provided the added benefits of ensuring certain software guarantees, including deadlock freedom, fault tolerance and mailbox compliance. In the first part of this thesis, the syntax of the Mailbox Calculus is translated into an appropriate formal definition which is then implemented in Elixir; an Erlang-based functional programming language. Additionally, slight modifications and extensions to this syntax were carried out in accordance with existent Elixir features. The implementation part is comprised of a lexer and a parser specifically created for the target language MC2Elixir; which is an adaptation of the Mailbox Calculus. In the second part of this thesis an interpreter and launcher are constructed test and verify the correctness of the implemented artefact. Elixir is inherently a weakly-typed language (33); thus, trying to find Elixir constructs corresponding to those in the strongly-typed Mailbox Calculus, was one of the main challenges encountered throughout this dissertation. Nonetheless, the final proposed system MC2Elixir visibly encompasses the main features of the Mailbox Calculus. |
Description: | B.SC.(HONS)COMP.SCI. |
URI: | https://www.um.edu.mt/library/oar/handle/123456789/71908 |
Appears in Collections: | Dissertations - FacICT - 2020 Dissertations - FacICTCS - 2020 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
20BCS013 - Zahra Gianluca_.pdf Restricted Access | 8.24 MB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.