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!!!!