graduate research

38
Vanderbilt University Institute for Software Integrated Systems Nashville, TN Graduate 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/

Upload: jalena

Post on 24-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

Graduate 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/. Overview. What’s grad school about? Research in general The evolution of computing Modeling and metamodeling - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Graduate Research

Vanderbilt UniversityInstitute for Software Integrated Systems

Nashville, TN

Graduate Research

Or how I learned to stop worrying, and love the 25 hour day.

byJonathan Sprinkle

http://ransom.vuse.vanderbilt.edu/http://www.isis.vanderbilt.edu/

Page 2: Graduate Research

Overview

• What’s 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

Page 3: Graduate Research

But first…

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

There’s 24 hours in a day, and then you’ve got all night, too.

- Dr. Gabor Karsai, my advisor

My history:

Page 4: Graduate Research

Other 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)

Page 5: Graduate Research

What’s grad school about?

• What grad school is:– A different style of learning– Less supervision– More responsibility– More rewards

• What grad school is not:– Your senior year(s) for a few more years– All work and no play– A breeze

Page 6: Graduate Research

What’s 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 TA’s

Page 7: Graduate Research

Research in general

• What is the purpose of research in engineering:– Establish

• Trends• New techniques• New theories and applications

E researchus unum

– Show others what you’ve learned• Publish in journals• Attend conferences

• What is the purpose of a BS in engineering?

• One answer– To learn how to learn

Page 8: Graduate Research

Research 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 you’ve 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

Page 9: Graduate Research

Research in general

• So, what does it mean to have an MS or a PhD?

• MS– You can do research under someone else’s

direction– You have the ability to make others understand

what you’ve done– You can achieve a goal you set out to do

• PhD– Everything that’s an MS, plus– You can direct your own research– You can make others understand what nobody else

has done before

Page 10: Graduate Research

Research in general

• So, what good is research?– You’re not constantly reinventing the wheel,

because you can look to see if someone else has done what you need to have

– Someone else’s 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

Page 11: Graduate Research

The evolution of computing

Page 12: Graduate Research

The evolution of computing

• ENIAC and Turing’s 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

Page 13: Graduate Research

The evolution of computing

• Programming– First called “coding”, was the organization

of 1’s and 0’s into von Neumann’s architecture to program the algorithm

• Assembly language– Were textual representations of the 1’s and

0’s 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

Page 14: Graduate Research

The evolution of computing

Computers were invented for:a. Playing gamesb. CIA intelligence gatheringc. Crunching numbersd. Destruction of the One Ring

Page 15: Graduate Research

The evolution of computing

Computers were invented for:a. Playing gamesb. CIA intelligence gatheringc. Crunching numbersd. Destruction of the One Ring

Page 16: Graduate Research

The evolution of computing

• So, how did this work?

Math guy spends 12 hoursexplaining algorithm to

programmer

Programmer spends 60 hourscoding and debuggingprogram for math guy

Page 17: Graduate Research

The 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

Page 18: Graduate Research

The 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.

Page 19: Graduate Research

The 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.

Page 20: Graduate Research

The evolution of computing

• Wouldn’t it be great if it were easy to create applications that were simple to use, yet useful at the same time?

Bottled beer taste in a can.Wouldn’t that be great?

Page 21: Graduate Research

Modeling 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?”

“Surely you can’t be serious?!”“I am serious. And stop calling me Shirley.” -- Airplane!

Page 22: Graduate Research

Modeling and metamodeling

• Raise your hand if you like data entry• Didn’t 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

Space Ghost: data entry superhero!!!

Page 23: Graduate Research

Modeling and metamodeling

• Wouldn’t 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?

• Doesn’t this remind you of FORTRAN?

Yggdrasil, the Icelandic tree of knowledge

Page 24: Graduate Research

Modeling and metamodeling

• Enter the Domain Specific Modeling Environment (DSME)– Custom made for each domain

• Finite state machines• Digital component layout• Saturn’s 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

Page 25: Graduate Research

Modeling and metamodeling

• Let’s 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 (that’s you!)

Alright! More time!

Page 26: Graduate Research

Modeling and metamodeling

• So, what’s the idea, here?

Metamodelingenvironment

Domain specificmodeling

environment

Executablemodels

System designer

System user(s)

Plant!!!

Produces

Produces

Uses

Program(s)

Runs

Page 27: Graduate Research

Modeling 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/he’s doing

• Outlaw certain interactions on a higher level (e.g., it’s not okay to hook two outputs to each other in a signal flow model)

Page 28: Graduate Research

Modeling 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?

Page 29: Graduate Research

Modeling and metamodeling

Page 30: Graduate Research

Modeling and metamodeling

• How did it use to be?– Plant calls engineer– Engineer designs system– Plant okay’s engineer’s

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

Implementation

Design approval

– Engineer vows to take an oath of silence, and move to a monastery in Switzerland, populated by Eunuchs programming Unix

Page 31: Graduate Research

Modeling 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

System built

Experimental approval

Final delivery

Sanity intact

Page 32: Graduate Research

Modeling 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.

Page 33: Graduate Research

What does this mean?

• Why, then, do we need design engineers anymore?

• Couldn’t all of this be done with a CsC background?

• Remember that TANSTAFL

Page 34: Graduate Research

What 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!)

Page 35: Graduate Research

When 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

Page 36: Graduate Research

What have we learned today?

• Research helps further science• Domain specific modeling can help in two

ways:– Design engineers get to design, and don’t have

to “waste” their time doing implementation– Domain engineers get more actively involved in

implementation, and don’t “waste” their time in the feedback loop with the designers of the system

• DSMEs might not change the world soon, but odds are you’ve used one before, and you’ll definitely use one later.

Page 37: Graduate Research

What 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?

Page 38: Graduate Research

Questions and answers

“Well HAL, I’m damned if I can find anything wrong with it.”“Yes. It’s puzzling, isn’t it.”

-- 2001: A Space Odyssey