Show simple item record

dc.contributor.advisorGeorgiou, Chryssisen
dc.contributor.authorPloutarchou, Christos C.en
dc.coverage.spatialCyprusen
dc.creatorPloutarchou, Christos C.en
dc.date.accessioned2013-08-28T10:14:46Z
dc.date.available2013-08-28T10:14:46Z
dc.date.issued2011-06
dc.identifier.urihttps://gnosis.library.ucy.ac.cy/handle/7/13021en
dc.descriptionThesis (Master) -- University of Cyprus, Faculty of Pure and Applied Sciences, Department of Computer Science, 2011.en
dc.description.abstractThe term automated implementation of distributed algorithms refers to the process during which an algorithm written in Input/Output Automata (IOA) and/or Timed IOA is automatically translated to executable code. The Tempo toolkit provides a connection with the IOA compiler and using particular plug-ins makes the above feasible. In that way, simple algorithms such as LCR Leader Election or even more complex such as Lamport's Paxos algorithm for the consensus problem can be translated very easily from TIOA to Java executable code using the toolkit, with the generated code preserving and keeping the correctness of the specification. The mediator between IOA compiler and Tempo is the Eclipse environment, which under the certain configuration and setup, is used for the desired translation. So far, the generated code by the toolkit was able to run on several workstations that were communicating via the Message Passing Interface. Even though MPI is very powerful, it has certain limitations and restrictions such as that is suitable for WANs, nor it supports dynamic ad hoc connections. Hence, there was an urgency of finding a mechanism to overcome those limitations and enhance the toolkit with more capabilities. In this Thesis we enhance the Tempo toolkit to support Java TCP connections between the communicating nodes. For this purpose, we created several classes imitating the behavior of the .Net package of Java. For certain reasons, which will be mentioned later, classes such as Socket and ServerSocket could not be used directly and hence we ended up creating our own classes.To provide evidence of the correctness of our implementation we firstly tested the model using a very simple algorithm that uses two communicating nodes. The first machine, A, was a Sender and the other one, B, was the Receiver, managing successfully to send a message from A to B and print that in B. Then, we tested our implementation with the well known Paxos algorithm. The algorithm was translated and run correctly suggesting that our implementation does what it should; this is a strong indication that Tempo has been successfully enhanced to support Java/TCP Sockets.en
dc.format.extentvii, 93 p. ; 30 cm.en
dc.language.isoengen
dc.publisherΠανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών / University of Cyprus, Faculty of Pure and Applied Sciences
dc.rightsinfo:eu-repo/semantics/openAccessen
dc.source.urihttps://ktree.cs.ucy.ac.cy/action.php?kt_path_info=ktcore.actions.document.view&fDocumentId=12925en
dc.titleEnchancing the tempo compiler to support java-sockets/TCP -based communicationen
dc.typeinfo:eu-repo/semantics/masterThesisen
dc.contributor.committeememberPhilippou, Annaen
dc.contributor.committeememberKapitsaki, Georgiaen
dc.contributor.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.author.facultyΣχολή Θετικών και Εφαρμοσμένων Επιστημών / Faculty of Pure and Applied Sciences
dc.author.departmentΤμήμα Πληροφορικής / Department of Computer Science
dc.type.uhtypeMaster Thesisen
dc.contributor.orcidGeorgiou, Chryssis [0000-0003-4360-0260]


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record