A tool for implementing distributed algorithms written in PROMELA, using DAJ toolkit

dc.contributor.authorNuthi, Kranthi Kiran
dc.date.accessioned2009-12-17T18:16:42Z
dc.date.available2009-12-17T18:16:42Z
dc.date.graduationmonthDecemberen_US
dc.date.issued2009-12-17T18:16:42Z
dc.date.published2009en_US
dc.description.abstractPROMELA stands for Protocol Meta Language. It is a modeling language for developing distributed systems. It allows for the dynamic creation of concurrent processes which can communicate through message channels. DAJ stands for Distributed Algorithms in Java. It is a Java toolkit for designing, implementing, simulating, and visualizing distributed algorithms. The toolkit consists of Java class library with a simple programming interface that allows development of distributed algorithms based on a message passing model. It also provides a visualization environment where the protocol execution can be paused, performed step by step, and restarted. This project is a Java application designed to translate a model written in Promela into a model using the Java class library provided by DAJ and simulate it using DAJ. Even though there are similarities between the programming constructs of Promela and DAJ, the programming interface supported by DAJ is smaller, so the input has been confined to a variant, which is a subset of Promela. The implementation was performed in three steps. In the first step an input domain was defined and an ANTLR grammar was defined for the input structure. Java code has been embedded to this ANTLR grammar so that it can parse the input and translates it into an intermediate xml format. In the second step, a String Template is used which would consist of templates of the output model, along with a Java program which traverses the intermediate xml file and generates the output model. In the third step, the obtained output model is compiled and then simulated and visualized using DAJ. The application has been tested over input models having different topologies, process nodes, messages, and variables and covering most of the input domain.en_US
dc.description.advisorGurdip Singhen_US
dc.description.degreeMaster of Scienceen_US
dc.description.departmentDepartment of Computing and Information Sciencesen_US
dc.description.levelMastersen_US
dc.identifier.urihttp://hdl.handle.net/2097/2311
dc.language.isoen_USen_US
dc.publisherKansas State Universityen
dc.subjectPROMELAen_US
dc.subjectDAJen_US
dc.subjectDistributed Algorithmsen_US
dc.subject.umiComputer Science (0984)en_US
dc.titleA tool for implementing distributed algorithms written in PROMELA, using DAJ toolkiten_US
dc.typeReporten_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
KranthiKiranNuthi2009.pdf
Size:
475.82 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.69 KB
Format:
Item-specific license agreed upon to submission
Description: