1 / 57

GEEK

State of the Project. GEEK. (Graphical Event Enquiry Kit). A Program for Tracking Software Events. Schroeder Bernstein Brain Landbonner Burce Snaders Bolzano Weierstrass. The GEEK Team. … Schroeder Bernstein … Burce Snaders … Bolzano Weierstraas

evette
Télécharger la présentation

GEEK

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. State of the Project GEEK (Graphical Event Enquiry Kit) A Program for Tracking Software Events Schroeder Bernstein Brain Landbonner Burce Snaders Bolzano Weierstrass

  2. The GEEK Team • … Schroeder Bernstein • … Burce Snaders • … Bolzano Weierstraas • … Brain Landbonner Brain Landbonner

  3. Focus of This Presentation • Project Overview • User Interface Design • Architecture • Software Demo Brain Landbonner

  4. Focus of This Presentation Project Overview • Project Overview • The Class • TheProblem • The Solution • User Interface Design • Architecture • Prototype Brain Landbonner

  5. The Class Project Overview • Computer Science Capstone • 61 Students … 13 Teams • Industry Projects • Multi-User Cell Phone Game • (QUALCOMM Incorporated) • Peer Distributed Transfer Protocol • (ClickCaster, Inc.) • Remote Icing Sensing System • (NASA) Brain Landbonner

  6. Problem: Optimization Project Overview • Highly Competitive Market • Selling Point: • Fast and Small Programs • Needed: • Tool for Code Optimization Brain Landbonner

  7. The Solution: GEEK Project Overview • Uses of GEEK • Major Requirements • Environmental • Functional • Conceptual View of GEEK Brain Landbonner

  8. Solution: GEEK Project Overview 400 • Capture Software Events • Display in Easy-to-Understand Manner • Event Any Optimizable Feature 300 Number of Occurrences 200 100 event 1 event 2 event 3 event 4 event 5 event 6 Software Events Brain Landbonner

  9. Example: System Calls Project Overview 4000 • Uncover Errors • Uncover Inefficiencies 3000 Number of Occurrences 2000 1000 getpid read write open close getgid System Calls Brain Landbonner

  10. Other Optimization Uses Project Overview • Network Packet Transmissions • X Windows Client-Server Communications • Database Queries • Method Calls • Web Server Communication • . . . and more Brain Landbonner

  11. Environmental Requirements Project Overview • Software/Development Environment • ANSI C • X Window System X11R7 • OpenMotif • Red Hat Linux • RCS • Hardware Environment • 1024 x 768 24-bit Color Display • Pointing Device and Keyboard • Supports the Software Environment • PostScript Printer Brain Landbonner

  12. Functional Requirements Project Overview • Event Configuration File • Interface to Generator • Screen Display Format • ASCII Output File • PostScript Output • Screen Update Interval • Software Event Collection • Multiple GEEK Sessions Brain Landbonner

  13. GEEK Conceptual Diagram Project Overview Brain Landbonner

  14. Focus of This Presentation • Project Overview • User Interface Design • Architecture • Software Demo Schroeder Bernstein

  15. Focus of This Presentation User Interface Design • Project Overview • User Interface Design • Command Line Interface • Graphical User Interface • Architecture • Software Demo Schroeder Bernstein

  16. Command Line Interface User Interface Design • Maximum Event • Event Specification File • Standard X Arguments • Generator Command % geek-m 1000 -l labels -display yquem:0.0 -- facmon -t3 -l -z Schroeder Bernstein

  17. The GEEK Window User Interface Design Schroeder Bernstein

  18. Current View User Interface Design • Horizontal Histogram • Scale • Event Labels • Scroll Bar Schroeder Bernstein

  19. Global View User Interface Design • Event Space Visualization • Current View Location Schroeder Bernstein

  20. Status Bar: Collection User Interface Design • Counting • Events Counted When Received • Not Counting • Events Ignored When Received Schroeder Bernstein

  21. Status Bar: Update User Interface Design • Automatic • Update at Periodic Intervals • Manual • Update on Explicit User Request Schroeder Bernstein

  22. Status Bar: Sort User Interface Design • By Event • Ordered by Increasing Event ID • By Count • Ordered by Decreasing Event Count • By Nothing • Order Unchanged Schroeder Bernstein

  23. Status Bar: Elapsed Time User Interface Design • Time During Which Counting Occurred • Displayed As … • Hours • Minutes • Seconds Schroeder Bernstein

  24. Button Bar User Interface Design • Start • Count Events When Received • Stop • Ignore Events When Received • Reset • Set Counts to Zero • Update • Immediately Update Histogram Schroeder Bernstein

  25. Menu Bar: File User Interface Design • Save • Save Event Counts • Save As … • Save Event Counts in Named File • Preferences … • Modify User Preferences • Exit … • Terminate GEEK Session Schroeder Bernstein

  26. Menu Bar: Screen User Interface Design • Sort • By Event Set Criteria “By Event” • By Count Set Criteria “By Count” • By Nothing Set Criteria “By Nothing” • Update • Automatic Set Periodic Update • Manual Set Update on User Request Schroeder Bernstein

  27. Menu Bar: Help User Interface Design • Manuals • Update • Collection • Sorting • Time • Saving • Printing Schroeder Bernstein

  28. An Example Help Window User Interface Design Schroeder Bernstein

  29. Focus of This Presentation • Project Overview • User Interface Design • Architecture • Software Demo Bolzano Weierstraas

  30. Focus of This Presentation Architecture • Project Overview • User Interface Design • Architecture • Overview • GEEK Classes • File Formats • Software Demo Bolzano Weierstraas

  31. GEEK Modules Architecture invocation events commands event counts Bolzano Weierstraas

  32. Generator Architecture • Means to Execute Generator Program invocation events • Outputs Stream of Event IDs Bolzano Weierstraas

  33. Accumulator Architecture • Accepts Stream of Event IDs • Counts Events events commands • Accepts Accumulator Commands • Start Start Counting Events • Stop Stop Counting Events • Reset Set Event Counts to Zero • Send Return Event Counts event counts Bolzano Weierstraas

  34. PostScript Converter Architecture • Translates • ASCII Event Count File • to • PostScript Event Count File Bolzano Weierstraas

  35. Graphical User Interface Architecture • Provides All User Interaction invocation commands • Reads Event Specification File event counts • Writes ASCII Event Count File Bolzano Weierstraas

  36. Process Structure Architecture • Each Module a Process • Communication via Pipes Bolzano Weierstraas

  37. Object Structure Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Bolzano Weierstraas

  38. Object Structure Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Bolzano Weierstraas

  39. Object Structure Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Bolzano Weierstraas

  40. Object Structure Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Bolzano Weierstraas

  41. Object Structure Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Bolzano Weierstraas

  42. Focus of This Presentation Architecture • Project Overview • User Interface Design • Architecture • Overview • GEEK Classes • File Formats • Software Demo Burce Snaders

  43. GEEK Classes Architecture Geek Application Generator Accumulator SortOrder Labels Form Counter Clock Graph SortOrder Counter Burce Snaders

  44. The Counter Class Architecture • CounterID Create(GeekEvent maxevent) • ErrorStatus Load(Integer fd) • EventCount EventCount(GeekEvent event) • GeekEvent MaxEvent() • Copy(CounterID destination) • Delete() Burce Snaders

  45. The Form Class Architecture • FormID Create(LabelsID labels, Widget shell, Menus menus, Buttons buttons, Statuses statuses, Data data) • SetStatus(Integer status, String string) • StartElapsedTime() • StopElapsedTime() • ResetElapsedTime() • Time ReadElapsedTime() • Update(SortOrderID sortorder, CounterID counter) • Delete() Burce Snaders

  46. The Form Window Architecture Burce Snaders

  47. The Accumulator Class Architecture • AccumulatorID Create(String path, Integer eventfd, GeekEvent maxevent) • ErrorStatus Send() • ErrorStatus Start() • ErrorStatus Stop() • ErrorStatus Reset() • GeekEvent MaxEvent() • CounterID Counter() • Delete() Burce Snaders

  48. Application Architecture • ApplicationID Create( String genfile, String genargs[], GeekEvent maxevent, String labelsfile, Integer argc, String argv[], Function exitcallback) • Delete() Burce Snaders

  49. Focus of This Presentation Architecture • Project Overview • User Interface Design • Architecture • Overview • GEEK Classes • File Formats • Software Demo Burce Snaders

  50. File Formats Architecture • Event Specification File • ASCII Event Count File • PostScript Event Count File Burce Snaders

More Related