cse 341 -- s. tanimoto visual languages 1 visual languages (outline) motivation control flow...

13
CSE 341 -- S. Tanimoto 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation Visual Languages for Computer- based Human Communication Programming by Demonstration

Post on 21-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

1

Visual Languages (Outline)

Motivation

Control Flow Diagrams

Data Flow Diagrams

Iconic Programming, Iconic Representation

Visual Languages for Computer-based Human Communication

Programming by Demonstration

Page 2: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

2

Page 3: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

3

MotivationProgramming is difficult because it’s hard to imagine what the state of the program is.

Programming is difficult because language constructs are cryptic.

Most PL concepts were developed in the text-only days, before graphical interfaces were widespread.

Human visual perception is capable of high-bandwidth input if images, rather than text, are used.

Visual languages can sometmes be learned more quickly.

Page 4: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

4

Control Flow Diagrams

Flow charts:

originally used only for specification and documentation

later, executable flow charts were developed.

product = 1

n > 1

product *= n

n--

Print product

Read n

N

Y

Page 5: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

5

Data Flow DiagramsCaptures potential parallelism

Usually requires scheduling

Allows cueing of types by line attributes

cos

sin

Input double

* 5

sqr

+ Output

Input image Output imageTo Black&White

Page 6: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

6

Iconic Programming

Icons can sometimes be learned more quickly and remembered more easily than textual names.

An icon can represent an object or an operation.

“Icons on strings” -- replacement of the boxes in flowcharts and data flow diagrams by icons

Scripts composed of “iconic sentences”

Example: Pictorial Language for Animation by Youngsters (PLAY) -- Runyan & Tanimoto, 1985.

Page 7: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

7

Page 8: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

8

Page 9: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

9

Iconic Representation

Icons can sometimes be learned more quickly and remembered more easily than textual names.

Icon design involves metaphor -- use of analogy.

Stylization -- graphical simplication and exaggeration.

Decontextualization -- the trashcan is not in the kitchen.

Abstract concepts are difficult to represent.

Composing new images takes longer than new names.

Page 10: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

10

Page 11: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

11

Example Iconic Language

Vedo-Vedi: An iconic language for computer-based human communication.

Prototype supports multi-lingual communication

Meaning is expressed in an animation, with subtitles

developed by S. Tanimoto & C. Bernardelli, 1998.

Page 12: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

12

Programming by Demonstration

The user performs a sample computation.

The system may generalize the sequence.

Requires an interface in which users can manipulate data directly.

Controlling the generalization process is tricky.

Page 13: CSE 341 -- S. Tanimoto Visual Languages 1 Visual Languages (Outline) Motivation Control Flow Diagrams Data Flow Diagrams Iconic Programming, Iconic Representation

CSE 341 -- S. Tanimoto Visual Languages

13

Example Systems

Gael Curry: Programming by Abstract Demonstration -- UW, 1977.

Stagecast Creator: A simulation environment using programming by demonstration and rule-based simulation. (based on Cocoa & KidSim). Avail. at www.stagecast.com.

ToonTalk: A robot programming environment supporting concurrent computation and complex control structures via a visual programming-by-demonstration method. (developed by Ken Kahn, available at www.toontalk.com).