2 Al Aho
What it means to be a systems researcher
3 Al Aho
Outline
1.Forces shaping the global information networking infrastructure
2.Necessary ingredients for research effectiveness
3.NSF CISE Advisory Council 2025 vision
4.The bottom line
4 Al Aho
Forces Shaping the Network
• Explosion of diverse end devices
• Shift towards ultra-fast access
• Ultra-fast IP network
• Billions of new cloud services
• Rapid deployment of cloud services
5 Al Aho
A World Connected: 2.4B Internet Users 6/30/2012*
1969 1974
RFC
675
TCP/
IP
World Wide Web
ARPA
Net Internet
HTT
P 0.
9
1989
Mos
aic
Brow
ser
* www.internetworldstats.com
6 Al Aho Credit: Intel Corporation
7 Al Aho
Research Themes:Research Themes:
Cellular Networks, Mobile Devices and Pervasive Computing
• Mobile phones are the only digital system accessible to the majority of the planet.
– 6.8 billion mobile phone connections globally.– 85% of new handsets will be able to access the mobile web: 1 in 5 has
access to fast service, 3G or better; 10 trillion messages by 2013.
• Growing ecosystem of tools and applications:– Banking, commerce, healthcare, social networking:
1M distinct active apps just in App Store.– Mobile browsers can now display much of the content available to their
desktop counterparts.
• Mobile payment systems are now common in the developing world.– Sensitive and private data stored & entered on devices.
Image Credit: Nicolle Rager Fuller, NSF
F. Jahanian, NSFQatar ARC’13
8 Al Aho
Available/Emerging Networking Technologies
• Access
– Ultrabroadband
– FTTX
• Networking infrastructure
– IP bearer service
– Software defined networks
– OpenFlow
– Network Functions Virtualization
– Cloud computing
– Content-delivery networks
9 Al Aho
Business Challenges
• Services and content from whose data centers?
• More diverse devices but at a lower cost per device
• More bandwidth but at a lower cost per bit
• Seamless unification of disparate networks
• Hosting, creating and delivering huge numbers of new
services but with lower management costs
10 Al Aho
Cross-cutting Business Issues
• Role of content
• Better security and privacy
• Reducing energy consumption
• Reducing network complexity
• Improving software quality
• Regulatory issues
• Convergence and interoperability of infrastructures
11 Al Aho
Software Systems
The world depends on software but most people are not aware of how much software there already is, or how expensive it is to develop and maintain, or how hard it is to get it right.
12 Al Aho
Software, Software Everywhere
“A conservative estimate is that the world is already using hundreds of billions of lines of software to conduct its affairs.”
A. V. AhoSoftware and the Future of Programming Languages
Science, February 27, 2004, pp. 1131-1133
13 Al Aho
IEEE Spectrum Software Hall of Shame
2004 UK Inland Revenue Software errors contribute to $3.45 billion tax-credit
overpayment
2004 J Sainsbury PLC [UK] Supply chain management system abandoned after
deployment costing $527M
2002 CIGNA Corp Problems with CRM system contribute to $445M loss
1997 U. S. Internal Revenue Service
Tax modernization effort cancelled after $4 billion is
spent
1994 U. S. Federal Aviation Administration
Advanced Automation System canceled after $2.6 billion is
spent
Year Company Costs in US $
R. N. Charette, Why Software Fails, IEEE Spectrum, September 2005.
14 Al Aho
J. D. Zients On Government IT Projects
“[Government] IT projects too often cost hundreds of millions of dollars more than they should, take years longer than necessary to deploy and deliver technologies that are obsolete by the time they are completed.”
Jeffrey D. Zients
Management Consultant and Future Economic Advisor
Obama White House
From a 2010 internal government memo
Quoted on the front page of the NY Times
Monday, November 11, 2013
15 Al Aho
Effective Software Systems Research
• Two aspects of systems research
– Experimental
– Theoretical
• But
“If you find that you're spending almost all your time on theory, start turning some attention to practical things; it will improve your theories. If you find that you're spending almost all your time on practice, start turning some attention to theoretical things; it will improve your practice.” − Don Knuth
16 Al Aho
Theory in Practice: Regular Expression Pattern Matching in Perl, Python, Ruby vs. AWK
Time to check whether a?nan matches an
regular expression and text size n
Russ CoxRegular expression matching can be simple and fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)
[http://swtch.com/~rsc/regexp/regexp1.html, 2007]
17 Al Aho
What is Effective Software Systems Research?
Research that leads to software systems that have a major impact.
Impact can take a variety of forms:
–connecting people, e.g. WWW and the Internet
– transforming an existing area, e.g. spreadsheets for accounting
–creating a new company, e.g. Google search
–realigning a corporate strategic plan, e.g. in 1991 Bill Gates
realigns Microsoft to pursue an intelligent Internet
–creating new knowledge, e.g. RSA encryption algorithm
–giving your employer a decided advantage in the marketplace
18 Al Aho
Traditional Metrics of Scholarly Effectiveness
• Citations
• Publications in influential journals & conferences
• Awards and honors
• Opinion of peers in letters and interviews
19 Al Aho
Additional New Metrics
• Article downloads and views
• Influence on policy makers
• Effects on industry and the economy
• Public outreach
The maze of impact metricsEditorial, Nature, October 16, 2013
20 Al Aho
Examples of Effective Software Systems Research
1. First modern personal computer (Thacker; Xerox PARC)
2. TCP/IP (Cerf and Kahn; DARPA)
3. Public-key cryptography (Rivest, Shamir, Adleman; MIT)
4. OO programming (Dahl and Nygaard; Norwegian Computer Center)
5. Transaction processing (Gray; IBM)
6. Interactive computing (Englebart; SRI)
7. Distributed personal computing environments (Lampson; Xerox PARC)
8. Computer graphics (Sutherland; MIT)
9. Unix and C (Thompson and Ritchie; Bell Labs)
10.Relational model of data (Codd; IBM)
ACM A. M. Turing Award Winnersacm.org
21 Al Aho
More Examples of Effective Software Systems
1. LLVM (compiler infrastructure written in C++; UIUC)
2. Eclipse (multilanguage IDE written in Java; IBM Canada)
3. VMware (virtualization technology)
4. Secure Network Programming (secure sockets; UT Austin)
5. MAKE (build utility; Bell Labs)
6. Java (general purpose OO language; SUN)
7. SPIN (software model checking system; Bell Labs)
8. The S System (statistical programming language; Bell Labs)
9. NCSA Mosaic (multiplatform browsing tool; NCSA, UIUC)
10.WWW (network-oriented hypermedia system; CERN)
ACM Software System Awardsacm.org
22 Al Aho
Effective Programming Languages
1. C
2. Java
3. Objective-C
4. C++
5. PHP
6. C#
7. (Visual) Basic
8. Python
9. Transact-SQL
10.JavaScript
Tiobe Programming Community Indexwww.tiobe.comNovember 2013
23 Al Aho
Three Necessary Ingredients for Effectiveness
1. Your idea should solve an important problem• George Heilmeier: “Answer my catechism questions!”
24 Al Aho
The Heilmeier Catechism Questions
1. What are you trying to do? Articulate your objectives using absolutely no jargon.
2. How is it done today and what are the limits to current practice?
3. What’s new in your approach and why do you think it will be successful?
4. Who cares?
5. If you are successful, what difference will it make?
6. What are the risks and the payoffs?
7. How much will it cost?
8. How long will it take?
9. What are the midterm and final “exams” to check for success?
George H. Heilmeier
http://en.wikipedia.org/wiki/George_H._Heilmeier
25 Al Aho
Three Necessary Ingredients for Effectiveness
1. Your idea should solve an important problem• George Heilmeier: “Answer my catechism questions!”
2. You need to teach others how to use your idea• Richard Hamming: “You not only need to do good work you
must also teach others how to use your work.”
26 Al Aho
Three Necessary Ingredients for Effectiveness
1. Your idea should solve an important problem• George Heilmeier: “Answer my catechism questions!”
2. You need to teach others how to use your idea• Richard Hamming: “You not only need to do good work you
must also teach others how to use your work.”
3. To be effective in the near future your idea needs a route to the sea• AWK case study
27 Al Aho
Paradigm problem: Given a list of name-value pairs, print the total value associated with each name.
AWK: a simple pattern-action language for common data-processing applications
alice 10 eve 20 bob 15 alice 30
eve 20 bob 15 alice 40
28 Al Aho
Paradigm problem: Given a list of name-value pairs, print the total value associated with each name.
AWK: a simple pattern-action language for common data-processing applications
alice 10 eve 20 bob 15 alice 30
{ total[$1] += $2 } END { for (x in total) print x, total[x] }
eve 20 bob 15 alice 40
An AWK programis a sequence of
pattern-action statements
29 Al Aho
AWK’s Route to the Sea
• AWK solved common data-processing problems simply
• AWK came with Unix and was easy to combine with other
UNIX commands
• AWK was (and still is!) small and easy to learn
• On-line man page, tutorials and book showed how to use
AWK to solve practical problems
• An initial set of enthusiastic AWK users provided
valuable feedback and acted as evangelists
• We evolved AWK over a decade to meet new user needs
30 Al Aho
Inspiring Innovation: The Programming Languages and Translators Course at Columbia University
• In PLT you will learn the syntactic and semantic elements and the computational models of the most important modern programming languages as well as the algorithms and techniques used by compilers to translate them into machine and other target languages. The course will cover imperative, object-oriented, functional, logic, and scripting languages, as well as trends in the evolution of programming languages.
• A highlight of this course is a semester-long programming project in which you will work in a small team to create and implement an innovative little language of your own design. This project will teach you computational thinking in language design as well as project management, teamwork, and communication skills that you can apply in all aspects of your career.
31 Al Aho
A Sampling of PLT Languages
What to Wear: personalized wardrobe recommendations
Swift Fox: configuring wireless sensor networks
Trowel: a webscraping language for journalists
Upbeat: a language for auralizing data
Suds: a language for shared-session telecom services
Q-HSK: a language for teaching quantum computing
http://www.cs.columbia.edu/~aho/cs4115/
32 Al Aho
Phases of a Compiler
SemanticAnalyzer
Interm.CodeGen.
SyntaxAnalyzer
LexicalAnalyzer
CodeOptimizer
CodeGen.
sourceprogram
tokenstream
syntaxtree
annotatedsyntax
tree
interm.rep.
interm.rep.
targetprogram
Symbol Table
33 Al Aho
Front End Compiler Component Generators
SyntaxAnalyzer
LexicalAnalyzer
sourceprogram
tokenstream
syntaxtree
LexicalAnalyzer
GeneratorLEX
SyntaxAnalyzer
GeneratorYACC
lexspecification
yaccspecification
34 Al Aho
The PLT Course Project at Columbia
Week Task
2 Form a team of five and design an innovative new language
4 Write a whitepaper on your proposed language modeled after the Java whitepaper 8 Write a tutorial patterned after Chapter 1 and a language reference manual patterned after Appendix A of Kernighan and Ritchie’s book, The C Programming Language 14 Give a ten-minute presentation of your language to the class
15 Give a 30-minute working demo of your compiler to the teaching staff
15 Hand in the final project report
35 Al Aho
Individual Roles on the Project Team• Project manager
– sets the project schedule, holds weekly meetings with the entire team, maintains the project log, and makes sure the project deliverables get done on time.
• Language and tools guru
– defines the baseline process to track language changes and maintain the intellectual integrity of the language.
– teaches the team how to use various tools used to build the compiler.
• System architect – defines the compiler architecture, modules, and interfaces.
• System integrator
– defines the system platform and makes sure the compiler components work together.
• Tester and validator – defines the test suites and executes them to make sure the compiler
meets the language specification.
36 Al Aho
Telling Lessons Learned by PLT Students
• “Designing a language is hard and designing a simple
language is extremely hard!”
• “During this course we realized how naïve and
overambitious we were, and we all gained a newfound
respect for the work and good decisions that went into
languages like C and Java which we’ve taken for
granted for years.”
37 Al Aho
Where is the Future Headed?
38 Al Aho
Mote ???
Bell’s Law: Birth and Death of Computer Classes
G. BellBell’s Law for the Birth and Death of Computer Classes
CACM, Jan 2008, pp. 86-94
39 Al Aho
Innovation Drivers/Trends for 2025
• Extreme personalization– Health/medical, career, mobility, lifestyle, education, language,
data, entertainment, …
• Extreme augmentation– Memory (perfect), data (always accessible and unbounded),
communication (always on), analytics (as/when needed, AI/ML on demand…), multi-locations (virtual presence), …
• Extreme human-world integration– In-body devices (vs. on-body or external), brain and sensorial
interfaces, seamless virtual+real worlds …
– Collective systems (e.g. crowdsourcing), assisted+assistive robotics, “green” living, disaster management …
Vision 2025NSF CISE AC
40 Al Aho
The Dark Side of the Internet: Rise of Politically Motivated Attacks, Cyber War, Censorship,
Hacktivism and Cyber Espionage
41 Al Aho
Cyber Security Challenges
• Attacks and defenses co-evolve: a system that was secure yesterday might no longer be secure tomorrow.
• The technology base of our systems is frequently updated to improve functionality, availability, and/or performance. New systems introduce new vulnerabilities that need new defenses.
• The environments in which our computing systems are deployed and the functionality they provide are dynamic, e.g. cloud computing, mobile platforms.
• As automation pervades new platforms, vulnerabilities will be found in critical infrastructures, automotive systems, smart grids, medical devices, transportation systems.
• The sophistication of attackers is increasing as well as their sheer number and the specificity of their targets.
• Cyber security is a multi-dimensional problem requiring expertise from computer science, mathematics, economics, public policy, behavioral and social sciences.
Image Credit: ThinkStock
F. Jahanian, NSFQatar ARC’13
42 Al Aho
The Bottom Line
Software systems will play a key role in shaping
the technology and industry structure of the
global information infrastructure of the future.
43 Al Aho
But Most Importantly
You can’t do effective software systems research
without a critical mass of great software systems
researchers.
Top Related