1 / 21

User Participation in Evolutionary Development

User Participation in Evolutionary Development. Anders Mørch InterMedia University of Oslo anders.morch@intermedia.uio.no www.intermedia.uio .no. Keywords from previous presentations. Natural programming Gardening metaphor Runtime tailorability Domain-expert users

tangia
Download Presentation

User Participation in Evolutionary Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. User Participation in Evolutionary Development Anders MørchInterMediaUniversity of Osloanders.morch@intermedia.uio.nowww.intermedia.uio.no

  2. Keywords from previous presentations Natural programming Gardening metaphor Runtime tailorability Domain-expert users From abstract to concrete From concrete to abstract

  3. Outline • User participation in development • Evolution as guiding principle • From natural to artificial evolution • End users as initiators of evolutionary change • Level of abstraction appropriate for user participation (gardeningmetaphor) • Past work • Planned work

  4. User participation in development User participation in Scandinavian system development has been about how to involve users in the early stages of development (analysis and design) and evaluation This is appropriate for easy-to-use systems One of the main EUD-Net goal is to move from easy-to-use to easy-to-develop systems Our interest: Users as active participants in the further development of existing systems

  5. Natural evolution as guiding principle Evolution by incrementally making small changes to existing systems over long time works remarkably well A step beyond ”one shot” framework instantiation (e.g. spreadsheet development) Principles of natural evolution have beensuccessfully adopted in many other domains (building architecture, evolution of everyday tools, etc) Two levels of evolution: species and individual

  6. Two kinds of natural evolution Phylogenetic evolution: The evolution of species (our gene pool; the gene pool of trees) Ontogenetic evolution: The evolution of an individual member of a species (you and me; the tree outside the building we’re in) Hypothesis: Natural evolution can serve asanalogy to identify and explain differences between two kinds of software evolution

  7. Two kinds of software evolution Programming language evolution: The evolution of programming languages (e.g., Simula 67 => C++ => Java) Program evolution: The evolution of an individual member (a program, an application) created from a programming language (Word 1 => Word 4.0 => Word 97, etc.) Program evolution was first (seriously) tre-ated by Lehman and Belady (IBM OS/360)

  8. Domain-orientedextensions Generic extensions Tailorable generic application Application integration framework Visual programminglanguages (VPL) Scripting languages Object-oriented languages Binary languages (e.g. Java bytcode) Hardware description languages (HDL) Program evolution and programming language evolution Layers of program code in an application Program evolution Each layer can be implemented in the same (or a different) language Programming languages Language evolution Translation (E.g. HDL1 => HDL2 => HDL3 Simula 67 => C++ => Java)

  9. From natural to artificial evolution NL works by two basic mechanisms: genetic variation and natural selection Genetic variation is a micro level mechanism that can cause permanent (inheritable) change in an organism Natural selection is a macro mechanism that is caused by external (environmental) factors The mechanisms are outside the reach of individuals and create a micro/macro gap

  10. Narrowing the micro/macro gap of NL Unit of adaptation Natural selection macro Individualsparticipation inter- mediate micro Genetic variation

  11. Going too far is bypassing the issue? Unit of adaptation selection macro inter- mediate Participation? micro variation

  12. Shortening the variation-selection loop Variation Genetic/Random Deliberated Selection Artificial Natural

  13. Adopting evolutionary perspectives to EUD • Goal: users as active participants as creators of evolutionary change • User participation requirements: • unit of variation should approximate unit of selection • unit of selection should approximate unit of use • Designer perspective : • Artificial selection • Deliberated variation

  14. Analogical solution (and metaphor) • “Gardening” as analogical solution • Why: Gardening provides a level of abstraction that is suitable for user participation • Two literal examples : • “Pruning” as metaphor for artificial selection • “Grafting” as metaphor for deliberated variation

  15. Artificial selection: Pruning a bonsai tree

  16. Deliberated variation: Grafting and budding a fruit tree

  17. Past work at UiO: End-user tailoring • Techniques for deliberated variation (”application grafting”) : • customization • integration • extension • Application units as basic building blocks • Application unit goes beyond GUI objects by providing access to levels of an application below theuser interface

  18. Evolving BasicDraw into KitchenDesign • Example: How to build a specialized drawing program from a generic program ? Customization Integration Extension KitchenDesign BasicDraw

  19. 2 1 1b 3 Exposing aspects below the user interface shiftMouseDown altMouseDown ctrlMouseDown

  20. Planned work • Tools and techniques for artificial selection (“application pruning”) : • intervention • de-coupling • conservation • Component-based systems with embedded “gardening” tools • Artificial selection as abstraction mechanism for turning components “off” during execution to cope with superfluous functionality growth

  21. References • An elaborated version of this presentation can be found in the following paper: Mørch, A.I. Evolutionary Growth and Control in User Tailorable Systems. In Adaptive Evolutionary Information Systems. N. Patel (ed.). Idea Group Publishing, 2002. (may take time to download ..) http://www.intermedia.uio.no/ansatte/morch/research/publications/ead/02Chap.pdf

More Related