User Participation in Evolutionary Development - PowerPoint PPT Presentation

About This Presentation
Title:

User Participation in Evolutionary Development

Description:

... identify and explain differences between two kinds of software evolution ... Evolving BasicDraw into KitchenDesign. Example: How to build a specialized drawing ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 22
Provided by: and4174
Category:

less

Transcript and Presenter's Notes

Title: User Participation in Evolutionary Development


1
User Participation in Evolutionary Development
Anders MørchInterMediaUniversity of
Osloanders.morch_at_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 (gardening metaphor)
  • 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 been
    successfully 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 were 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 gt C gt
    Java)
  • Program evolution The evolution of an individual
    member (a program, an application) created from a
    programming language (Word 1 gt Word 4.0 gt Word
    97, etc.)
  • Program evolution was first (seriously) tre-ated
    by Lehman and Belady (IBM OS/360)

8
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 gt HDL2 gt HDL3 Simula 67 gt C gt
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
Natural
Artificial
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 the user interface

18
Evolving BasicDraw into KitchenDesign
  • Example How to build a specialized drawing
  • program from a generic program ?

Customization Integration Extension
KitchenDesign
BasicDraw
19
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/resear
    ch/publications/ead/02Chap.pdf
Write a Comment
User Comments (0)
About PowerShow.com