260 likes | 279 Views
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
E N D
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 • Main method • Text-based input/output
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
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.
Object Inspector • Stores instances of a class • Allows inspection of information about an object • Permits invocation of methods and inspection of object state
Source File Display • Displays the source of the loaded class • Shows the source only for viewing
Console Display • Shows results of method invocation • Mirrors program execution appearing in terminal window
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