1 / 29

BRUE

BRUE. Presentation 2 Sri Raguraman CIS 895 Kansas State University. Overview of Presentation. Overall flow. Critical use-cases. Core functionalities. Each Core functionality is implemented as an Eclipse plug-in. Interface between plug-ins is through extension-points.

obert
Download Presentation

BRUE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BRUE Presentation 2 Sri Raguraman CIS 895 Kansas State University

  2. Overview of Presentation

  3. Overall flow

  4. Critical use-cases

  5. Core functionalities Each Core functionality is implemented as an Eclipse plug-in. Interface between plug-ins is through extension-points.

  6. Plug-ins and their dependencies

  7. Use-Case 1

  8. Plug-in CollectorResponsibilities • 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.

  9. Plug-in CollectorPackage Diagram

  10. Plug-in CollectorLaunch configuration

  11. Plug-in CollectorInstrumentation • Instruments class files • Uses Eclipse Probekit for instrumentation. • Records Method Entry and Method Exit events • Method exit event includes actual return type, and any exception thrown. • Attaches Probekit.jar to running application.

  12. Plug-in CollectorLaunching Java application

  13. Plug-in CollectorInteraction between launcher and instrumenter

  14. Use-case 2 • Need to control when to start or stop trace data collection.

  15. Plug-in CollectorControlling when to collect trace data • Agent class • On a thread, from within the launched application, listen for requests from BRUE plug-in. • Maintain flags for enabling or disabling trace data collection.

  16. Controlling trace data collection

  17. Trace XML Structure • 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).

  18. Trace XML Structure

  19. Generating UML2 Model files • 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

  20. Building UML2 Models • Use of Builder pattern

  21. Use-case 3

  22. Package diagram and class diagram • 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. • (Pending).

  23. Viewing Interaction Diagrams • 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)

  24. Sequence diagram Models

  25. Sequence DiagramsEditparts • One Edit part per Model

  26. Sequence DiagramFigures

  27. Drawing a sequence diagramSequenceDiagramEditor

  28. Artifacts • 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.

  29. Demo

More Related