user participation in evolutionary development l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
User Participation in Evolutionary Development PowerPoint Presentation
Download Presentation
User Participation in Evolutionary Development

Loading in 2 Seconds...

play fullscreen
1 / 21

User Participation in Evolutionary Development - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'User Participation in Evolutionary Development' - tangia


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
user participation in evolutionary development
User Participation in Evolutionary Development

Anders MørchInterMediaUniversity of Osloanders.morch@intermedia.uio.nowww.intermedia.uio.no

keywords from previous presentations
Keywords from previous presentations

Natural programming

Gardening metaphor

Runtime tailorability

Domain-expert users

From abstract to concrete

From concrete to abstract

outline
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
user participation in development
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

natural evolution as guiding principle
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

two kinds of natural evolution
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

two kinds of software evolution
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)

program evolution and programming language evolution

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)

from natural to artificial evolution
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

narrowing the micro macro gap of nl
Narrowing the micro/macro gap of NL

Unit of adaptation

Natural selection

macro

Individualsparticipation

inter-

mediate

micro

Genetic variation

going t o o far is bypassing the issue
Going too far is bypassing the issue?

Unit of adaptation

selection

macro

inter-

mediate

Participation?

micro

variation

slide12

Shortening the variation-selection loop

Variation

Genetic/Random

Deliberated

Selection

Artificial

Natural

adopting evolutionary perspectives to eud
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
analogical solution and metaphor
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
past work at uio end user tailoring
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
evolving basicdraw into kitchendesign
Evolving BasicDraw into KitchenDesign
  • Example: How to build a specialized drawing

program from a generic program ?

Customization

Integration

Extension

KitchenDesign

BasicDraw

exposing aspects below the user interface

2

1

1b

3

Exposing aspects below the user interface

shiftMouseDown

altMouseDown

ctrlMouseDown

planned work
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
references
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