Universal programmability how ai can help

1,073 views

Published on

Walter F. Tichy, Mathias Landhäußer, Sven J. Körner , Raise'13

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,073
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Universal programmability how ai can help

  1. 1. KIT – Universität des Landes Baden-Württemberg undnationales Forschungszentrum in der Helmholtz-GemeinschaftRAISE’13 – DAY 2: OVER THE HORIZONwww.kit.eduUniversal ProgrammabilityHow AI Can HelpWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | May 26, 2013
  2. 2. 2 26.05.2013Problem 1Almost 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 canprogram.Programmability, the most fundamental aspect of computers, isinaccessible to almost everyone.Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  3. 3. 3 26.05.2013Problem 2Shortage of programmers.In the EU alone there are estimates that the shortage will grow to900,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 ProgrammabilityNone of this scales.
  4. 4. 4 26.05.2013A Possible SolutionProgramming 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:AmbiguityImplicit contextImplicit assumptionsThese 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. 5 26.05.2013Why now?Because Language Technology has madetremendous stridesTranslation devices: JibbigoWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  6. 6. 6 26.05.2013IBM Watson wins JeopardyWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  7. 7. 7 26.05.2013And the Siri Announcement...Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  8. 8. 8 26.05.2013Recent Successes of Applying NLP in SEInferring code contracts from method descriptionsDetecting incorrect code commentsProgramming Excel by exampleTest script generated from NL requirementsOur own contributions:Automatic specification improvement (remove ambiguities by checkingknowledge sources and asking the writer)Generating UML diagrams from textual specifications.Round-trip engineering (if you change the class diagram, therequirements text is updated automatically)Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  9. 9. 9 26.05.2013Example: IETF 3912 WHOIS ProtocolA WHOIS server listens on TCP port 43 for requestsfrom WHOIS clients.The WHOIS client makes a text request to the WHOISserver, then the WHOIS server replies with textcontent.All requests are terminated with ASCII CR and thenASCII LF.The response might contain more than one line of text,so the presence of ASCII CR or ASCII LF charactersdoes not indicate the end of the response.The WHOIS server closes its connection as soon as theoutput is finished.The closed TCP connection is the indication to theclient that the response has been received.Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  10. 10. 10 26.05.2013IETF 3912: WHOIS ProtocolGenerated Class DiagramWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal ProgrammabilityASCII_CRASCII_LFresponseWHOIS_clientTCP_port_43WHOIS_serverlisten(pat : TCP_port_43) : voidmakes() : voidreplies() : text_contentcloses(pat : connection) : voidconnectionclosed : booleanrequeststreminated(instr : ASCII_CR,instr : ASCII_LF) : voidendtext_contentHABPOSSlinemorethanoneRECP DONRECPDONtextQUALII QUALPOSSHABoutputfinished() : voidHABHAB
  11. 11. 11 26.05.2013Animation ScriptingCMU 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. 12 26.05.2013Animation Scripting:PrerequisitesWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal ProgrammabilityGetting 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. 13 26.05.2013Animation Scripting:Scene SetupThe ground is covered with grass, the sky is blue. In the background onthe left hand side there is a palm tree. In the foreground on the left handside there is a closed Mailbox facing southeast. Right to the mailbox thereis a frog facing east. In the foreground on the right hand side there is abunny 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. 14 26.05.2013Application Area:Programming RobotsARMAR-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 dishesin the dishwasher.”You may want to explain a“subroutine”, such as “clearing thetable means pick up all the objects onthe table and put them on the counter”Why would you want to instruct therobot any other way?Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability
  15. 15. 15 26.05.2013The NL Programming Grand ChallengeWalter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal Programmability2014 2015 ??? ???????Scene DescriptionsStraight Line ScriptsRobot InteractionLoops, RecursionAlgorithmsMultimodalProgramming(pointing, touch,demonstrating)
  16. 16. 16 26.05.2013Autonomous Vehicles:DARPA Grand Challenge12007 DARPAUrban Challenge
  17. 17. 17 26.05.2013Autonome Fahrzeuge:DARPA Herausforderungen12007 DARPAUrban ChallengeIn all these cases, concentrated efforts led to substantialprogress in a short time.Successful techniques were „borrowed“ from otherteams and improved.Could we achieve a similar speed in NL programming?
  18. 18. 18 26.05.2013Grand Challenge: Enabling anyone to programWhich approaches will enablebillions of users to program?To unleash the potential ofprogrammable devices,programming should beaccessible to anyone.Many fields have to worktogether.Walter F. Tichy, Mathias Landhäußer, Sven J. Körner | Universal ProgrammabilityResearchersJoin Forces!

×