36
Architecture and Mental Models Dr. James O. Coplien, D. We. 1 TampereArchitectureClass.key - 19 Mar 2014

Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Architecture and Mental ModelsDr. James O. Coplien, D. We.

1 TampereArchitectureClass.key - 19 Mar 2014

Page 2: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Emergent Architecture: A Controversial Topic

The events and forms of culture interact

“Requirements” lead to adaptation

Over time, archetypical forms arise

2 TampereArchitectureClass.key - 19 Mar 2014

Page 3: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

3 TampereArchitectureClass.key - 19 Mar 2014

Page 4: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Uncle Bob weighs in

One of the more insidious and persistent myths of agile development is that up-front architecture and design are bad; that you should never spend time up front making architectural decisions. That instead you should evolve your architecture and design from nothing, one test-case at a time. !

Pardon me, but that’s Horse Shit. !

— The Scatology of Agile Architecture, http://blog.objectmentor.com/articles/2009/04/25/the-scatology-of-agile-architecture

4 TampereArchitectureClass.key - 19 Mar 2014

Page 5: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

But though this method is precise, it cannot be used

mechanically. !

The fact is, that even when we have seen deep into the processes by which it is

possible to make a building or a town alive, in the end, it

turns out that this knowledge only brings us back to that part of ourselves which is

forgotten.

5-1 TampereArchitectureClass.key - 19 Mar 2014

Page 6: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

But though this method is precise, it cannot be used

mechanically. !

The fact is, that even when we have seen deep into the processes by which it is

possible to make a building or a town alive, in the end, it

turns out that this knowledge only brings us back to that part of ourselves which is

forgotten.

!!

Architecture supports “what happens there” (operational models !!!)

!

5-2 TampereArchitectureClass.key - 19 Mar 2014

Page 7: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

But though this method is precise, it cannot be used

mechanically. !

The fact is, that even when we have seen deep into the processes by which it is

possible to make a building or a town alive, in the end, it

turns out that this knowledge only brings us back to that part of ourselves which is

forgotten.

5-3 TampereArchitectureClass.key - 19 Mar 2014

Page 8: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Events Generate Form in Design

And finally, of course, I want to paint a picture which allows me to understand the patterns of events which keep on happening in the thing whose structure I seek. In other words, I hope to find a picture, or a structure, which will, in some rather obvious and simple sense, account for the outward properties, for the pattern of events of the thing which I am studying.

— Christopher Alexander, The Timeless Way of Building, Chapter 5, 1979

6-1 TampereArchitectureClass.key - 19 Mar 2014

Page 9: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Events Generate Form in Design

And finally, of course, I want to paint a picture which allows me to understand the patterns of events which keep on happening in the thing whose structure I seek. In other words, I hope to find a picture, or a structure, which will, in some rather obvious and simple sense, account for the outward properties, for the pattern of events of the thing which I am studying.

— Christopher Alexander, The Timeless Way of Building, Chapter 5, 1979

pattern of events

6-2 TampereArchitectureClass.key - 19 Mar 2014

Page 10: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

7 TampereArchitectureClass.key - 19 Mar 2014

Page 11: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Tools and MVC-UModel:

Business Logic and State

8-1 TampereArchitectureClass.key - 19 Mar 2014

Page 12: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Tools and MVC-U

Tool: Presents and Edits Business Data

Model: Business Logic

and State

Controller: Creates and Coordinates

Views

8-2 TampereArchitectureClass.key - 19 Mar 2014

Page 13: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Tools and MVC-U

Tool: Presents and Edits Business Data

Model: Business Logic

and State

Controller: Creates and Coordinates

Views

1st Qtr2nd Qtr3rd Qtr4th Qtr

View: Gives user access to remote data

View0

10

20

30

40

50

60

70

80

90

1st Qtr 2nd Qtr 3rd Qtr 4th Qtr

EastWestNorth

8-3 TampereArchitectureClass.key - 19 Mar 2014

Page 14: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

9-1 TampereArchitectureClass.key - 19 Mar 2014

Page 15: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

“Teaching Machine”

9-2 TampereArchitectureClass.key - 19 Mar 2014

Page 16: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

!

!

We would like to hook into his

current modes of thought in order

to influence him rather than just

trying to replace his model with

one of our own.

— Alan Kay, 1972

!

“Teaching Machine”

9-3 TampereArchitectureClass.key - 19 Mar 2014

Page 17: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

“Teaching Machine”

9-4 TampereArchitectureClass.key - 19 Mar 2014

Page 18: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

What is a Child?

10 TampereArchitectureClass.key - 19 Mar 2014

Page 19: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

11-1 TampereArchitectureClass.key - 19 Mar 2014

Page 20: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Birth - 2 months: living “in time”

11-2 TampereArchitectureClass.key - 19 Mar 2014

