GEEK

Post on 22-Feb-2016

37 views 0 download

Tags:

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

GEEKA Program for Tracking

Software Events

State of the Project

(Graphical Event Enquiry Kit)

Schroeder BernsteinBrain Landbonner

Burce SnadersBolzano Weierstrass

2

The GEEK Team

Brain Landbonner

… Schroeder Bernstein

… Burce Snaders

… Bolzano Weierstraas

… Brain Landbonner

3

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

Brain Landbonner

4

Focus of This Presentation Project Overview

The Class The Problem The Solution

User Interface Design Architecture Prototype

Brain Landbonner

Project Overview

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

6

Problem: Optimization Highly Competitive Market Selling Point:

Fast and Small Programs Needed:

Tool for Code Optimization

Brain Landbonner

Project Overview

7

The Solution: GEEK Uses of GEEK Major Requirements

Environmental Functional

Conceptual View of GEEK

Brain Landbonner

Project Overview

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

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

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

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

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

13

GEEK Conceptual Diagram

Brain Landbonner

Project Overview

14

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

Schroeder Bernstein

15

Focus of This Presentation Project Overview User Interface Design

Command Line Interface Graphical User Interface

Architecture Software Demo

Schroeder Bernstein

User Interface Design

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

17

The GEEK Window

Schroeder Bernstein

User Interface Design

18

Current View Horizontal Histogram Scale Event Labels Scroll Bar

Schroeder Bernstein

User Interface Design

19

Global View Event Space Visualization Current View Location

Schroeder Bernstein

User Interface Design

20

Status Bar: Collection Counting

Events Counted When Received Not Counting

Events Ignored When Received

Schroeder Bernstein

User Interface Design

21

Status Bar: Update Automatic

Update at Periodic Intervals Manual

Update on Explicit User Request

Schroeder Bernstein

User Interface Design

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

23

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

Hours Minutes Seconds

Schroeder Bernstein

User Interface Design

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

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

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

27

Menu Bar: Help Manuals Update Collection Sorting Time Saving Printing

Schroeder Bernstein

User Interface Design

28

An Example Help Window

Schroeder Bernstein

User Interface Design

29

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

Bolzano Weierstraas

30

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Bolzano Weierstraas

Architecture

31

GEEK Modules

eventscommands

event counts

invocation

Bolzano Weierstraas

Architecture

32

Generator

Means to Execute Generator Program

Outputs Stream of Event IDs

events

invocation

Bolzano Weierstraas

Architecture

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

34

PostScript Converter

Translates ASCII Event Count File

to PostScript Event Count File

Bolzano Weierstraas

Architecture

35

Graphical User Interface

Provides All User Interaction

Reads Event Specification File

Writes ASCII Event Count File

commands

invocation

event counts

Bolzano Weierstraas

Architecture

36

Process Structure

Each Module a Process

Communication via Pipes

Bolzano Weierstraas

Architecture

37

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

38

Object Structure

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

Geek

39

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

40

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

41

Object StructureGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Bolzano Weierstraas

Architecture

42

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Burce Snaders

Architecture

43

GEEK ClassesGeek

LabelsGenerator Accumulator

Application

FormSortOrder

Graph

SortOrder

Counter Clock

Counter

Burce Snaders

Architecture

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

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

46

The Form Window

Burce Snaders

Architecture

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

48

Application

Burce Snaders

ApplicationID Create( String genfile,

String genargs[], GeekEvent maxevent, String labelsfile,

Integer argc, String argv[], Function exitcallback)

Delete()

Architecture

49

Focus of This Presentation Project Overview User Interface Design Architecture

Overview GEEK Classes File Formats

Software Demo

Burce Snaders

Architecture

50

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

Burce Snaders

Architecture

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

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

53

PostScript Event Count File

Burce Snaders

Architecture

54

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

Brain Landbonner

55

Software Demo

Brain Landbonner

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

57

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

Brain Landbonner