august 7, 2003 bits c461/is c341 software engineering1 jlisten: a tool for program auralization last...

11
August 7, 2003 BITS C461/IS C341 Softwar e Engineering 1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

Upload: roger-cain

Post on 27-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

1

Jlisten: A Tool for Program Auralization

Last Update: August 6, 2003

Aditya Mathur

Page 2: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

2

What is program auralization?

Program auralization refers to the task of mapping program events and activities to sounds.

Program events:

“Sonification” is another term for “auralization.”

Execution begins

Control enters a loop.

Method check_balance is invoked.

Variable her_balance becomes greater than $1 million.

Page 3: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

3

Program events

Execution begins

Control enters a loop.

Method check_balance is invoked.

Variable her_balance becomes greater than $1 million.

Page 4: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

4

Program activities

Method detect_intrusion is executing.

Loop starting at label sort_begin is executing.

Page 5: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

5

Why auralize?

An auralized program can be “heard” while it executes.

Hearing the execution of an auralized program enables the detection of mapped events and activities.

Sound serves as a complement to printed or other visual media.

Sound allows the detection of events without having to “dig” into the program through a debugging or other tool.

Page 6: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

6

Past work in program auralization

Listen project at Purdue: Originally by Boardman and Mathur.

Several other (data) sonification projects at Georgia Tech, U of Illinois, Northumbria University, Sante Fe institute, etc.

http://www.cc.gatech.edu/computing/classes/cs7390_96_winter/feb14.html

http://computing.unn.ac.uk/staff/cgpv1/caitlin/

http://www.cs.purdue.edu/homes/apm/listen.html

Page 7: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

7

Jlisten: How does it work?

Page 8: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

8

Sample LSL spec [1]

/************************************************************************* File : sort.lsl* Author : David B. Boardman* Date : Aug 1994** For the bubble, insertion, and selection sort, this* specification auralizes the begin and end of a * program, the number of comparisons, and the* element swapped.*************************************************************************/

Page 9: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

9

Sample LSL spec [2]begin auralspecspecmodule tempbegin temp

syncto mmabs q = 60;

notify rule = prog_begin using begin_snd;notify rule = prog_end using end_snd;

notify rule = while_body_begin using sticks_sndin func = "insert_sort";

notify rule = while_statement_exit using sticks_sndin func = "insert_sort";

Page 10: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

10

Sample LSL spec [3]

notify rule = for_body_begin using sticks_sndin func = "bubble_sort" and func = "selection_sort";

dtrack tempwhen rule = function_entry:"exchange"until rule = function_return:"exchange"using flute2_snd;

end temp;end auralspec.

Page 11: August 7, 2003 BITS C461/IS C341 Software Engineering1 Jlisten: A Tool for Program Auralization Last Update: August 6, 2003 Aditya Mathur

August 7, 2003 BITS C461/IS C341 Software Engineering

11

Your tasks

Understand the problem well.

Perform requirement analysis. Make good use of information and components already available to you.

Design the Jlisten system.

Prototype Jlisten and have fun with it!

Can a program be mapped to Music?

Let us investigate through experimentation!