- Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year...

57
- Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department [email protected] http://www.cis.uab.edu/gray D epartm entofCom puterand Inform ation Sciences U niversity ofA labam a atB irm ingham S o ftC o m

Transcript of - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year...

Page 1: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

- Some Thoughts on Computing Jeff Gray, Ph.D. - Associate ProfessorAlabama Professor of the Year

UAB – CIS [email protected]://www.cis.uab.edu/gray

Department of Computer and Information SciencesUniversity of Alabama at Birmingham

S o f t C o m

Page 2: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

What hooked me on computing…

New form to express creativity

Science Fairs 8th grade

Bulletin Board Software High School

Tic-Tac-Toe Learner

“Wargames”

Page 3: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

My Collaborations with ASFA

2004 – Matthew Ferguson2005 – Sally Tao, Jia Zhang, and Pratik Talati

Others: 2008 – David Kneynsberg 2009 – Kheri Dunkins Justin Harrison

Since 2007 – Josh Swank2009 – Jemale, Omar, Wisdom

Jemale captivating his audience

Page 4: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

ASFA at UAB

2005 - Peilong Cong (Top 3) 2006 HSPC Team

2007 HSPC Team

2008 – Josh (First Place)

2009 HSPC Team

Page 5: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

• Number of schools passing AP CS audit

Computer Science in AlabamaASFA Leading the Way

State Number of Schools

Alabama 3 (out of > 460)

Tennessee 16

South Carolina 18

North Carolina 28

Florida 69

Georgia 78

New Jersey 133

California 165

Texas 271

Page 6: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .
Page 7: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

• Number of students taking AP CS exams

Georgia’s Success Story

State 2001 2007 2008

Georgia 69 CS A exams    422 CS A exams    585 CS A exams

15 CS AB exams 107 CS AB exams 105 CS AB exams

Alabama 22 CS A exams    27 CS A exams    41 CS A exams

12 CS AB exams 7 CS AB exams 11 CS AB exams

Page 8: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Careers in Computing

Page 9: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Benefits of a Diverse Education

• You don’t need to be a Pulitzer Prize winning novelist to appreciate an English class…

• …nor a world-renowned scientist or mathematician to understand the wonders of our world.

• We believe that understanding computational thinking also offers skills useful for your future.

Your PhotoHere

Page 10: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Software is Everywhere

• Think of some of the things that entertain and enrich your daily life

• All of the above are driven by software

• Software developers equipped with a computer science degree have opportunities to work on exciting and cutting-edge projects

Page 11: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Software is Everywhere• 98% of all microprocessors control devices other than desktop computers– Automobiles, airplanes, televisions, copiers, razors…

• These devices also need software and often require strong technical skills to develop

>10Mb embedded software15-20Kb 1-1.5Mb

> 1M SLOC

Page 12: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Meteoric Opportunities

February 15, 2005: Domain registered (youtube.com)

Jawed Karim, Chad Hurley, and Steve ChenAround 25 years old at this time

November 2005:Official Debut

100 Million Clips viewed daily; 65,000 uploads per day 20 Million visitors each month October 2006: Time Magazine Invention of the Year

Great Talk: From Concept to HyperGrowthhttp://www.youtube.com/watch?v=nssfmTo7SZg

October 6, 2006: Google purchased for $1.65B

Page 13: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Alabama Technology Leaders

Jimmy WalesWikipedia FounderHuntsville Native

• The biggest multilingual free-content encyclopedia on the Internet. • Since its creation in 2001, nearly 10 million articles in over 250 languages.• Over 680 million visitors each year; 75,000 active contributors.

Page 14: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

“… the software industry is going to make more breakthroughs in these next 10 years than it's made in the last 30 … software is really going to transform not just what we think about as the computer industry, but the way that everything is done …”

Intellectual Opportunities

Re-architecting the Internet

Harnessing parallelism

Quantum computing

Transforming all fieldsof science and engineering

Wrecklessdriving

Prosthetics / augmentation /

access

Transforming the nation’s defense

Page 15: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists

Offshore hysteria: Many companies with high paying jobs within the US are unable to fill positions with computer scientists.Source: http://money.cnn.com/magazines/moneymag/bestjobs/top50/index.html

Page 16: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists

Computer Science occupations are projected to grow twice as fast as the average for all occupations.

Source: http://www.bls.gov/opub/ooq/2007/fall/art02.pdf

