Henry Lieberman MIT Media Lab AI in End-User Software Engineering Henry Lieberman, MIT (presenting) Raphael Hoffmann, Michael Toomim, U. Washington, Seattle.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Programming Languages By Stefan Kyriacou. Procedural Language Procedural (also known as imperative language) language is a programming language that works.
Computers Are Your Future
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Automating programming via concept mining, probabilistic reasoning over semantic knowledge base of SE domain by Max Talanov.
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 1: Introduction to Decision Support Systems Decision Support.
Describing Syntax and Semantics
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
1 Case Study: Starting the Student Registration System Chapter 3.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Adding Common Sense into Artificial Intelligence Common Sense Computing Initiative Software Agents Group MIT Media Lab.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Chapter 9 High-Level Programming Languages: C++. Chapter Goals Describe the expectations of high level languages Distinguish between functional design.
Common Sense Computing MIT Media Lab Interaction Challenges for Agents with Common Sense Henry Lieberman MIT Media Lab Cambridge, Mass. USA
A First Program Using C#
General Considerations for Implementation
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Design Patterns.
Lecture 12: 22/6/1435 Natural language processing Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
An Introduction to Software Architecture
Data, graphics, and programming in R 28.1, 30.1, Daily:10:00-12:45 & 13:45-16:30 EXCEPT WED 4 th 9:00-11:45 & 12:45-15:30 Teacher: Anna Kuparinen.
Website Accessibility Testing. Why consider accessibility People with disabilities – Visual, Hearing, Physical, Cognitive (learning, reading, attention.
Using Common Sense Reasoning to Create Intelligent Mobile Applications Software Agents Group MIT Media Lab.
Meta-Knowledge Computer-age study skill or What kids need to know to be effective students Graham Seibert Copyright 2006.
Ch:10 Component Level Design Unit 4. What is Component? A component is a modular building block for computer software Because components reside within.
Artificial Intelligence Programming in Prolog Lecture 1: An Introduction 23/09/04.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Generative Programming. Automated Assembly Lines.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Toward a programmatic semantics for natural language hugo liu and henry lieberman mit media lab VL/HCC’04 presentation.
Object Oriented Software Development
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
5.0 Objects First with Java A Practical Introduction using BlueJ David J. Barnes Michael Kölling.
HTML Basics Computers. What is an HTML file? *HTML is a format that tells a computer how to display a web page. The documents themselves are plain text.
XP New Perspectives on XML, 2 nd Edition Tutorial 7 1 TUTORIAL 7 CREATING A COMPUTATIONAL STYLESHEET.
Thinking behind the environment for Making Construals (MCE)
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright © 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Commonsense Reasoning in and over Natural Language Hugo Liu, Push Singh Media Laboratory of MIT The 8 th International Conference on Knowledge- Based Intelligent.
ASP.NET &.NET Environment. Overview Part of Microsoft’s.NET environment Used for Development of  Websites  Internet applications  Web Services & XML.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Concept mining for programming automation. Problem ➲ A lot of trivial tasks that could be automated – Add field Patronim on Customer page. – Remove field.
Automating programming via concept mining, probabilistic reasoning over semantic knowledge base of SE domain by Max Talanov.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
Software Design and Development Languages and Environments Computing Science.
Text2PTO: Modernizing Patent Application Filing A Proposal for Submitting Text Applications to the USPTO.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
Cake PHP – OOPS approach for PHP
Programming by Example
8.12 release Notes.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Software Tools and Environments
Types of Programming Languages
Chapter 4 Computer Software.
Representing Structure and Behavior with Trees
Ada – 1983 History’s largest design effort
The Programming Process
Chapter 7 –Implementation Issues
Objects First with Java A Practical Introduction using BlueJ
Semantic Nets and Frames
Objects First with Java A Practical Introduction using BlueJ
Refactoring.
Presentation transcript:

Henry Lieberman MIT Media Lab AI in End-User Software Engineering Henry Lieberman, MIT (presenting) Raphael Hoffmann, Michael Toomim, U. Washington, Seattle

Henry Lieberman MIT Media Lab Roles for AI in End-User SoftEng Supply knowledge end-user doesn't have Recognize user intent Plan generation and plan recognition Automate common patterns of use Generalize & Specialize Manage multiple representations Error checking and sanity checking

Henry Lieberman MIT Media Lab U. Washington SoftBots & more Planning-based software agents Version-space Programming by Demonstration Sequence prediction via Logic & Probability Recommendation from software libraries

Henry Lieberman MIT Media Lab SmartEdit - Lau

Henry Lieberman MIT Media Lab Version Spaces

Henry Lieberman MIT Media Lab Linked Editing Alternative to content abstraction facilities Powerpoint Master Slides Style Sheets "Symbols" vs. instances in Flash Web templates, components User stays within WYSIWYG paradigm

Henry Lieberman MIT Media Lab Linked Editing End-users "underuse" abstractions Linked Editing User edits concrete example Generalizing over content rather than actions Finds other instances of description Performs "analogous" edits Program code, Web pages, Vector graphics, Sheets

Henry Lieberman MIT Media Lab Linked Editing

Henry Lieberman MIT Media Lab Linked Editing

Henry Lieberman MIT Media Lab Assieme - Customization Recommendation Goal: Recommending scripts for application extensions: Emacs, Firefox Collect keystrokes, file names, commands Provide Web service for recommendation Collab filtering, learning classifier

Henry Lieberman MIT Media Lab Assieme - Customization Recommendation

Henry Lieberman MIT Media Lab The crazy dream: Programming in English Programming languages are too difficult for human beings People can express procedures in English (or other natural language) Why not program in natural language? That was the original idea behind Cobol (whereas Fortran tried to make programming like math)

Henry Lieberman MIT Media Lab Childrens description of Pac- Man

Henry Lieberman MIT Media Lab But what can you do if you can only partially understand English? Need to make the interaction fail-soft Rely on dialogue to resolve ambiguities and errors Maybe dont eliminate code entirely Emphasize correspondence between language and code An "outliner" for code Application: Programming MOOs

Henry Lieberman MIT Media Lab New resources for Common Sense Reasoning Open Mind Common Sense knowledge base ConceptNet Semantic Net MontyLingua/LangUtils

Henry Lieberman MIT Media Lab Metafor Interface

Henry Lieberman MIT Media Lab Programmatic Semantics English to scaffolding code Roughly, Turns nouns into classes and/or instances; Verbs into functions Adjectives into instance variables Resolves anaphora Untangles conditional and loops Propagates context

Henry Lieberman MIT Media Lab Narrative stances I want to make a bar with a customer. (1 st person programmer) There is a customer in the bar. (3 rd person objective) I am a customer sitting on a stool. (1 st person program) The bartender said, Here is a customer (3rd person subjective)

Henry Lieberman MIT Media Lab Refactoring There is a bar. (atom) The bar contains two customers. (unimorphic list) It also contains a waiter. (unimorphic wrt. persons) It also contains some stools. (polymorphic list) The bar opens and closes. (class / agent) The bar is a kind of store. (inheritance class) Some bars close at 6pm. (subclass or instantiatable)

Henry Lieberman MIT Media Lab Shameless Plug