PRESENTATION 2 Sri Raguraman CIS 895 Kansas State University
Overall flow Critical use-cases Overview Overall structural view Detailed view of each module Implemented as Eclipse plug-ins Architecture Formal specification Project plan and Test Plan Demo Artifacts Demo
Launch application Collect execution trace XML format Collect trace Analyze trace xml Generate UML model files Analyze trace Visualize UML model files as UML diagrams Visualize
Collector Collect execution trace from running application Analyzer Generate UML model files Ui Visualizer Render model files as UML diagrams Each Core functionality is implemented as an Eclipse plug-in. Interface between plug-ins is through extension-points.
Defining BRUE Launch configuration Can specify which packages/classes/methods to instrument Instrumenting application Uses Eclipse Probekit to instrument class files Launching application Uses Eclipse launch configuration delegates to launch Java applications.
Instruments class files Uses Eclipse Probekit for instrumentation. Probekits Snippet of code to be run at method entry/exit events. Records Method Entry and Method Exit events Method exit event includes actual return type, and any exception thrown.
Need to control when to start or stop trace data collection. Need a way for BRUE plug-in to “talk” to the launched application.
A lightweight Agent class is attached to application On a thread, from within the launched application, listen for requests from BRUE plug-in. Maintain flags for enabling or disabling trace data collection.
A “Scenario” contains a trace of method entry and method exit events. The events references an id that describes the method details (method name, signature, return type, its class name, package name).
Parse trace xml file. Extract packages and classes from trace xml file Build UML2 based package model Build UML2 based class model Build UML2 based interaction model
Use of Builder pattern
Eclipse GMF used to draw packages and classes Model – UML2 model generated from analyzer Graphical definition file Contains properties for graphical notations (rectangle, polyline) Graphical mapping definition Maps UML2 model elements with graphical notations. Eclipse GMF builds a editor based on the mapping.
Use of Eclipse GEF Sequence diagrams is not freeform and should conform to UML2 specifications. GEF applications follow MVC paradigm Model EditPart (Controller) Figure (View)
One Edit part per Model
Deployed as Eclipse plug-in Dependencies Java 5 or later Eclipse 3.2 (or later) with these plug-ins GMF 2.0 GEF 3.2 UML2 2.0
Test Plan Use of JUnit Planned to use Eclipse TPTP for measuring test coverage Formal specification Positioning of sequence diagram model elements Project Plan Planning for Presentation 3 in September third week.