Agentsheets: a Tool for Building Domain-Oriented Dynamic, Visual Environments
Total Page:16
File Type:pdf, Size:1020Kb
Agentsheets: A Tool for Building Domain-Oriented Dynamic, Visual Environments Alexander Repenning Ph.D. Dissertation CU-CS-693-93 December 1993 University of Colorado at Boulder DEPARTMENT OF COMPUTER SCIENCE AGENTSHEETS: A TOOL FOR BUILDING DOMAIN-ORIENTED DYNAMIC, VISUAL ENVIRONMENTS by ALEXANDER REPENNING B.S., Engineering College, Brugg-Windisch, 1985 M.S., University of Colorado, 1990 A thesis submitted to the Faculty of the Graduate School of the University of Colorado in partial fulfillment of the requirement for the degree of Doctor of Philosophy Department of Computer Science 1993 Committee: Clayton Lewis, Chairman, Department of Computer Science Ernesto Arias, College of Environmental Design Wayne Citrin, Department of Computer Science and Electrical Engineering Gerhard Fischer, Department of Computer Science Mark Gross, College of Environmental Design Jim Martin, Department of Computer Science Peter Polson, Department of Psychology AGENTSHEETS: A TOOL FOR BUILDING DOMAIN-ORIENTED DYNAMIC, VISUAL ENVIRONMENTS Repenning, Alexander (Ph.D., Computer Science) Thesis directed by Professor Clayton Lewis Abstract Cultures deal with their environments by adapting to them and simultaneously changing them. This is particularly true for technological cultures, such as the dynamic culture of computer users. To date, the ability to change computing environments in non-trivial ways has been dependent upon the skill of programming. Because this skill has been hard to acquire, most computer users must adapt to computing environments created by a small number of programmers. In response to the scarcity of programming ability, the computer science community has concentrated on producing general-purpose tools that cover wide spectrums of applications. As a result, contemporary programming languages largely ignore the intricacies arising from complex interactions between different people solving concrete problems in specific domains. This dissertation describes Agentsheets, a substrate for building domain-oriented, visual, dynamic programming environments that do not require traditional programming skills. It discusses how Agentsheets supports the relationship among people, tools, and problems in the context of four central themes: (1) Agentsheets features a versatile construction paradigm to build dynamic, visual environments for a wide range of problem domains such as art, artificial life, distributed artificial intelligence, education, environmental design, and computer science theory. The construction paradigm consists of a large number of autonomous, communicating agents organized in a grid, called the agentsheet. Agents utilize different communication modalities such as animation, sound, and speech. (2) The construction paradigm supports the perception of programming as problem solving by incorporating mechanisms to incrementally create and modify spatial and temporal representations. (3) To interact with a large number of autonomous entities Agentsheets postulates participatory theater, a human- computer interaction scheme combining the advantages of direct manipulation and delegation into a continuous spectrum of control and effort. (4) Metaphors serve as mediators between problem solving-oriented construction paradigms and domain-oriented applications. Metaphors are used to represent application semantics by helping people to conceptualize problems in terms of concrete notions. Furthermore, metaphors can simplify the implementation of applications. Application designers can explore and reuse existing applications that include similar metaphors. i ACKNOWLEDGMENTS My most sincere thanks goes to: Nadia Repenning-Gatti, my wife, for her unparalleled support and encouragement through all these years; Clayton Lewis, my advisor, for providing me with so many crucial insights; my dissertation committee, Clayton Lewis, Gerhard Fischer, Ernesto Arias, Wayne Citrin, Mark Gross, James Martin, and Peter Polson for their vital advice; Gerhard Fischer for giving me an opportunity to test Agentsheets in class room settings and in the HCC research group; Tamara Sumner and Jim Sullivan for all their enormous patience to use Agentsheets, for creating consequential applications, and for giving me most valuable feedback; Roland Hübscher, and Brigham Bell for inspiring discussions; Michael Vittins, at Hewlett Packard, who introduced me to the wonderful realm of research and at the same time let me have a sobering glimpse at the real world; the Asea Brown Boveri Research Center in Switzerland, in general, and Reinhold Güth particularly, for the highly motivational and finacial support; the invigorating people at Xerox PARC and especially Rich Gold for inspiring so many Agentsheets applications and providing me with a new perspective of computers and art; anonymous Agentsheets users that have spend a great deal of time in building truly amazing applications without the help of a user manual; Allan Cypher at Apple Computer Inc., for providing the hardware; all the people reviewing my dissertation and especially to Tamara Sumner and Gerry Stahl for putting a large effort into it; Herman Gysel and Gino Gatti for their moral assistance; the members of the thinking chairs group, Daniel Künzle and Gabriel Inäbnit, for their spiritual guidance; the National Science Foundation for financing my research. ii TABLES Table 1-1: Past Approaches ...........................................................................................................................36 Table 2-1: Example Classes of Specialized Containers and Contents...........................................................59 Table 2-2: Agentsheets and Related Systems ................................................................................................83 Table 3-1: Channels.......................................................................................................................................89 Table 3-2: Reservoir Modeling......................................................................................................................91 Table 3-3: Electric World ..............................................................................................................................92 Table 3-4: VisualKEN ...................................................................................................................................93 Table 3-5: City Traffic...................................................................................................................................94 Table 3-6: Petri Nets ......................................................................................................................................95 Table 3-7: Networks ......................................................................................................................................96 Table 3-8: Tax The Farmer ............................................................................................................................97 Table 3-9: Particle World...............................................................................................................................98 Table 3-10: Rocky’s Other Boot....................................................................................................................99 Table 3-11: Voice Dialog Design Environment ..........................................................................................100 Table 3-12: Labsheets ..................................................................................................................................101 Table 4-1: Relationships Among Contributions ..........................................................................................124 Table 4-2: Contributions, Support and Intuition..........................................................................................132 iii FIGURES Figure 1-1: People, Tools and Problems........................................................................................................12 Figure 1-2: Control Panel of Coffee Machine................................................................................................17 Figure 1-3: Visual Programming Tools.........................................................................................................21 Figure 1-4: Data Flow Diagram Representing x2 - 2x + 3 ............................................................................22 Figure 1-5: BLOX Pascal...............................................................................................................................23 Figure 1-6: Pinball Construction Kit..............................................................................................................24 Figure 1-7: Isomorphic Flow Charts: Neat and Linear..................................................................................26 Figure 1-8: Neat and Messy Charts................................................................................................................26 Figure 1-9: Explicit Spatial Notation.............................................................................................................29 Figure 1-10: Implicit Spatial Notation: Roof is Above Frame of House.......................................................30 Figure 1-11: Explicit Spatial Notation: Roofs and Frames of Houses...........................................................30 Figure 1-12: The “ideal” tool?.......................................................................................................................40