powerpoint presentation - method and rationale for evolutionary

21
1 User Participation in Evolutionary Development Pisa, 23/9 - 2002 EUD-Net kick-off User Participation in Evolutionary Development Anders Mørch InterMedia University of Oslo [email protected] www.intermedia.uio.no

Upload: hatram

Post on 31-Jan-2017

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PowerPoint Presentation - Method and Rationale for Evolutionary

1

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

User Participation in Evolutionary Development

Anders MørchInterMedia

University of [email protected]

www.intermedia.uio.no

Page 2: PowerPoint Presentation - Method and Rationale for Evolutionary

2

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Keywords from previous presentations

• Natural programming

• Gardening metaphor

• Runtime tailorability

• Domain-expert users

• From abstract to concrete

• From concrete to abstract

Page 3: PowerPoint Presentation - Method and Rationale for Evolutionary

3

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 4: PowerPoint Presentation - Method and Rationale for Evolutionary

4

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 5: PowerPoint Presentation - Method and Rationale for Evolutionary

5

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 6: PowerPoint Presentation - Method and Rationale for Evolutionary

6

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 7: PowerPoint Presentation - Method and Rationale for Evolutionary

7

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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)

Page 8: PowerPoint Presentation - Method and Rationale for Evolutionary

8

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Program evolution and programming language evolution

Layers of program code in an application

Programming languages

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)

Language evolution

Program evolution

Trans

lation

Each layer can be implemented inthe same (or a different) language

(E.g. HDL1 => HDL2 => HDL3Simula 67 => C++ => Java)

Page 9: PowerPoint Presentation - Method and Rationale for Evolutionary

9

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 10: PowerPoint Presentation - Method and Rationale for Evolutionary

10

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Narrowing the micro/macro gap of NL

micro

inter-mediate

macro Natural selection

Genetic variation

Individualsparticipation

Unit of adaptation

Page 11: PowerPoint Presentation - Method and Rationale for Evolutionary

11

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Going too far is bypassing the issue?

micro

inter-mediate

macroselection

variation

Participation?

Unit of adaptation

Page 12: PowerPoint Presentation - Method and Rationale for Evolutionary

12

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Shortening the variation-selection loop

Variation

Natural

Deliberated

Selection

Genetic/Random

Artificial

Page 13: PowerPoint Presentation - Method and Rationale for Evolutionary

13

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 14: PowerPoint Presentation - Method and Rationale for Evolutionary

14

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 15: PowerPoint Presentation - Method and Rationale for Evolutionary

15

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Artificial selection: Pruning a bonsai tree

Page 16: PowerPoint Presentation - Method and Rationale for Evolutionary

16

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Deliberated variation: Grafting and budding a fruit tree

Page 17: PowerPoint Presentation - Method and Rationale for Evolutionary

17

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 18: PowerPoint Presentation - Method and Rationale for Evolutionary

18

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Evolving BasicDraw into KitchenDesign

• Example: How to build a specialized drawing program from a generic program ?

BasicDraw KitchenDesign

Cus

tom

izat

ion

Inte

grat

ion

Exte

nsio

n

Page 19: PowerPoint Presentation - Method and Rationale for Evolutionary

19

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

Exposing aspects below the user interface

12

3

shiftMouseDown

ctrlMouseDown

altMouseDown

1b

Page 20: PowerPoint Presentation - Method and Rationale for Evolutionary

20

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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

Page 21: PowerPoint Presentation - Method and Rationale for Evolutionary

21

User Participation in Evolutionary Development

Pisa, 23/9 - 2002EUD-Net kick-off

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