title: Development of an educational software tool for the topic of group communication
Creators: name: Stifter, Nicholas Alexander
Publisher: name: TU Wien
Year: 2015
Subjects: subject: Distributed Systems
subject: Online Games
subject: Networking
subject: Froihofer
subject: Goeschka
subject: Distributed Systems
subject: Online Games
subject: Networking
subject: Froihofer
subject: Goeschka

description: This thesis covers the development of an educational software framework aimed at assisting learners in the implementation and testing of reliable multicast protocols and other software components related to (process) group communication. The motivation for this work stems from the intention of extending an existing group communication simulator that is used in an advanced distributed systems course held at the Vienna University of Technology. Currently student-developed protocols are restricted to the simulation environment and cannot be used in real-world scenarios. Ideally students should be able to develop and test their own protocol implementations using tools that foster the learning process and simplify the complex task of creating reliable distributed software while retaining its full functionality. Interestingly, at the time of writing there was very little available literature covering the design and development of educational software tools for more advanced distributed computing topics and group communication in particular. Part one of this work therefore provides an overview of relevant literature for developing educational software tools for the topic of group communication. The term educational group communication system or eGCS is introduced to conceptualize a software framework that combines all the desirable attributes of such an educational tool. It is highlighted that further research on the subject matter is needed and the presented results should be seen as an initial step towards formulating guidelines for creating eGCSs or other educational tools for more advanced distributed systems topics. Part two covers the development of a prototype eGCS aimed at solving the initial problem of extending a group communication simulator and is informed by the results presented in part one of this thesis. The proposed eGCS design employs a header-driven model for protocol composition, an extended variant of Chandra-Toueg Consensus as the basis for a combined group membership service and view synchronous multicast communication protocol, and the distributed middleware simulation environment MINHA to address the issue of allowing protocols developed for the simulation environment to be usable in real-world scenarios. MINHA virtualizes the execution of multiple Java virtual machine (JVM) instances in a single JVM, where key components such as network sockets and threads are replaced with simulated counterparts through bytecode instrumentation. Rather than relying on a group communication simulator for protocol development, regular protocol stacks are used and can be transformed through MINHA to execute in a simulated environment when needed. A preliminary implementation of the proposed eGCS outlines the design's feasibility, however seldom but hard to debug issues that can potentially be introduced through MINHA's bytecode instrumentation process render the suitability of the chosen simulation approach questionable for an educational scenario at this point in time.