GEEK

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

description

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 - PowerPoint PPT Presentation

Transcript of GEEK

Page 1: GEEK

GEEKA Program for Tracking

Software Events

State of the Project

(Graphical Event Enquiry Kit)

Schroeder BernsteinBrain Landbonner

Burce SnadersBolzano Weierstrass

Page 2: GEEK

2

The GEEK Team

Brain Landbonner

… Schroeder Bernstein

… Burce Snaders

… Bolzano Weierstraas

… Brain Landbonner

Page 3: GEEK

3

Focus of This Presentation Project Overview User Interface Design Architecture Software Demo

Brain Landbonner

Page 4: GEEK

4

Focus of This Presentation Project Overview

The Class The Problem The Solution

User Interface Design Architecture Prototype

Brain Landbonner

Project Overview

Page 5: GEEK

5

The Class 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

Project Overview

Page 6: GEEK

6

Problem: Optimization Highly Competitive Market Selling Point:

Fast and Small Programs Needed:

Tool for Code Optimization

Brain Landbonner

Project Overview

Page 7: GEEK

7

The Solution: GEEK Uses of GEEK Major Requirements

Environmental Functional

Conceptual View of GEEK

Brain Landbonner

Project Overview

Page 8: GEEK

8

Solution: GEEK

Capture Software Events Display in Easy-to-Understand Manner Event Any Optimizable Feature

100

200

300

400

event1

event2

event3

event4

event5

event6

Numberof

Occurrences

Software Events

Brain Landbonner

Project Overview

Page 9: GEEK

9

Example: System Calls

Uncover Errors Uncover Inefficiencies

1000

2000

3000

4000

getpid read write open close getgid

Numberof

Occurrences

System Calls

Brain Landbonner

Project Overview

Page 10: GEEK

10

Other Optimization Uses Network Packet Transmissions X Windows Client-Server Communications Database Queries Method Calls Web Server Communication . . . and more

Brain Landbonner

Project Overview

Page 11: GEEK

11

Environmental Requirements 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

Project Overview

Page 12: GEEK

12

Functional Requirements 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

Project Overview

Page 13: GEEK

13

GEEK Conceptual Diagram

Brain Landbonner

Project Overview

Page 14: GEEK

14

Focus of This Presentation Project Overview User Interface Design Architecture Software Demo

Schroeder Bernstein

Page 15: GEEK

15

Focus of This Presentation Project Overview User Interface Design

Command Line Interface Graphical User Interface

Architecture Software Demo

Schroeder Bernstein

User Interface Design

Page 16: GEEK

16

Command Line Interface 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

User Interface Design

Page 17: GEEK

17

The GEEK Window

Schroeder Bernstein

User Interface Design

Page 18: GEEK

18

Current View Horizontal Histogram Scale Event Labels Scroll Bar

Schroeder Bernstein

User Interface Design

Page 19: GEEK

19

Global View Event Space Visualization Current View Location

Schroeder Bernstein

User Interface Design

Page 20: GEEK

20

Status Bar: Collection Counting

Events Counted When Received Not Counting

Events Ignored When Received

Schroeder Bernstein

User Interface Design

Page 21: GEEK

21

Status Bar: Update Automatic

Update at Periodic Intervals Manual

Update on Explicit User Request

Schroeder Bernstein

User Interface Design

Page 22: GEEK

22

Status Bar: Sort By Event

Ordered by Increasing Event ID By Count

Ordered by Decreasing Event Count

By Nothing Order Unchanged

Schroeder Bernstein

User Interface Design

Page 23: GEEK

23

Status Bar: Elapsed Time Time During Which Counting Occurred Displayed As …

Hours Minutes Seconds

Schroeder Bernstein

User Interface Design

Page 24: GEEK

24

Button Bar Start

Count Events When Received Stop

Ignore Events When Received Reset

Set Counts to Zero Update

Immediately Update Histogram

Schroeder Bernstein

User Interface Design

Page 25: GEEK

25

Menu Bar: File Save

Save Event Counts Save As …

Save Event Counts in Named File Preferences …

Modify User Preferences Exit …

Terminate GEEK Session

Schroeder Bernstein

User Interface Design

Page 26: GEEK

26

Menu Bar: Screen 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

User Interface Design

Page 27: GEEK

27

Menu Bar: Help Manuals Update Collection Sorting Time Saving Printing

Schroeder Bernstein

User Interface Design

Page 28: GEEK

28

An Example Help Window

Schroeder Bernstein

User Interface Design

Page 29: GEEK

29

Focus of This Presentation Project Overview User Interface Design Architecture Software Demo

Bolzano Weierstraas

Page 30: GEEK

30

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Bolzano Weierstraas

Architecture

Page 31: GEEK

