Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University...

8
Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.pu rdue.edu 10.25.2002

Transcript of Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University...

Page 1: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

Listen/Java

Edward L. Gilmore IIBryan P. StraitAditya P. MathurPurdue University{gilmorel,apm,straitbp}@cs.purdue.edu

10.25.2002

Page 2: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

2

Introduction

What is Listen/Java? Motivation Overall architecture Future experiments Demonstrations

Page 3: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

3

What is Listen/Java?

A tool for mapping program events to sound. Provides automated code instrumentation to

investigate use of sound in computing environments.

Listen Specification Language (LSL): language for specifying aural events.

LSL/Java is an evolution of prior work done with LSL/C.

Page 4: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

4

Motivation

Investigate the usefulness of sound in various software engineering-related tasks.

Use program auralization to improve quality of simulations of telephone networks, mechanical systems, and biological systems.

Data analysis using aural cues. Development of programming environments

for visually handicapped. Research in novel approaches to music

composition.

Page 5: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

5

LSL/Java Environment:

Java source file (J)

LSL spec. file

Instrumented Java file(J’)

LSL parser

Generates table of program events to be auralized

Java parser decorates parse tree based on table

Listen

Java parserListenEvent table

javac

Compilation

Page 6: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

6

Instrumented File Overview

ListenSoundManager.play(ListenEvent);

Instrumented fileListenMediaManager

classListenEvent

class

JavaSound API

includes

includes

Page 7: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

7

Future Experiments

Defibrillator Heart events corresponding to embedded

program events can be auralized to monitor heart status

Network monitoring Software testing & debugging

Page 8: Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002.

8

Demos

1) Program flow - Learning objective: to identify when a

program has entered and exited a while loop.

2) Variable access - Learning objective: to identify when a

specific variable has been used.