80 likes | 177 Views
Listen/Java. Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002. Introduction. What is Listen/Java? Motivation Overall architecture Future experiments Demonstrations. What is Listen/Java?.
E N D
Listen/Java Edward L. Gilmore II Bryan P. Strait Aditya P. Mathur Purdue University {gilmorel,apm,straitbp}@cs.purdue.edu 10.25.2002
Introduction • What is Listen/Java? • Motivation • Overall architecture • Future experiments • Demonstrations
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.
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.
Java source file (J) Instrumented Java file (J’) LSL spec. file LSL/Java Environment: Compilation javac Listen Generates table of program events to be auralized Java parser decorates parse tree based on table LSL parser ListenEvent table Java parser
Instrumented File Overview ListenMediaManager class ListenEvent class Instrumented file includes ListenSoundManager.play(ListenEvent); includes JavaSound API
Future Experiments • Defibrillator • Heart events corresponding to embedded program events can be auralized to monitor heart status • Network monitoring • Software testing & debugging
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.