Java State Explorer by: Richard Sherman Stephanie Taylor
Project Goals Ultimate goal - Rewrite Dr. Chow’s SETOOL in Java. Wanted a solution that allows users to run it from other Operating Systems besides UNIX Semester goal - Understand the reachability analysis software better, design the new classes & objects in Java, and begin implementation
Description SETOOL is a program that performs reachability analyses. It was written in C and makes calls to Openwin/Xview for its GUI. We designed the new version in Java The new tool is called the Java State Explorer (JSE).
SETOOL Recap Two machines we want to generate a reachability graph from
Machine M
Protocol Diagram
Analysis Examined the structures in the current code Determined objects and classes for JSE Examined Xview calls for mapping to Java Swing –unfortunately, no 1-1 mapping
Implementation Challenges Time constraints –At initial examination, SETOOL looked easy to port or rewrite –Needed to learn Swing before initial implementation could be done Reachability Analysis Algorithm –SETOOL’s C code hard to follow (many pointers)
Why Not Use JNI? Java Native Interface (JNI) allows programmers to utilize platform- specific functionality outside the Java Virtual Machine Code should be platform independent to reach project goal
Why Rewrite In Java? Pure Java solution Compile once, run anywhere Object-oriented design lends to increased readability & maintainability
Class Diagram
JSE 1.0
Load Machine Dialog
Protocol Dialog
Future Work Still much coding to be done –Interactive Drawing of Machines using GUI Interface –Reachability Analysis –Saving Machines to Disk File