Abstract
The Java Modeling Language (JML) is a behavioral interface specification language designed for specifying Java classes and interfaces. OpenJML is a tool for processing JML specifications of Java programs. To facilitate viewing of these specifications in a user-friendly manner, a tool JMLdoc was created. The JMLdoc tool adds JML specifications to the usual Javadoc documentation. JMLdoc is an enhancement of Javadoc that adds to the Javadoc documentation the JML specifications that are present in the source code. The JMLdoc tool is a drop-in replacement for Javadoc, with additional functionality and additional options. The current design of JMLdoc uses the standard Javadoc's doclet. The current design lacks the provision for doclet extensions, unlike Javadoc. This thesis proposes a new design which is more aligned with the design of Javadoc and its provision for doclet extensions by implementing a JMLdoclet: a new doclet for OpenJML with support for JML elements. The new design makes JMLdoc independent of Javadoc's internals. This way maintenance is reduced as Javadoc evolves. The new design also combines specifications from inheritance and refinements and presents the complete JML specification to the user. This new doclet based design will be more maintainable and easier to extend.
Notes
If this is your thesis or dissertation, and want to learn how to access it or for more information about readership statistics, contact us at STARS@ucf.edu
Graduation Date
2016
Semester
Summer
Advisor
Leavens, Gary
Degree
Master of Science (M.S.)
College
College of Engineering and Computer Science
Department
Computer Science
Degree Program
Computer Science
Format
application/pdf
Identifier
CFE0006295
URL
http://purl.fcla.edu/fcla/etd/CFE0006295
Language
English
Release Date
August 2016
Length of Campus-only Access
None
Access Status
Masters Thesis (Open Access)
STARS Citation
Donthala, Arjun Mitra Reddy, "Design of a JMLdoclet for JMLdoc in OpenJML" (2016). Electronic Theses and Dissertations. 5132.
https://stars.library.ucf.edu/etd/5132