Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/35264
Title: | Simulating a formally specified message based concurrent language |
Authors: | Said Camilleri, Mark |
Keywords: | Pi-calculus Computer multitasking OCaml (Computer program language) |
Issue Date: | 2018 |
Citation: | Said Camilleri, M. (2018). Simulating a formally specified message based concurrent language (Bachelor's dissertation). |
Abstract: | The π-calculus is a process calculus which models the behaviour of concurrent processes. The main feature of this calculus is message passing abilities between the processes through channels. Kobayashi et al. introduced linear channels for the π-calculus through the linear π-calculus. They proposed a type system for the linear π-calculus that makes use of a declarative definition. This definition introduces several non-deterministic characteristics when attempting to simulate it, thus making it hard to do so. The research into linear channels goes beyond this proposed type system. Studies have shown that the linear channels can be used to encode session types using standard types or by expressing linear types as a linear process. Another study, on the other hand, defined the typing rules for such session types to match intuitionistic linear logic. Linear channels lend their uses beyond session types. Since they are essentially single use channels, they are rather useful in compiler optimisation and garbage collection as a compiler can find out, through a static analysis of the program, when a linear resource has been used up. This study analysed the declarative definition of the type system, translated it to an algorithmic definition and implemented this in the form of a static typechecker using OCaml. Also using OCaml, a parser for the targeted language, which is an extension on the linear π-calculus, was implemented. Finally, an evaluator was implemented to complete an interpreter and be able to fully test the language and type system. While the interpreter implemented was discovered to have some expected but undesired behaviour, it is quite capable of automatically testing the type system through the implementation. |
Description: | B.SC.(HONS)COMP.SCI. |
URI: | https://www.um.edu.mt/library/oar//handle/123456789/35264 |
Appears in Collections: | Dissertations - FacICT - 2018 Dissertations - FacICTCS - 2018 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
ConsentMarkSaidCamilleri_20200427.pdf Restricted Access | 221.17 kB | Adobe PDF | View/Open Request a copy | |
18BCS013.pdf Restricted Access | 770.88 kB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.