31

GEEK Modules

eventscommands

event counts

invocation

Bolzano Weierstraas

Architecture

Page 32: GEEK

32

Generator

Means to Execute Generator Program

Outputs Stream of Event IDs

events

invocation

Bolzano Weierstraas

Architecture

Page 33: GEEK

33

Accumulator Accepts Stream of

Event IDs Counts Events Accepts Accumulator

Commands Start Start Counting Events Stop Stop Counting Events Reset Set Event Counts to Zero Send Return Event Counts

eventscommands

event counts

Bolzano Weierstraas

Architecture

Page 34: GEEK

34

PostScript Converter

Translates ASCII Event Count File

to PostScript Event Count File

Bolzano Weierstraas

Architecture

Page 35: GEEK

35

Graphical User Interface

Provides All User Interaction

Reads Event Specification File

Writes ASCII Event Count File

commands

invocation

event counts

Bolzano Weierstraas

Architecture

Page 36: GEEK

36

Process Structure

Each Module a Process

Communication via Pipes

Bolzano Weierstraas

Architecture

Page 37: GEEK

37

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Page 38: GEEK

38

Object Structure

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Geek

Page 39: GEEK

39

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Page 40: GEEK

40

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Page 41: GEEK

41

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Page 42: GEEK

42

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Burce Snaders

Architecture

Page 43: GEEK

43

GEEK ClassesGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Burce Snaders

Architecture

Page 44: GEEK

44

The Counter Class

Burce Snaders

CounterID Create(GeekEvent maxevent)

ErrorStatus Load(Integer fd)

EventCount EventCount(GeekEvent event)

GeekEvent MaxEvent()

Copy(CounterID destination)

Delete()

Architecture

Page 45: GEEK

45

The Form Class

Burce Snaders

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()

Architecture

Page 46: GEEK

46

The Form Window

Burce Snaders

Architecture

Page 47: GEEK

47

The Accumulator Class

Burce Snaders

AccumulatorID Create(String path, Integer eventfd, GeekEvent maxevent)

ErrorStatus Send() ErrorStatus Start() ErrorStatus Stop() ErrorStatus Reset() GeekEvent MaxEvent() CounterID Counter() Delete()

Architecture

Page 48: GEEK

48

Application

Burce Snaders

ApplicationID Create( String genfile,

String genargs[], GeekEvent maxevent, String labelsfile,

Integer argc, String argv[], Function exitcallback)

Delete()

Architecture

Page 49: GEEK

49

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Burce Snaders

Architecture

Page 50: GEEK

50

File Formats Event Specification File ASCII Event Count File PostScript Event Count File

Burce Snaders

Architecture

Page 51: GEEK

51

Event Specification File

Burce Snaders

# Event Specification File for Factory Monitor# Valve Events0 Valve Opened1 Valve Closed# Pump Events2 Pump Started3 Pump Stopped# Tank Temperature Events4 Tank 1 Exceeded Max Temperature5 Tank 2 Exceeded Max Temperature6 Tank 3 Exceeded Max Temperature# Tank Pressure Events7 Tank 1 Exceeded Max Pressure8 Tank 2 Exceeded Max Pressure9 Tank 3 Exceeded Max Pressure# Some unknown event that seems to occur periodically10 Unknown Event

Architecture

Page 52: GEEK

52

ASCII Event Count File

Burce Snaders

# GEEK (Graphical Event Enquiry Kit) Event Count Filegenerator /usr/local/bin/facmon -noalarms -i 5 -tank 1-2maxevent 12elapsedtime 1863# Event Count Label2 37 Pump Started3 37 Pump Stopped0 26 Valve Opened1 26 Valve Closed5 11 Tank 2 Exceeded Max Temperature8 9 Tank 2 Exceeded Max Pressure7 3 Tank 1 Exceeded Max Pressure10 2 Unknown Event11 1 Event 114 0 Tank 1 Exceeded Max Temperature6 0 Tank 3 Exceeded Max Temperature9 0 Tank 3 Exceeded Max Pressure12 0 Event 12

Architecture

Page 53: GEEK

53

PostScript Event Count File

Burce Snaders

Architecture

Page 54: GEEK

54

Focus of This Presentation Project Overview User Interface Design Architecture Software Demo

Brain Landbonner

Page 55: GEEK

55

Software Demo

Brain Landbonner

Page 56: GEEK

56

Summary Project Overview

The Class The Problem The Solution

User Interface Design Command Line Interface Graphical User Interface

Architecture Overview GEEK Classes File Formats

Software DemoBrain Landbonner

Page 57: GEEK

57

GEEK Helps Optimization Extremely Flexible Easy to Configure Easy to Use Easy to Interpret Results

Brain Landbonner