Between 2006-2016 a projected 822,000 new jobs will be available in Computer Science occupation areas in the United States alone.

Page 17: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists

Source: IEEE Spectrum, August 2008

Computer science has the highest engineering salary and the fastest growing salary increase.

Page 18: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Communications of the ACM,July 2008, pg. 32.

Page 19: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists

According to the Bureau of Labor and Statistics, 5 of the top-10 growing jobs have a computer science focus.

(Reprinted with Permission from onInvesting)

Page 20: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists

• National Job Outlook– $61,407 is the average starting salary for

computer science degrees in the class of 2009 (among top 3 highest starting salaries); 9.7% increase over 2007 offers

– 1000s of openings each at Microsoft Game Studios, Electronic Arts, Epic Games, Google

– Epic Games President: “We do not hire anyone under $100k”

Page 21: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .
Page 22: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Demand for Computer Scientists• Local Job Outlook

– In Birmingham, there was a recent need for 200 Java programmers; exceeded university’s ability to deliver employees

– CTS hiring several new developers each month– Summary of recent openings in Birmingham:

• JAVA/J2EE/EJB ($60/hr), Peoplesoft ($95/hr), SAP Technical ($85/hr), SAP Functional ($95/hr), Corba ($55/hr), Oracle DBA ($70/hr), DB2 DBA ($70/hr), Sybase DBA ($75/hr), .Net,vb.net,C#,asp.net ($60/hr), C/C++ ($55/hr), Cobol ($55/hr)

• Recent Birmingham Software Success– UAB CIS Graduates

– Dr. Stephen Brossette (Founder) Dr. Daisy Wong (Dir. IT)

– Estimated $100M– 179% growth – tops among

Birmingham companies

Page 23: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The Potential for Alabama• Per capita, Huntsville is

one of the top five cities in the US with concentration of software developers, and #1 in terms of total engineers.

• Cummings Research Park is the second largest in the United States and the fourth largest in the World.

Huntsville

Page 24: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Myth of Computer Science• According to the Alabama Learning Exchange

(ALEX)1, computing is equated to learning Microsoft Word and various mechanical tasks; this is not Computer Science!

1 http://alex.state.al.us/standardAll.php?grade=9&subject=TC&summary=2

Page 25: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

High School Outreach at UAB CISMentoring for Science Fair Competitions Summer Camps

• Weekly mentoring at UAB throughout academic year; students treated like a PhD student with office space

www.cis.uab.edu/gray/Pubs/jerrod-sutton.pdf

www.cis.uab.edu/progams/campswww.cis.uab.edu/heritage

www.cis.uab.edu/progams/hspcwww.cis.uab.edu/progams/alice-festival

Programming Contest and Alice Festival

•6 weeks High School; 1 weeks Middle School•Tuition Scholarships Available•Taught by UAB Faculty•Topics include Java, robotics, graphics,

game programming, scientific computing•In 2009, over 65 students attended

• May 2010• Over 150 students and

parents from across Alabama

• Prizes: Laptop, Xbox, software, books, gift certificates

• Alice Film Festival!

Page 26: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

ASFA Example Projects

• Robotics Examples from Past Summer Camps

• Cool Alice Video Game– Justin Harrison

• Recent Science Fair Projects:– Omar and Jemale– Wisdom– Josh

Page 27: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Examples in CS Research

Page 28: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Model Transformation Toolsuite• Model Transformation Engine• Transformation Testing Framework• Model Transformation Debugger• Model Version Control• Model-Driven Program Transformation

•Evolution of large legacy apps from models

TransformedBold Stroke C++ codeCommon/Project

Library ofBold Stroke C++

Source Code

DMS Transform

ationRules

