SlideShare a Scribd company logo
KIT – Universität des Landes Baden-Württemberg und
nationales Forschungszentrum in der Helmholtz-Gemeinschaft
RAISE’13 – DAY 2: OVER THE HORIZON
www.kit.edu
Universal Programmability
How AI Can Help
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | May 26, 2013
2 26.05.2013
Problem 1
Almost everyone has one or more programmable devices.
There are literally billions of chips out there.
But only a tiny fraction of the owners of programmable devices can
program.
Programmability, the most fundamental aspect of computers, is
inaccessible to almost everyone.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
3 26.05.2013
Problem 2
Shortage of programmers.
In the EU alone there are estimates that the shortage will grow to
900,000 programmers in ten years.
Possible fixes:
Train more of them.
Import them.
Select only the best.
Match tasks with skill sets.
Deskill programming, so more can program.
(Automate it.)
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
None of this scales.
4 26.05.2013
A Possible Solution
Programming in natural language could be done by anyone.
People are good at explaining.
We teach our children.
Recipes, instruction manuals, assembly manuals, books, etc.
Requirements elicitation is explaining the domain.
Some of the challenges of natural language:
Ambiguity
Implicit context
Implicit assumptions
These challenges need to be met.
A smart programmable device can ask for clarification.
Programming is not a one-way street.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
5 26.05.2013
Why now?
Because Language Technology has made
tremendous strides
Translation devices: Jibbigo
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
6 26.05.2013
IBM Watson wins Jeopardy
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
7 26.05.2013
And the Siri Announcement...
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
8 26.05.2013
Recent Successes of Applying NLP in SE
Inferring code contracts from method descriptions
Detecting incorrect code comments
Programming Excel by example
Test script generated from NL requirements
Our own contributions:
Automatic specification improvement (remove ambiguities by checking
knowledge sources and asking the writer)
Generating UML diagrams from textual specifications.
Round-trip engineering (if you change the class diagram, the
requirements text is updated automatically)
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
9 26.05.2013
Example: IETF 3912 WHOIS Protocol
A WHOIS server listens on TCP port 43 for requests
from WHOIS clients.
The WHOIS client makes a text request to the WHOIS
server, then the WHOIS server replies with text
content.
All requests are terminated with ASCII CR and then
ASCII LF.
The response might contain more than one line of text,
so the presence of ASCII CR or ASCII LF characters
does not indicate the end of the response.
The WHOIS server closes its connection as soon as the
output is finished.
The closed TCP connection is the indication to the
client that the response has been received.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
10 26.05.2013
IETF 3912: WHOIS Protocol
Generated Class Diagram
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
ASCII_CR
ASCII_LF
response
WHOIS_client
TCP_port_43
WHOIS_server
listen(pat : TCP_port_43) : void
makes() : void
replies() : text_content
closes(pat : connection) : void
connection
closed : boolean
requests
treminated(instr : ASCII_CR,instr : ASCII_LF) : void
end
text_content
HAB
POSS
line
morethanone
RECP DON
RECPDON
text
QUALII QUALPOSSHAB
output
finished() : void
HAB
HAB
11 26.05.2013
Animation Scripting
CMU Alice is a framework for building 3D environments, animations,
and games.
It is graphic!
Program it in English rather than Java.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
12 26.05.2013
Animation Scripting:
Prerequisites
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
Getting to know Alice → Ontology building from Alice.
What objects are available for programming?
Determine the features of the objects.
How can objects and actions be described in natural language?
(linking the API to NL)
Determine method parameters (what if they are not given in the script?
or in the wrong type?).
Handle control flow (e.g. foreach).
How do humans express repetition? They do not spell out a while-loop.
13 26.05.2013
Animation Scripting:
Scene Setup
The ground is covered with grass, the sky is blue. In the background on
the left hand side there is a palm tree. In the foreground on the left hand
side there is a closed Mailbox facing southeast. Right to the mailbox there
is a frog facing east. In the foreground on the right hand side there is a
bunny facing southwest. In front of the bunny there is a broccoli.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
14 26.05.2013
Application Area:
Programming Robots
ARMAR-III is a humanoid robot.
Designed to be a household help.
Example tasks:
„Set the table for three persons.“
„Put cereal and milk on the table.“
“Clear the table and put the dishes
in the dishwasher.”
You may want to explain a
“subroutine”, such as “clearing the
table means pick up all the objects on
the table and put them on the counter”
Why would you want to instruct the
robot any other way?
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
15 26.05.2013
The NL Programming Grand Challenge
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
2014 2015 ??? ???
????
Scene Descriptions
Straight Line Scripts
Robot Interaction
Loops, Recursion
Algorithms
Multimodal
Programming
(pointing, touch,
demonstrating)
16 26.05.2013
Autonomous Vehicles:
DARPA Grand Challenge
1
2007 DARPA
Urban Challenge
17 26.05.2013
Autonome Fahrzeuge:
DARPA Herausforderungen
1
2007 DARPA
Urban Challenge
In all these cases, concentrated efforts led to substantial
progress in a short time.
Successful techniques were „borrowed“ from other
teams and improved.
Could we achieve a similar speed in NL programming?
18 26.05.2013
Grand Challenge: Enabling anyone to program
Which approaches will enable
billions of users to program?
To unleash the potential of
programmable devices,
programming should be
accessible to anyone.
Many fields have to work
together.
Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
Researchers
Join Forces!

