aditya p. mathur professor department of computer sciences purdue university, west lafayette monday...
TRANSCRIPT
Aditya P. Mathur
ProfessorDepartment of Computer SciencesPurdue University, West Lafayette
Monday Feb 6, 201211:30am
Interdisciplinary Fun
CS 197 Freshman Honors Seminar
1
http://www.cs.purdue.edu/homes/apm/talks.html
2
What is “Interdisciplinary” ?
Combining two or more academic disciplines or fields of
study, e.g., CS and Biology.
Crossing traditional discipline boundaries, e.g., CS
undergraduate working with a speech science professor
to model and investigate the behavior of cells in the
human cochlea.
3
Why “Interdisciplinary” ?
To fulfill a desire to face and overcome new challenges,
e.g., chip in the brain.
To solve problems that are difficult to solve using the
knowledge and skills acquired of education in a single
traditional academic discipline, e.g., understanding
human emotions.
To be able to appreciate what and how others do what
they do, e.g., What does a cell biologist do in her lab?
To be able to work in teams that solve complex
problems, e.g., the design of the Mars (Human) Lander.
4
What is your discipline?
“We are not students of some subject matter, but
students of problems. And problems may cut right
across the borders of any subject matter or discipline.” -
Karl Popper
Popper, K. R. “Conjectures and Refutations: The
Growth of Scientific Knowledge.” New York:
Routledge and Kegan Paul, 1963, p. 88.
5
You and the future
“The time is upon us to recognize that the new frontier is
the interface, wherever it remains unexplored…. In the
years to come, innovators will need to jettison the security
of familiar tools, ideas, and specialties as they forge new
partnerships.”
Kafatos, F.C. and Eisner, T., “Unification in the
Century of Biology.” Science, 303 (February 27):1257,
2004.
6
Examples from my Life!
Combining traditional Software Engineering with traditional engineering
Combining Computer Science with Audiology
Combining Computer Science with Music
7
The System Test Phase: Parametric Control
Cangussu et al. TSE 2002
Computer Science and Control Engineering
8
Software Process Control: The Problem
A (large) team of engineers is engaged in developing a
software/hardware system.
Requirements are known.
Project schedule has been developed and approved.
How does one monitor and control
the development process?
9
Traditional approach: Metrics driven
Test effort
Err
ors
D
isco
vere
d/
fixed
10
Proposed approach: Feedback Control theory driven
Specifications
SystemEffort +
f(e)Additionaleffort What is f ?
-
RequiredQuality
ObservedQuality
11
Sample Study: Modeling the system test phase
Software Test Process (STP): System test phase; physical system analogy
Objective:Control the STP so that the quality of the tested software is as desired.
Quantification of quality of software:• Number of remaining errors• Reliability
12
Problem Scenario
cp1 cp2 cp3 cp4 cp5 cp6 cp7 cp8 cp9
cpi = check point i
rf
schedule set bythe manager
Approximation of how r is likely to change
r0 observed
deadline
r -
num
ber
ofre
mai
ning
err
ors
t- time
t0
13
Our Approach
Controllerrerror(t)
’
w’f
+
+
wf+wf
+
wf+wf
+
robserved(t)
rexpected(t)
Actual STP
sc r0
STP State Model
sc r0
Initial Settings(wf,)
wf
Test Manager
wf: workforce : quality of the test process
14
Physical and Software Systems: An Analogy
Dashpot
Rigid surface
External force
Xequilibrium
X: Position
Number of remainingerrors
Spring Force
Effective Test Effort
Block
Software
Mass of the blockSoftware
complexity
Quality of thetest process
Viscosity
Xcurrent
SpringTo err isHuman
15
Physical Systems: Laws of Motion [1]
First Law:
Every object in a state of uniform motion tends to remain in that state of motion unless an external force is applied to it.
Does not (seem to) apply to testing because the number of errors does not change when no external effort is applied to the application.
16
Physical Systems: Laws of Motion [2]
Newton’s Second Law:
The relationship between an object's mass m, its acceleration a, and the applied force F is F = ma.
CDM First Postulate:
The relationship between the complexity Sc of an application, its rate of reduction in the number of remaining errors, and the applied effort E is E=Sc .
r..
17
Physical Systems: Laws of Motion [3]
Third Law:
For every action force, there is an equal and opposite reaction force.
When an effort is applied to test software, it leads to (mental) fatigue on the tester.
Unable to quantify this relationship.
18
CDM First Postulate
The magnitude of the rate of decrease of the remaining errorsis directly proportional to the net applied effort and inverselyproportional to the complexity of the program under test.
This is analogous to Newton’s Second Law of motion.
19
CDM Second Postulate
The magnitude of the effective test effort is proportional to theproduct of the applied work force and the number of remaining errors.
for an appropriate .
Analogy with the spring:
Note: While keeping the effective test effort constant, a reduction in r requires an increase in workforce.
20
CDM Third Postulate
The error reduction resistance is proportional to the errorreduction velocity and inversely proportional to the overallquality of the test phase.
for an appropriate .
Analogy with the dashpot:
Note: For a given quality of the test phase, a larger error reduction velocity leads to larger resistance.
21
State Model
: Disturbance
x(t) = Ax(t) + B u(t).
Force (effort) balance equation:
22
Computing the feedback-Question
Question:
What changes to the process parameters will achieve the desired r(T+T) ?
r(T): the number of remaining errors at time T
r(T+T): the desired number of remaining errors attime T+T
Given:
23
This work led to Software Cybernetics
A (new) discipline that aims at the
development of models and control
methodologies for software and the software
development processes.
24
Fun with CS and Music: The Listen/JListen Project
http://www.cs.purdue.edu/homes/apm/listen.html
Computer Science and Music
25
You as a composer, your program as a symphony!
Have you ever thought how will your program sound if
you were able to “listen” to it during execution?
26
The JListen System
yourProgram.java
Programauralizer
yourProgramAuralized.java
Sound library Run timecontrols
ProgramListener
Event-sound mapping
27
Example: Bubble sort
Event Instrument Note
before if statement Orchestral Hit G4if body begin Taiko Drum E3if body end Taiko Drum G3after if statement Orchestral Hit C4before for loop Taiko Drum E5for body begin Orchestral Hit E4after for loop Orchestral Hit C5body begin Taiko Drum D3body end Taiko Drum C3
BubbleSort.mp3
28
Example: Primality Check
Event Instrument Note
before if statement Piano E5 if body begin Celesta C6 if body end Celesta C4 after if statement Piano C5 for body begin Piano G4 for body end Piano D5 body begin Celesta F3 body end Celesta C4
CheckPrimality.mp3
29
Example: CS 180 Calculator Program
Event Instrument Note
before if statement Electric Piano 2 E3 if body begin Piano B4 if body end Piano C5 after if statement Electric Piano 1 A3 before for loop Acoustic Bass G4 for body begin Acoustic Bass C4 for body end Acoustic Bass E4 after for loop Acoustic Bass D5 body begin Piano B4 body end Cello A3 Calculator.mp3
actionPerformed()
30
Summary
Interdisciplinary “thinking” brings new, and perhaps better, solutions to problems.
Interdisciplinary education helps one to work in teams of people from different disciplines to solve complex problems.
31
Thank you!