Suchen und Finden
Front Cover
1
Your Wish Is My Command: Programming by Example
4
Copyright Page
5
Contents
10
Foreword
6
Introduction
20
Chapter 1. Novice Programming Comes of Age
26
Abstract
27
1.1 Introduction
27
1.2 Programming without a Textual Programming Language
28
1.3 Theoretical Foundations
30
1.4 Empirical Evidence
35
1.5 Conclusion
37
References
38
Chapter 2. Generalizing by Removing Detail: How Any Program Can Be Created by Working with Examples
40
Abstract
41
2.1 Introduction
41
2.2 A Brief Introduction to ToonTalk
43
2.3 An Example of Programming by Example
45
2.4 Discussion
59
2.5 Conclusion
61
Acknowledgements
62
References
62
Chapter 3. Demonstrational Interfaces: Sometimes You Need a Little Intelligence, Sometimes You Need a Lot
64
Abstract
65
3.1 Introduction
65
3.2 Our Demonstrational Systems
66
3.3 Level of Intelligence
68
3.4 Feedback
73
3.5 Conclusion
76
Acknowledgements
77
References
77
Chapter 4. Web Browsing by Example
80
Abstract
81
4.1 Introduction
81
4.2 Underlying Problems of PBE
82
4.3 Web Browsing: Good Domain for PBE
83
4.4 Internet Scrapbook
84
4.5 SmallBrowse: Web-Browsing Interface for Small-Screen Computers
92
4.6 Discussion
100
4.7 Conclusion
102
Appendix: Copying HTML Data from Web Browser to Scrapbook
103
References
104
Chapter 5. Trainable Information Agents for the Web
106
Abstract
107
5.1 Introduction
107
5.2 An Application Scenario
108
5.3 The HyQL Query Language
110
5.4 The Training Dialogue
115
5.5 Lessons Learned
123
5.6 The Communication Problem
124
5.7 Another Application Scenario
128
5.8 Related Work (Non-PBE)
129
5.9 Conclusion
131
Acknowledgements
131
References
132
Chapter 6. End Users and GIS: A Demonstration Is Worth a Thousand Words
134
Abstract
135
6.1 Introduction
135
6.2 A Story of End Users and GIS
135
6.3 Why Is GIS Software So Hard to Use?
137
6.4 Are Things Improving for GIS Users?
139
6.5 How Can Programming by Demonstration Help?
140
6.6 A Programming-by-Demonstration Approach for GIS: C-SPRL
142
6.7 Conclusion
151
Acknowledgements
151
References
151
Chapter 7. Bringing Programming by Demonstration to CAD Users
154
Abstract
155
7.1 Introduction
155
7.2 PBD and CAD
156
7.3 Toward a Complete Solution
162
7.4 True Explicit PBD Solutions
174
7.5 Conclusion
178
References
179
Chapter 8. Demonstrating the Hidden Features that Make an Application Work
182
Abstract
183
8.1 Introduction
183
8.2 The Perils of Plain Demonstration
184
8.3 Who Is Actually Programming?
185
8.4 Giving the System Hints
186
8.5 The Programming Environment Matters
190
8.6 Conclusion
191
References
193
Chapter 9. A Reporting Tool Using Programming by Example for Format Designation
194
Abstract
195
9.1 Introduction
195
9.2 System Overview
197
9.3 User Interface of Format Editor
198
9.4 Extracting Formatting Rules
201
9.5 Generating Reports
202
9.6 Example of the Process
202
9.7 Evaluation
206
9.8 Conclusion
209
References
209
Chapter 10. Composition by Example
210
Abstract
211
10.1 Introduction
211
10.2 PBE-Based Text Editing Systems
212
10.3 Dynamic Macro: A PBE-Based Text Editing System
212
10.4 POBox: A PBE-Based Text Input System
216
10.5 Conclusion
226
References
226
Chapter 11. Learning Repetitive Text-Editing Procedures with SMARTedit
228
Abstract
229
11.1 Introduction
229
11.2 The SMARTedit User Interface
231
11.3 The Smarts behind SMARTedit
234
11.4 Choosing the Most Likely Action
238
11.5 Making SMARTedit a More Intelligent Student
240
11.6 Other Directions for SMARTedit
242
11.7 Comparison with Other Text-Editing PBD Systems
242
11.8 Conclusion
243
References
244
Chapter 12. Training Agents to Recognize Text by Example
246
Abstract
247
12.1 Text Recognition Agents
247
12.2 Writing Conventional Grammars as Text
249
12.3 Programming Grammars by Example for More Accessibility
250
12.4 Grammex: A Demonstrational Interface for Grammar Definition
251
12.5 An Example: Defining a Grammar for Email Addresses
252
12.6 Rule Definitions from Multiple Examples
255
12.7 Future Work: Using Grammar Induction to Speed Up the Definition Process
260
12.8 Related Work
261
12.9 Conclusion
262
Acknowledgements
262
References
262
Chapter 13. SWYN: A Visual Representation for Regular Expressions
264
Abstract
265
13.1 Introduction
265
13.2 Other PBE Systems for Inferring Regular Expressions
269
13.3 A User Interface for Creating Regular Expressions from Examples
270
13.4 A Heuristic Algorithm for Regular Expression Inference
274
13.5 A Visual Notation for Regular Expressions
277
13.6 An Integrated Facility for Regular Expression Creation
284
13.7 Conclusion
286
Acknowledgements
287
References
287
Chapter 14. Learning Users' Habits to Automate Repetitive Tasks
290
Abstract
291
14.1 Introduction
291
14.2 Overview of APE
293
14.3 Illustrative Examples
298
14.4 Detecting Repetitive Tasks
303
14.5 Learning a User's Habits
305
14.6 Use and Experimental Results
309
14.7 Conclusion
312
References
313
Chapter 15. Domain-Independent Programming by Demonstration in Existing Applications
316
Abstract
317
15.1 Introduction
317
15.2 What Familiar Does
319
15.3 Platform Requirements
330
15.4 AppleScript: A Commercial Platform
332
15.5 Conclusion
337
References
338
Chapter 16. Stimulus-Response PBD: Demonstrating "When" as well as "What"
340
Abstract
341
16.1 Introduction
341
16.2 The Syntax of Stimulus-Response
345
16.3 The Semantics of Stimulus-Response
355
16.4 Feedback and Editing
359
16.5 Conclusion
361
References
362
Chapter 17. Pavlov: Where PBD Meets Macromedia's Director
364
Abstract
365
17.1 Introduction
365
17.2 Example
365
17.3 Objects that React Asynchronously to Events
366
17.4 Conclusion
368
References
369
Chapter 18. Programming by Analogous Examples
370
Abstract
371
18.1 Introduction
371
18.2 The GUI to Program Chasm
373
18.3 Programming by Analogous Examples
375
18.4 Discussion
379
18.5 Conclusion
386
Acknowledgements
387
References
387
Chapter 19. Visual Generalization in Programming by Example
390
Abstract
391
19.1 If You Can See It, You Should Be Able to Program It
391
19.2 What Does Visual Generalization Buy Us?
393
19.3 Low-Level Visual Generalization
395
19.4 High-Level Visual Generalization
397
19.5 Introducing Novel Generalizations: Generalizing on Grids
400
19.6 Conclusion
402
References
403
Color Plate Section
436
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.