More Related Content

PPTX
Advancing Foundation and Practice of Software Analytics
PDF
TAO: Turing test As Objective function
PPTX
Incremental Software Engineering
PPTX
Requirements, Design and Data Repositories
PPTX
Predicting More from Less: Synergies of Learning
PPT
SE and AI: a two-way street
PPTX
Ontology Summit - Track D Standards Summary & Provocative Use Cases
PDF
Computational Fields meet Augmented Reality: Perspectives and Challenges
Advancing Foundation and Practice of Software Analytics
TAO: Turing test As Objective function
Incremental Software Engineering
Requirements, Design and Data Repositories
Predicting More from Less: Synergies of Learning
SE and AI: a two-way street
Ontology Summit - Track D Standards Summary & Provocative Use Cases
Computational Fields meet Augmented Reality: Perspectives and Challenges

Similar to Universal programmability how ai can help (20)

PDF
Our Concurrent Past; Our Distributed Future
PDF
Nt1320 Unit 6
PPTX
Making PHP Smarter - Dutch PHP 2023.pptx
PDF
An Efficient Hardware Implementation of Canny Edge Detection Algorithm
DOCX
Report 2 microp.(microprocessor)
PPSX
Mind Grill
PDF
AI and Appliation_CSEN1031_III_CSEDS_A.pdf
PDF
State of AI Report 2023 - Air Street Capital
PDF
The Gdel Programming Language Patricia Hill John Lloyd
PDF
My summary for cs001x computer science for beginners
PDF
Software Engineering
PDF
Automated Test Outlook 2017
PPTX
saket ka itm ka with full explanation ppt.pptx
PPTX
Merge PPT G3 and G4.pptx
PPTX
Copy of State of AI Report 2023 - ONLINE.pptx
PPTX
State of Artificial intelligence Report 2023
PPTX
State of AI Report 2023 - ONLINE presentation
PDF
Reproducible Science and Deep Software Variability
PDF
LAS205_1_Introduction (1).pdfubhhhbhbbbhbbh
PDF
Modul mBlock 5 and arduino.pdf
Our Concurrent Past; Our Distributed Future
Nt1320 Unit 6
Making PHP Smarter - Dutch PHP 2023.pptx
An Efficient Hardware Implementation of Canny Edge Detection Algorithm
Report 2 microp.(microprocessor)
Mind Grill
AI and Appliation_CSEN1031_III_CSEDS_A.pdf
State of AI Report 2023 - Air Street Capital
The Gdel Programming Language Patricia Hill John Lloyd
My summary for cs001x computer science for beginners
Software Engineering
Automated Test Outlook 2017
saket ka itm ka with full explanation ppt.pptx
Merge PPT G3 and G4.pptx
Copy of State of AI Report 2023 - ONLINE.pptx
State of Artificial intelligence Report 2023
State of AI Report 2023 - ONLINE presentation
Reproducible Science and Deep Software Variability
LAS205_1_Introduction (1).pdfubhhhbhbbbhbbh
Modul mBlock 5 and arduino.pdf
Ad

