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

K-REx Repository

Show simple item record

dc.contributor.author Nuthi, Kranthi Kiran
dc.date.accessioned 2009-12-17T18:16:42Z
dc.date.available 2009-12-17T18:16:42Z
dc.date.issued 2009-12-17T18:16:42Z
dc.identifier.uri http://hdl.handle.net/2097/2311
dc.description.abstract PROMELA 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.language.iso en_US en_US
dc.publisher Kansas State University en
dc.subject PROMELA en_US
dc.subject DAJ en_US
dc.subject Distributed Algorithms en_US
dc.title A tool for implementing distributed algorithms written in PROMELA, using DAJ toolkit en_US
dc.type Report en_US
dc.description.degree Master of Science en_US
dc.description.level Masters en_US
dc.description.department Department of Computing and Information Sciences en_US
dc.description.advisor Gurdip Singh en_US
dc.subject.umi Computer Science (0984) en_US
dc.date.published 2009 en_US
dc.date.graduationmonth December en_US

Files in this item

This item appears in the following Collection(s)

Show simple item record

Search K-REx

Advanced Search


My Account


Center for the

Advancement of Digital


118 Hale Library

Manhattan KS 66506

(785) 532-7444