JavaCHIME: Java Class Hierarchy Inspector and Method Executer

Download Report

Transcript JavaCHIME: Java Class Hierarchy Inspector and Method Executer

JavaCHIME: Java Class Hierarchy
Inspector and Method Executer
by
Pallavi Tadepalli and H. Conrad Cunningham
Software Architecture Research Group
Department of Computer and Information Science
University of Mississippi
Objectives
 Provide instructional environment for Java applications
 Simulate real programming experience
 Focus on classes and objects as central units of
interaction
 Solve two significant problems of teaching Java


7/21/2015
Main method
Text-based input/output
2
JavaCHIME
 Implemented in Java using:
Java Reflection API
 Java Swing
Focuses on object-oriented principles
Supports dynamic creation of objects, interactive calls to
methods
Permits interactive argument specification and object
inspection
Allows testing of methods without constructing a main
method
Accepts user input interactively






Features
 Loads files
 Automatically compiles newer version of
source file
 Provides Notepad as default editor on
Windows
 Separates environment into panels
based on function
Overview
Class Browser
.
Source-file
Display
.
Object Inspector
.
Console Display
.
Class Browser
 Provides a view of the program’s class hierarchy
 Displays tree view of class features ( interfaces,
superclass, constructors, fields, and methods)
 Allows creation of class instances interactively
 Assigns user-supplied names to instances
 Invokes static methods of class
Class Browser
(Constructors and Static Methods)
Creating an Instance of a Class
hello a = new hello(Integer, int)
 Select constructor:
public
hello(java.lang.Integer,int)
 Set name of object: a
 Enter arguments for Integer and
int.
Entering Name of Object
Specifying Parameters
Accepting Array Parameters
Static Method Invocation
Output of Static Method Execution
Object Inspector
 Stores instances of a class
 Allows inspection of information
about an object
 Permits invocation of methods and
inspection of object state
Object and Instance Methods
Object values
Source File Display
 Displays the source of the loaded class
 Shows the source only for viewing
Source File Display
Console Display
 Shows results of method invocation
 Mirrors program execution appearing in
terminal window
Console Display
Existing Environments
 Adapted from procedural environments
 Not object-oriented
 Too complex
 Focused on user interfaces
 BlueJ
 DrJava
BlueJ





Serves as a teaching environment implemented in
Java
Prevents loading of single class
Converts every directory into BlueJ project type.
Prevents loading subdirectories without loading
parent directory.
Provides confusing mechanism for parameter
passing
DrJava
 Provides read-eval-print loop.
 Allows evaluation of Java expressions and
statements
 Lacks graphical interface to create objects
and call methods
 Includes debugger
 Provides brace matching
 Supports highlighting of comments and
quotations.
Future Work
 Incorporation of a fully functional
editor
 Handling ‘jar’ files
 Integrating of JavaHelpTM software
 Including a debugger
 Creating objects for classes in
packages
 Handling multi-dimensional arrays
 Creating sessions for each user
Conclusion
 Tool is easy to use, object-oriented graphical
environment
 Has support for code-reuse, learning
 Solves the two significant problems of Java
 Does not provide integrated tools, group
support
 Freely available
THE END!!!!