More from CS, NcState (20)

PPTX
Talks2015 novdec
PPTX
Future se oct15
PPTX
GALE: Geometric active learning for Search-Based Software Engineering
PPTX
Big Data: the weakest link
PPTX
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
PPTX
Lexisnexis june9
PPTX
Welcome to ICSE NIER’15 (new ideas and emerging results).
PPTX
Icse15 Tech-briefing Data Science
PPTX
Kits to Find the Bits that Fits
PPTX
Ai4se lab template
PPTX
Automated Software Enging, Fall 2015, NCSU
PPT
Requirements Engineering
PPT
172529main ken and_tim_software_assurance_research_at_west_virginia
PPTX
Automated Software Engineering
PDF
Next Generation “Treatment Learning” (finding the diamonds in the dust)
PPTX
Tim Menzies, directions in Data Science
PPTX
Goldrush
PPTX
Dagstuhl14 intro-v1
PPTX
Know thy tools
PPTX
The Art and Science of Analyzing Software Data
Talks2015 novdec
Future se oct15
GALE: Geometric active learning for Search-Based Software Engineering
Big Data: the weakest link
Three Laws of Trusted Data Sharing: (Building a Better Business Case for Dat...
Lexisnexis june9
Welcome to ICSE NIER’15 (new ideas and emerging results).
Icse15 Tech-briefing Data Science
Kits to Find the Bits that Fits
Ai4se lab template
Automated Software Enging, Fall 2015, NCSU
Requirements Engineering
172529main ken and_tim_software_assurance_research_at_west_virginia
Automated Software Engineering
Next Generation “Treatment Learning” (finding the diamonds in the dust)
Tim Menzies, directions in Data Science
Goldrush
Dagstuhl14 intro-v1
Know thy tools
The Art and Science of Analyzing Software Data
Ad

Recently uploaded (20)

PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Getting Started with Data Integration: FME Form 101
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Machine Learning_overview_presentation.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Encapsulation theory and applications.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
A comparative analysis of optical character recognition models for extracting...
SOPHOS-XG Firewall Administrator PPT.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Machine learning based COVID-19 study performance prediction
Getting Started with Data Integration: FME Form 101
Per capita expenditure prediction using model stacking based on satellite ima...
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Machine Learning_overview_presentation.pptx
A comparative study of natural language inference in Swahili using monolingua...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Univ-Connecticut-ChatGPT-Presentaion.pdf
Network Security Unit 5.pdf for BCA BBA.
Encapsulation theory and applications.pdf

Universal programmability how ai can help

  • 1. KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft RAISE’13 – DAY 2: OVER THE HORIZON www.kit.edu Universal Programmability How AI Can Help Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | May 26, 2013
  • 2. 2 26.05.2013 Problem 1 Almost everyone has one or more programmable devices. There are literally billions of chips out there. But only a tiny fraction of the owners of programmable devices can program. Programmability, the most fundamental aspect of computers, is inaccessible to almost everyone. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 3. 3 26.05.2013 Problem 2 Shortage of programmers. In the EU alone there are estimates that the shortage will grow to 900,000 programmers in ten years. Possible fixes: Train more of them. Import them. Select only the best. Match tasks with skill sets. Deskill programming, so more can program. (Automate it.) Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability None of this scales.
  • 4. 4 26.05.2013 A Possible Solution Programming in natural language could be done by anyone. People are good at explaining. We teach our children. Recipes, instruction manuals, assembly manuals, books, etc. Requirements elicitation is explaining the domain. Some of the challenges of natural language: Ambiguity Implicit context Implicit assumptions These challenges need to be met. A smart programmable device can ask for clarification. Programming is not a one-way street. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 5. 5 26.05.2013 Why now? Because Language Technology has made tremendous strides Translation devices: Jibbigo Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 6. 6 26.05.2013 IBM Watson wins Jeopardy Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 7. 7 26.05.2013 And the Siri Announcement... Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 8. 8 26.05.2013 Recent Successes of Applying NLP in SE Inferring code contracts from method descriptions Detecting incorrect code comments Programming Excel by example Test script generated from NL requirements Our own contributions: Automatic specification improvement (remove ambiguities by checking knowledge sources and asking the writer) Generating UML diagrams from textual specifications. Round-trip engineering (if you change the class diagram, the requirements text is updated automatically) Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 9. 9 26.05.2013 Example: IETF 3912 WHOIS Protocol A WHOIS server listens on TCP port 43 for requests from WHOIS clients. The WHOIS client makes a text request to the WHOIS server, then the WHOIS server replies with text content. All requests are terminated with ASCII CR and then ASCII LF. The response might contain more than one line of text, so the presence of ASCII CR or ASCII LF characters does not indicate the end of the response. The WHOIS server closes its connection as soon as the output is finished. The closed TCP connection is the indication to the client that the response has been received. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 10. 10 26.05.2013 IETF 3912: WHOIS Protocol Generated Class Diagram Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability ASCII_CR ASCII_LF response WHOIS_client TCP_port_43 WHOIS_server listen(pat : TCP_port_43) : void makes() : void replies() : text_content closes(pat : connection) : void connection closed : boolean requests treminated(instr : ASCII_CR,instr : ASCII_LF) : void end text_content HAB POSS line morethanone RECP DON RECPDON text QUALII QUALPOSSHAB output finished() : void HAB HAB
  • 11. 11 26.05.2013 Animation Scripting CMU Alice is a framework for building 3D environments, animations, and games. It is graphic! Program it in English rather than Java. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 12. 12 26.05.2013 Animation Scripting: Prerequisites Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability Getting to know Alice → Ontology building from Alice. What objects are available for programming? Determine the features of the objects. How can objects and actions be described in natural language? (linking the API to NL) Determine method parameters (what if they are not given in the script? or in the wrong type?). Handle control flow (e.g. foreach). How do humans express repetition? They do not spell out a while-loop.
  • 13. 13 26.05.2013 Animation Scripting: Scene Setup The ground is covered with grass, the sky is blue. In the background on the left hand side there is a palm tree. In the foreground on the left hand side there is a closed Mailbox facing southeast. Right to the mailbox there is a frog facing east. In the foreground on the right hand side there is a bunny facing southwest. In front of the bunny there is a broccoli. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 14. 14 26.05.2013 Application Area: Programming Robots ARMAR-III is a humanoid robot. Designed to be a household help. Example tasks: „Set the table for three persons.“ „Put cereal and milk on the table.“ “Clear the table and put the dishes in the dishwasher.” You may want to explain a “subroutine”, such as “clearing the table means pick up all the objects on the table and put them on the counter” Why would you want to instruct the robot any other way? Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  • 15. 15 26.05.2013 The NL Programming Grand Challenge Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability 2014 2015 ??? ??? ???? Scene Descriptions Straight Line Scripts Robot Interaction Loops, Recursion Algorithms Multimodal Programming (pointing, touch, demonstrating)
  • 16. 16 26.05.2013 Autonomous Vehicles: DARPA Grand Challenge 1 2007 DARPA Urban Challenge
  • 17. 17 26.05.2013 Autonome Fahrzeuge: DARPA Herausforderungen 1 2007 DARPA Urban Challenge In all these cases, concentrated efforts led to substantial progress in a short time. Successful techniques were „borrowed“ from other teams and improved. Could we achieve a similar speed in NL programming?
  • 18. 18 26.05.2013 Grand Challenge: Enabling anyone to program Which approaches will enable billions of users to program? To unleash the potential of programmable devices, programming should be accessible to anyone. Many fields have to work together. Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability Researchers Join Forces!