Title: Graduate Research
1Graduate Research
- Or how I learned to stop worrying, and love the
25 hour day. - by
- Jonathan Sprinkle
- http//ransom.vuse.vanderbilt.edu/
- http//www.isis.vanderbilt.edu/
2Overview
- Whats grad school about?
- Research in general
- The evolution of computing
- Modeling and metamodeling
- How modeling environments affect your world
- Questions and answers
Peter Sellers in Dr. Strangelove
3But first
My history
- B.S. TTU, May 1999
- Electrical Engineering (controls)
- Computer Engineering (first graduate ever!)
- M.S. Vanderbilt, August 2000
- My future
- Ph.D. Vanderbilt, May 2003
4Other Vanderbilt scholars you may know
- Dean Johnson (PhD Vandy, 1978)
- Jason Scott (BS TTU 95)
- Scooter Ball (BS TTU 01)
- Jason Rowe (BS TTU 01)
- Steve Nordstrom (BS TTU 01)
5Whats grad school about?
6Whats grad school about
- Teaching Assistant (TA)
- You spend 20 hours per week teaching class or
labs, and grading papers - Do your own research (for your MS/PhD thesis and
dissertation) on your own time - Research Assistant (RA)
- Spend 20 hours per week working (researching)
for a professor or researcher - Apply your work directly to your MS/PhD
thesis/dissertation (no extra work on the side
required!) - Pays usually a couple-hundred bucks better than
TAs
7Research in general
- What is the purpose of a BS in engineering?
- One answer
- To learn how to learn
8Research in general
- What are the requirements for an MS or PhD?
- MS
- Take some classes (usually 24-30 hours of
classwork, at about 9 hours per semester) - Write a thesis, which is on a successful piece of
research youve done - PhD
- Take some more classes (about 48 more hours than
the MS) - Writer a dissertation, which is about research
that furthers the state of the art, or makes a
contribution to your field
9Research in general
- So, what does it mean to have an MS or a PhD?
- MS
- You can do research under someone elses
direction - You have the ability to make others understand
what youve done - You can achieve a goal you set out to do
- PhD
- Everything thats an MS, plus
- You can direct your own research
- You can make others understand what nobody else
has done before
10Research in general
- So, what good is research?
- Youre not constantly reinventing the wheel,
because you can look to see if someone else has
done what you need to have - Someone elses work might spark a pattern
recognition for you, in another application - Plus, you can travel to your alma mater, and tell
them what the future of computing means for them
11The evolution of computing
12The evolution of computing
- ENIAC and Turings machine
- Physical properties of electromechanical devices
interpreted to perform a mathematical algorithm - Algorithms were configured by swapping wires
around between electromechanical devices - von Neumann
- Realized that this swapping, or switching could
be done with the devices themselves, meaning that
configurations, or programs could be data
themselves - Created the von Neumann architecture
13The evolution of computing
- Programming
- First called coding, was the organization of
1s and 0s into von Neumanns architecture to
program the algorithm - Assembly language
- Were textual representations of the 1s and 0s
that were machine code - Make programming more readable, but not more
easily creatable - People trained for years to get the knack of
programming, and many never got it
14The evolution of computing
- Computers were invented for
- Playing games
- CIA intelligence gathering
- Crunching numbers
- Destruction of the One Ring
15The evolution of computing
- Computers were invented for
- Playing games
- CIA intelligence gathering
- Crunching numbers
- Destruction of the One Ring
16The evolution of computing
17The evolution of computing
- The vision of FORTRAN
- What if, instead of assembly language
painstakingly crafted to do math operations
(e.g., vector arithmetic), there was a language
that was made for doing those operations - Thus was born the FORmula TRANslation language,
or FORTRAN - Brilliant for 2 reasons
- Now, mathematicians could be trained to program,
directly applying math knowledge - Now, there was a language for the domain of
mathematics
18The evolution of computing
- Over the years, many new languages have emerged
- COBOL (COmmon Business Oriented Language)
- C/C, Ada, Java, Python, et al.
- However, not all of these are for a specific
domain - Therefore, the programmer has to translate the
problem into code. This is what separates the
wheat from the chaff.
19The evolution of computing
- Then, came the application
- Lotus 1-2-3 changed business forever, with its
ability to create balance sheets quickly - For the domain of accounting, Lotus had created a
domain specific environment that was easy to use,
and enabled accountants to use it with little or
no training - The only problem was, the application was written
in clumsy code (probably C), and therefore,
difficult to evolve and maintain over the years.
20The evolution of computing
- Wouldnt it be great if it were easy to create
applications that were simple to use, yet useful
at the same time?
21Modeling and metamodeling
- Rapid design of modeling environments is a recent
research success in the area of modeling - It is now possible to create a working domain
application in a matter of hours instead of
weeks. - So what?
22Modeling and metamodeling
- Raise your hand if you like data entry
- Didnt think so
- Unfortunately, lots of data entry has to be done
in engineering domains - System configurations
- Plant layout
- Other boring stuff design engineers hate to do
23Modeling and metamodeling
- Wouldnt it be great
- If the domain I was designing for had a language
- If those people who work in that domain could do
all of the programming, because they know the
language? - Doesnt this remind you of FORTRAN?
24Modeling and metamodeling
- Enter the Domain Specific Modeling Environment
(DSME) - Custom made for each domain
- Finite state machines
- Digital component layout
- Saturns JIT (Just In Time) plant scheduling
- C class design
- Embedded system design
- Created so that domain users can use these DSMEs
to do their jobs better
25Modeling and metamodeling
- Lets take an easy example
- VHDL
- Now, would you rather lay out the model
graphically, or type in all of the text? - Domain specific modeling helps relieve the
programmer of mundane or difficult to
understand chores - This gives more time to the domain designer
(thats you!)
26Modeling and metamodeling
- So, whats the idea, here?
Metamodeling environment
Domain specific modeling environment
Executable models
27Modeling and metamodeling
- So, what does a metamodeler do then?
- Designs the language of a DSME
- Creates the types of models, and how they are
allowed to interact - Designs how that language is to be interpreted
- For each model type, create a meaning
- Then, the meaning of a designed system is derived
from the meaning of its components - Functions much like a compiler
- Designs constraints to help the domain modeler
know what s/hes doing - Outlaw certain interactions on a higher level
(e.g., its not okay to hook two outputs to each
other in a signal flow model)
28Modeling and metamodeling
- The bridge between design abstraction, and
modeling tool is found in the meaning of the
models - To give meaning to models is the job of a
metamodeler - Is this the end of the world for engineers?
29Modeling and metamodeling
30Modeling and metamodeling
- How did it use to be?
- Plant calls engineer
- Engineer designs system
- Plant okays engineers design
- Engineer builds system vicariously for 6
different plant engineers - Engineer spends 6 months debugging system, due to
ambiguous specifications from plant engineers
Design system
Design approval
Implementation
31Modeling and metamodeling
- Now, how should it be?
- Plant calls engineer
- Engineer develops metamodel
- Plant engineers experiment with models
- Plant engineers give feedback
- Final metamodel delivery
- Plant engineers build system
Design metamodel
Experimental approval
Final delivery
System built
32Modeling and metamodeling
- So what happens here?
- The people who used to build their systems with
memos and ambiguous design descriptions now get
to program their system into being - The design engineer who used to have to spend
valuable hours at the plant, tracing cables and
copying down robot numbers can now delegate that
work to the plant engineers - The plant work ends up being done by the people
who work at the plant, - The design work ends up being done by the
designer.
33What does this mean?
- Why, then, do we need design engineers anymore?
- Couldnt all of this be done with a CsC
background? - Remember that TANSTAFL
34What does this mean?
- Engineers still have to be there, to interpret
what the plant engineers want - Indeed, the ambiguity of the specification still
has to be resolved, it only means that the plant
engineers will understand earlier that there is
an ambiguity, because they are involved in the
programming - This means that in the future, design engineers
will use more and more computing techniques for
final deployment (duh!)
35When will I use this stuff?
- Maybe soon, maybe never
- The technology is proven, but the engineering
world is slow to accept it - Current research is making DSME development
easier, and system evolution more practical - Yours truly will get a PhD with one of these
topics, and TTU grads are doing research in them
right now at Vandy
36What have we learned today?
- Research helps further science
- Domain specific modeling can help in two ways
- Design engineers get to design, and dont have to
waste their time doing implementation - Domain engineers get more actively involved in
implementation, and dont waste their time in
the feedback loop with the designers of the
system - DSMEs might not change the world soon, but odds
are youve used one before, and youll definitely
use one later.
37What have we left out?
- What kinds of graduate schools are there?
- What grad school should you go to, if you have a
particular career path that demands it? - What is the airspeed velocity of an unladen
swallow?
38Questions and answers
Well HAL, Im damned if I can find anything
wrong with it. Yes. Its puzzling, isnt
it. -- 2001 A Space Odyssey