A computer program called "Rational Sequence" generates Universal Modeling Language (UML) sequence diagrams of a target Java program running on a Java virtual machine (JVM). Rational Sequence thereby performs a reverse engineering function that aids in the design documentation of the target Java program. Whereas previously, the construction of sequence diagrams was a tedious manual process, Rational Sequence generates UML sequence diagrams automatically from the running Java code. Moreover, there is no need to insert instrumentation code into the target Java program. Rational Sequence employs the Java Native Interface application programming interface to create a software profiler that plugs into the JVM. Once the user starts the target Java program, Rational Sequence acts as a nonintrusive observer, generating UML diagrams representing the observed activity. Every method call, object instantiation, or thread event of the target Java program is tracked by the profiler. Once the Java program has ended, the profiler generates a UML model that contains packages, classes, and all method calls observed during the execution of the target program. The user can control the way the UML model is generated by specifying packages and/or classes to be included in the diagrams.

This program was written by Matthew R. Barry and Richard N. Osborne of United Space Alliance for Johnson Space Center. For further information, contact the Johnson Technology Transfer Office at (281) 483- 3809. MSC-23656

NASA Tech Briefs Magazine

This article first appeared in the May, 2006 issue of NASA Tech Briefs Magazine.

Read more articles from the archives here.