DMSvoid BM__PushPullComponentImpl::Update (const UUEventSet& events){ BM__ComponentInstrumentation::EventConsumer(GetId(), "Update", events);

unsigned int tempData1 = GetId().GetGroupId(); unsigned int tempData2 = GetId().GetItemId(); std::vector<BM__ClosedComponent*>::iterator devIter =

void BM__PushPullComponentImpl::Update (const UUEventSet& events){

UM__GUARD_EXTERNAL_REGION(GetExternalPushLock()); BM__ComponentInstrumentation::EventConsumer(GetId(), "Update", events); 

default base domain Cpp~VisualCpp6.pattern UM_GUARD_EXTERNAL_REGION_as_identifier_or_template_id(): identifier_or_template_id = "UM__GUARD_EXTERNAL_REGION".pattern GetExternalPushLock_as_identifier_or_template_id(): identifier_or_template_id = "GetExternalPushLock".pattern ExternalLockStmt(): expression_statement = "\

default base domain Cpp~VisualCpp6.pattern UM_GUARD_EXTERNAL_REGION_as_identifier_or_template_id(): identifier_or_template_id = "UM__GUARD_EXTERNAL_REGION".pattern GetExternalPushLock_as_identifier_or_template_id(): identifier_or_template_id = "GetExternalPushLock".pattern ExternalLockStmt(): expression_statement = "\

ESML Models

Jing Zhang and Jane Linwww.cis.uab.edu/gray/Research/C-SAW/

Software Composition and Modeling Laboratoryhttp://www.cis.uab.edu/softcom/

Hui Wuwww.cis.uab.edu/wuh/DDF

Eclipse DSL Debugging Framework

12

6

1 begin2 left3 down4 up5 right6 end

4

Lexer,Parser

public class Robot{ public static void main(String[] args) { …… //move left x=x-1; time=time+1;

//move down y=y-1; time=time+1; …… } }

3

import java.util.ArrayList;

public class Mapping { ArrayList mapping; public Mapping(){ mapping=new ArrayList(); mapping.add(new Map(1, "Robot.java",2,8)); mapping.add(new Map(2, "Robot.java",10,14)); …… } }

Mapping Component

5

Robot DSL Grammar In ANTLR Notation

Robot DSL

Generated Lexer, and Parser by ANTLR

Robot.java and Mapping.java

Java Command Line Debugger

Robot DSL Debugging Perspective in Eclipse

DebuggerView

DSLEditor

Variables View

Supported by:Eclipse Innovation Grant

• Framework for building debuggers and testing engines for different categories of domain-specific languages

• AspectG is an aspect weaver for grammars

Page 29: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Speech Enabled Software Development

• Assistive technology for disabled programmers• Integrates open source speech recognition with a popular open IDE• Videos and papers available at:

www.cis.uab.edu/info/Eclipse/SpeechClipse

SpeechClipse

Language Independent Refactoring and Aspect Weaving

Suman Roychoudhurry

www.cis.uab.edu/softcom/GenAWeave

Software Composition and Modeling Laboratoryhttp://www.cis.uab.edu/softcom/

Clone Analysis and Visualization

Robert Tairas

www.cis.uab.edu/tairasr/clones

• Visualization and analysis of clone detection results from CloneDR as an Eclipse plug-in

Page 30: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Synopsis of my Research Area

• Techniques that enable software developers to automate common tasks

• Improved modularity to enable adaptive changes to large-scale software

• Supporting end-users with notations and languages that are appropriate for their domain, rather than computer programming languages

Page 31: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

The “Twisted Plot” MetaphorThe Problem of Keeping Track of Things in Your Head

• The interactions among characters and overlapping events makes a good novel (“thickness” of plot as a complexity metric)

• The author must take care in preserving, throughout the entire novel, internal consistency within plot

• e.g., a change in the conclusion of the plot may necessitate global changes in all chapters

• Keeping track of all the twists can be difficult because the various concerns of the plot are distributed across multiple chapters

• but…Software development is MANY orders of magnitude more difficult!

Logically Consistent?

Chapter 2

Conclusion

Chapter 1

Page 32: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Poor Engineering leads to ad-hoc structure!

The result of continuous buildingwithout any thought toward design.

Result: Stairs leading to ceiling; Windows in the middle of room; Doors opening to wall; Non-intuitive floor plan!.

Winchester Mystery House:http://www.winchestermysteryhouse.com/

Page 33: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Poor Engineering leads to ad-hoc structure!

The result of continuous building without any thought toward design.

Problems: • How would you maintain this if something went wrong?• How would you extend this to add more connections or features?

Page 34: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Poor Engineering Has Disastrous Consequences!

Aerodynamic phenomena in suspension bridges were not adequately understood in the profession nor had they been addressed in this design. New research was necessary to understand and predict these forces.

The remains, located on the bottom of the Sound, are a permanent record of man's capacity to build structures without fully understanding the implications of the design. http://www.nwrain.net/~newtsuit/recoveries/narrows/narrows.htm

Page 35: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Poor Engineering Has Disastrous Consequences!$7 Billion Fire Works – One Bug, One Crash

On 4 June 1996, the maiden flight of the Ariane 5 launcher ended in a failure. Only about 40 seconds after initiation of the flight sequence, at an altitude of about 3700 m, the launcher veered off its flight path, broke up and exploded.

The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift- off). This loss of information was due to specification and design errors in the software of the inertial reference system.

http://java.sun.com/people/jag/Ariane5.htmlhttp://www.around.com/ariane.htmlhttp://archive.eiffel.com/doc/manuals/technology/contract/ariane/page.html

The launcher started to disintegrate at about H0 + 39 seconds because of high aerodynamic loads due to an angle of attack of more than 20 degrees that led to separation of the boosters from the main stage, in turn triggering the self-destruct system of the launcher. This angle of attack was caused by full nozzle deflections of the solid boosters and the Vulcain main engine. These nozzle deflections were commanded by the On-Board Computer (OBC) software on the basis of data transmitted by the active Inertial Reference System (SRI 2). Part of these data at that time did not contain proper flight data, but showed a diagnostic bit pattern of the computer of the SRI 2, which was interpreted as flight data. The reason why the active SRI 2 did not send correct attitude data was that the unit had declared a failure due to a software exception. The OBC could not switch to the back-up SRI 1 because that unit had already ceased to function during the previous data cycle (72 milliseconds period) for the same reason as SRI 2. The internal SRI software exception was caused during execution of a data conversion from 64-bit floating point to 16-bit signed integer value. The floating point number which was converted had a value greater than what could be represented by a 16-bit signed integer. This resulted in an Operand Error. The data conversion instructions (in Ada code) were not protected from causing an Operand Error, although other conversions of comparable variables in the same place in the code were protected. The error occurred in a part of the software that only performs alignment of the strap-down inertial platform. This software module computes meaningful results only before lift-off. As soon as the launcher lifts off, this function serves no purpose. The alignment function is operative for 50 seconds after starting of the Flight Mode of the SRIs which occurs at H0 - 3 seconds for Ariane 5. Consequently, when lift-off occurs, the function continues for approx. 40 seconds of flight. This time sequence is based on a requirement of Ariane 4 and is not required for Ariane 5. The Operand Error occurred due to an unexpected high value of an internal alignment function result called BH, Horizontal Bias, related to the horizontal velocity sensed by the platform. This value is calculated as an indicator for alignment precision over time.

The value of BH was much higher than expected because the early part of the trajectory of Ariane 5 differs from that of Ariane 4 and results in considerably higher horizontal velocity values.

Page 36: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Even building a dog house takes some engineering and design…

From http://www.ttyler.8m.com/Dog%20House.htm

Initially started as a "basic" dog house but soon turned into a masterpiece of quality workmanship.  Total time spent was 8 hours at a cost of $110 US. Start with a piece of paper and a idea:  Design your dog house to the size and quantity of your dogs.  A perfectly built home is worthless if its to small to properly accommodate your dog.     Framing:  The framing process should be constructed with 2x4's or rip them in half for smaller homes.  A removable roof should be incorporated in assisting the future cleaning and maintenance.   Wall Covering:  Should be tong & grove for a tight fit, no warping, and to cut down on cross drafts.  For large homes, plywood is a economical material that can be used.     Roof:  30 year home shingles cut down to the proper size.  As for this house, an oriental piece was constructed then topped of with a copper fence post top.  An additional hours work and $15 cost was needed   Trim & Finishing Touches:  Trim can add a lot to the astidics of your dog house.  Trim can be bought  with may different variations or with some craftsmanshipcan can be made with the use of a router.   Sanding & Paint:  Sink all nails below the surface and cover with wood filler.  Prepare surface for painting by sanding wood filler, rough spots, and blemishes.

Page 37: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Code Clone Refactoring:Removing Redundancy in your Code

Page 38: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

38

Code Clones• Code clone: a sequence of statements

that are duplicated at multiple locations in a program

• Research shows that 6-8% of large-scale application code are clones (Jiang, 2007)

Source Code

Cloned Code

Page 39: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

39

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

Types of Clones

Exact match Exact match with differing variable names

Near exact match

Original code

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

int func1() { int x = 1; int y = x + 5; return y;}

int func2() { int p = 1; int q = p + 5; return q;}

int main() { int x = 1; int y = x + 5; return y;}

int func3() { int s = 1; int t = s + 5; s++; return t;}

Page 40: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Scientific Method in CS Research

Page 41: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Model-Driven Engineering:Customized Languages with Domain-Specific Modeling

Page 42: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Categories of End-Users

AdminAssistants

Businessperson

Auto Factory Worker

Scientist

Spreadsheet

BusinessQuery Systems

Modeling Language

DSL forPhysics

Page 43: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Domain-Specific Modeling

Page 44: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

44

Model-Driven Engineering (MDE)MDE: specifies and generates software systems based on high-level models

Domain-Specific Modeling (DSM): a paradigm of MDE that uses notations and rules from an application domain

Metamodel: defines a Domain-specific Modeling language (DSML) by specifying the entities and their relationships in an application domain

Model: an instance of the metamodel

Model Transformation: a process that converts one or more models to various levels of software artifacts (e.g., other models, source code)

Page 45: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Question

But what is a model?

Page 46: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

A very popular model: geographical maps

Models

repOfSystem

2000 Census Map

Aerial Map

Model Road Map

1777 City Plan

The System

Page 47: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Every map has a legend

legend = metamodel

Model

c2

Metamodel

Page 48: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Another Notation (DSL)

Model

Metamodel

c2

Music notation

Sheet music

Executable Model

Power Tab Editor

Two Views:

Traditional notes

Guitar tab

Page 49: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Characteristics of Modeling Languages Each model conforms to its

metamodel A model is a representation

of a system satisfying substitutability For each question that can be

asked of the system, the model produces the same answer Not true for me and road maps!

(from Jean Bezivin)

Page 50: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Core Focus: Ability to evolve models The size of system models will continue to grow

Models containing several hundreds or even thousands of modeling elements

Others have reported similarly (multiple thousands of nodes)

A key benefit of modeling Ability to explore various design alternatives (i.e., “knobs”)

E.g., understanding tradeoff between battery consumption and memory size of an embedded device

E.g., scaling a model to 800 nodes to examine performance implications; reduce to 500 nodes with same analysis…

Reducing complexities of the modeling activity Limit the amount of mouse clicking and typing required

within a modeling tool to describe a change Improves productivity and reduces potential manual errors

A general metric for determining the effectiveness of a modeling toolsuite comprises the degree of effort required to make a correct change to a set of models.

Page 51: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

51

Challenges in Software Evolution:1. Model Evolution

∆M: The changes made to the models

M∆

Models Models’

As the size of system models grows, techniques and tools are needed to automate complex change evolution

Page 52: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

52

Is it easy to evolve a model manually?

1.Select the 1.Select the model element model element icon and drag it icon and drag it to the editor to the editor windowwindow

2.Build the2.Build the connectionsconnections

3.Set the values of 3.Set the values of the propertiesthe properties

Page 53: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

53

Deep hierarchy !

Growing size ! Model scalingconcerns !

Crosscuttingconcerns !

Challenge 1: Solved with Aspect-Oriented ModelingCrosscutting Constraints in Real-Time/Embedded Models

Page 54: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

54

Challenges in Software Evolution:2. Legacy Evolution

∆S: The changes made to the legacy source

A small modification in the high-level requirements may trigger drastic manual changes in large portions of the low-level legacy source code

Page 55: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

55

Challenges in Software Evolution:3. Model/Code Co-Evolution

∆M: The changes made to the models∆S: The changes reflected in the source code

Conformity between the models and underlying source code needs to be established in order to maintain the fidelity of the whole system

Page 56: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

Evolution of legacy models and code

∆MM: The changes made to the meta-models∆M: The changes reflected in the domain models∆I: The changes reflected in the legacy source

Legacy Source1

Model1

Metamodel1

Define

Interpret

Legacy Sourcen

Modeln

Metamodeln

Define

Interpret

Legacy Source0

Model0

Metamodel0

Define

Interpret

∆M 1

∆MM 1

∆I 1

∆M 2

∆MM 2

∆I 2

∆M n

∆MM n

∆I n……

……

……

Based

on

What about other artifacts of the modeling process during metamodel evolution?Interpreters, constraints, model transformations…

Page 57: - Some Thoughts on Computing Jeff Gray, Ph.D. - Associate Professor Alabama Professor of the Year UAB – CIS Department gray@cis.uab.edu .

For more information…

www.uab.edu

UAB Main Web Site UAB CIS Web Sitewww.cis.uab.edu

You all are invited to come take a tour and visit our department!

Summary of K-12 Outreach Activities (videos and photos)

www.cis.uab.edu/gray/outreach/outreach.html