Page 21: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Birth - 2 months: living “in time”3 months old:

3D objects are cohesive as they move

11-3 TampereArchitectureClass.key - 19 Mar 2014

Page 22: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

4 months old: Surfaces move together

if connected and separately otherwise

Birth - 2 months: living “in time”3 months old:

3D objects are cohesive as they move

11-4 TampereArchitectureClass.key - 19 Mar 2014

Page 23: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

4 months old: Surfaces move together

if connected and separately otherwiseGravity and inertia,

6 to 8 months

Birth - 2 months: living “in time”3 months old:

3D objects are cohesive as they move

11-5 TampereArchitectureClass.key - 19 Mar 2014

Page 24: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

4 months old: Surfaces move together

if connected and separately otherwiseGravity and inertia,

6 to 8 monthsCausality develops starting at 6 months but is available

at 12 months

Birth - 2 months: living “in time”3 months old:

3D objects are cohesive as they move

11-6 TampereArchitectureClass.key - 19 Mar 2014

Page 25: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Two of Piaget's fundamental notions are attractive from a computer scientist's point of

view.

The first is that knowledge, particularly in the young child, is

retained as a series of operational models, each of which is somewhat ad hoc and need not be logically consistent with the

others. (They are essentially algorithms and strategies rather than logical axioms, predicates

and theorems.)

12-1 TampereArchitectureClass.key - 19 Mar 2014

Page 26: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Two of Piaget's fundamental notions are attractive from a computer scientist's point of

view.

The first is that knowledge, particularly in the young child, is

retained as a series of operational models, each of which is somewhat ad hoc and need not be logically consistent with the

others. (They are essentially algorithms and strategies rather than logical axioms, predicates

and theorems.)

operational models

12-2 TampereArchitectureClass.key - 19 Mar 2014

Page 27: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Two of Piaget's fundamental notions are attractive from a computer scientist's point of

view.

The first is that knowledge, particularly in the young child, is

retained as a series of operational models, each of which is somewhat ad hoc and need not be logically consistent with the

others. (They are essentially algorithms and strategies rather than logical axioms, predicates

and theorems.)

operational models

What is an operational model if not an algorithm, a procedure

for accomplishing a goal?

12-3 TampereArchitectureClass.key - 19 Mar 2014

Page 28: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Two of Piaget's fundamental notions are attractive from a computer scientist's point of

view.

The first is that knowledge, particularly in the young child, is

retained as a series of operational models, each of which is somewhat ad hoc and need not be logically consistent with the

others. (They are essentially algorithms and strategies rather than logical axioms, predicates

and theorems.)

operational models

12-4 TampereArchitectureClass.key - 19 Mar 2014

Page 29: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Should the computer program the kid, or should the kid program the computer? —

Papert (the father of LOGO)

If we teach kids programming, we’re back to the computer programming the kid

We must re-design computers to fit the human mind

We might find the primordial human mind in children

13 TampereArchitectureClass.key - 19 Mar 2014

Page 30: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

Children Might have an Answer

The tabla rasa human — a great problem-solver

Most mental modes are shaped by culture, language, and grownups

We confuse design with engineering

There is a strong kernel of “nature”

14 TampereArchitectureClass.key - 19 Mar 2014

Page 31: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:

15-1 TampereArchitectureClass.key - 19 Mar 2014

Page 32: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:

15-2 TampereArchitectureClass.key - 19 Mar 2014

Page 33: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:However, “The Piagetian framework

contained a hierarchical explanation of development with procedural memory

emerging during the first five sensorimotor sub-stages and declarative memory

beginning in the sixth and last sub-stage. Contemporary investigations of infant

memory have clearly demonstrated that the infant-toddler has the capacity for

declarative memory before their temporal system emerges in their language.

15-3 TampereArchitectureClass.key - 19 Mar 2014

Page 34: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:

15-4 TampereArchitectureClass.key - 19 Mar 2014

Page 35: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:

In particular, it has been suggested that children are not sensitive to the need for empirical and logical consistency in their representations of the world. The findings of the study presented here do not support

this position.

15-5 TampereArchitectureClass.key - 19 Mar 2014

Page 36: Architecture and Mental Models - TUNIohar/luennot_materiaali/TampereArchitectureClass.ke… · 12-3 TampereArchitectureClass.key - 19 Mar 2014. Two of Piaget's fundamental notions

We feel that a child is a "verb" rather than a "noun", an actor rather than an object; he is not a scaled-up pigeon or rat; he is trying to acquire a model of his surrounding environment in order to deal with it; his theories are "practical" notions of how to get from idea A to idea B rather than "consistent" branches of formal logic, etc. We would like to hook into his current modes of thought in order to influence him rather than just trying to replace his model with one of our own. — Alan Kay, 1972

Objects from Piaget? 1972:

15-6 TampereArchitectureClass.key - 19 Mar 2014