350 likes | 491 Views
Bogor-Java Environment for Eclipse. MSE Presentation III Yong Peng. Outline. Component Design Assessment Evaluation Project Evaluation Future Work Conclusion Demo Questions & Comments. Component Design. Component design is the detailed design for each component.
E N D
Bogor-Java Environmentfor Eclipse MSE Presentation III Yong Peng
Outline • Component Design • Assessment Evaluation • Project Evaluation • Future Work • Conclusion • Demo • Questions & Comments
Component Design • Component design is the detailed design for each component. • This project includes three new plug-ins and one updated plug-in. • In the following several slides, incremental compilation plug-in will be used as an example for component design.
Component Design (Cont.) • High-level component diagram of incremental compilation plug-in.
Component Design (Cont.) • This class handles the life cycle of the plug-in. It provides the error and log methods to log errors. Eclipse uses this class and the plug-in configuration XML to register this plug-in into Eclipse environment. Life cycle methods Error and log methods
Component Design (Cont.) • This class handles Bytecode-to-BIR full and delta build. Method “createBir” and “deleteBir” are two helper methods. Full and delta build methods use those two helper methods to create and delete BIR files in file system. Full and delta build methods Create and delete BIR methods
Component Design (Cont.) • This is the helper class that perform delete and write BIR files functions. • The “createBir” and “deleteBir” in BytecodeToBirBuilder class use “writeBIR” and “deleteBIR” methods to delete and write BIR files in file system.
Component Design (Cont.) • The details for other plug-ins can be found in component design document. The following is the URL of design document. • http://www.cis.ksu.edu/~yongpeng/phase3/ComponentDesign.pdf
Assessment Evaluation (Cont.) • TPTP Automated GUI Recorder • This tool allows users to record GUI actions in the Eclipse platform and play them back to verify the functionality of their product. • It is used to do automate regression tests. • It is part of Eclipse TPTP test framework. • This tool comes out on August, 2005. Since this tool is still in the technology preview stage and has incomplete features, I only used its “Quick Run” function. • The “Quick Run” function uses the currently running workbench as the context to run the selected test cases.
Project Evaluation • Problems Encountered • Comprehending Project Requirements • Require more Bogor and Eclipse knowledge to understand requirement • Understanding Eclipse Frameworks • Steep learning curve • Lacking development document • FSM for the formal specification • System states and actions missing
Project Evaluation(Cont.) • The total SLOC predicted: 6000 • The actual SLOC implemented for each plug-in • Incremental compilation: 556 • BogorVM view: 2556 • Launcher: 1429 • Error trace in Java: 200 • Total: 4741
Project Evaluation(Cont.) • The problems encountered when created formal specifications during the second phase was the cause of delay.
Project Evaluation(Cont.) • Total hours: 242 hours
Future Work • Making the counter example view as usable as the Eclipse Java debugger • add break-point function when tracing errors • change error trace fully to Java level • etc. • Improving configuration tab in launch pad • Adding syntax highlighting function to BogorVM view
Conclusion • Learnt new technology • JFace, SWT Frameworks • JDT, PDE • TPTP’s Automated GUI Recorder • Went through full Software Development Life Cycle • Applied iterative process in this project • Learnt the importance of documentation • For example: Tracing back to Vision Document for the system requirements details
Demo Create a demo java project and Deadlock.java
Add Bytecode-to-BIR Builder Demo (cont.)
BIR files are generated. Demo (cont.)
Open BogorVM BIR View Demo (cont.)
BIR displays in the BogorVM BIR view. Demo (cont.)
BIR is highlighted if click on Java code in Java editor. Demo (cont.)
Open launcher, create a new Bogor VM configuration. Demo (cont.)
Default Bogor configuration will be load from a properties file Demo (cont.)
Add a “test” parameter into config. Demo (cont.)
The newly added parameter shows in the Bogor Config tab. Demo (cont.)
Remove the “test” parameter, and click Run. A bogor-trail file is generated and the result is output in eclipse console. Demo (cont.)
Double click on the trail file, it opens Bogor counter examples view, bogor-trails editor, and Java editor. Demo (cont.)
Demo (cont.) Step through the error trace