Diese Präsentation wurde erfolgreich gemeldet.

Complexity theory and software development : Tim Berglund

4

Teilen

Nächste SlideShare
Ativ 7 4_eliana
Ativ 7 4_eliana
Wird geladen in …3
×
1 von 82
1 von 82

Complexity theory and software development : Tim Berglund

4

Teilen

Some systems are too large to be understood entirely by any one human mind. They are composed of a diverse array of individual components capable of interacting with each other and adapting to a changing environment. As systems, they produce behavior that differs in kind from the behavior of their components. Complexity Theory is an emerging discipline that seeks to describe such phenomena previously encountered in biology, sociology, economics, and other disciplines. Beyond new ways of looking at ant colonies, fashion trends, and national economies, complexity theory promises powerful insights to software development. The Internet—perhaps the most valuable piece of computing infrastructure of the present day—may fit the description of a complex system. Large corporate organizations in which developers are employed have complex characteristics. In this session, we'll explore what makes a complex system, what advantages complexity has to offer us, and how to harness these in the systems we build.

Some systems are too large to be understood entirely by any one human mind. They are composed of a diverse array of individual components capable of interacting with each other and adapting to a changing environment. As systems, they produce behavior that differs in kind from the behavior of their components. Complexity Theory is an emerging discipline that seeks to describe such phenomena previously encountered in biology, sociology, economics, and other disciplines. Beyond new ways of looking at ant colonies, fashion trends, and national economies, complexity theory promises powerful insights to software development. The Internet—perhaps the most valuable piece of computing infrastructure of the present day—may fit the description of a complex system. Large corporate organizations in which developers are employed have complex characteristics. In this session, we'll explore what makes a complex system, what advantages complexity has to offer us, and how to harness these in the systems we build.

Weitere Verwandte Inhalte

Ähnliche Bücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Ähnliche Hörbücher

Kostenlos mit einer 30-tägigen Testversion von Scribd

Alle anzeigen

Complexity theory and software development : Tim Berglund

  1. 1. COMPLEXITY THEORY SOFTWARE DEVELOPMENT and @tlberglund Wednesday, October 17, 12 1
  2. 2. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 2
  3. 3. Agents Wednesday, October 17, 12 3
  4. 4. Agents are... Simple Interactive Adaptive Wednesday, October 17, 12 4
  5. 5. Why Does TRAFFIC Jam? Wednesday, October 17, 12 5
  6. 6. Stuck in TRAFFIC Talking on cell phone, not paying attention... I sure am in all this a hurry! space! I'm'a speed up. Wednesday, October 17, 12 6
  7. 7. Stuck TRAFFIC in maniAc! Oh, my bad. @%$#%! Wednesday, October 17, 12 7
  8. 8. Net LOGO http://ccl.northwestern.edu/netlogo/ Wednesday, October 17, 12 8
  9. 9. Net LOGO Wednesday, October 17, 12 9
  10. 10. Net LOGO Flocking Alignment: a bird tends to move in the same direction of nearby birds. Separation: a bird will turn to avoid another bird if they get too close. Cohesion: a bird will tend to move towards other nearby birds. Wednesday, October 17, 12 10
  11. 11. Net LOGO Wednesday, October 17, 12 11
  12. 12. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 12
  13. 13. Landscapes Wednesday, October 17, 12 13
  14. 14. Think of a Problem as a SURFACE Wednesday, October 17, 12 14
  15. 15. MT. FUJI Wednesday, October 17, 12 15
  16. 16. Frederick Winslow TAYLOR Wednesday, October 17, 12 16
  17. 17. RUGGED LANDSCAPES Wednesday, October 17, 12 17
  18. 18. Dancing LANDSCAPES Wednesday, October 17, 12 18
  19. 19. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 19
  20. 20. Criticality Wednesday, October 17, 12 20
  21. 21. the Normal DISTRIBUTION Wednesday, October 17, 12 21
  22. 22. the Power Law DISTRIBUTION Wednesday, October 17, 12 22
  23. 23. Wednesday, October 17, 12 Rice PILES 23
  24. 24. Work LOAD Wednesday, October 17, 12 24
  25. 25. Work LOAD Wednesday, October 17, 12 25
  26. 26. Work LOAD Wednesday, October 17, 12 26
  27. 27. Work LOAD Wednesday, October 17, 12 27
  28. 28. Work LOAD Wednesday, October 17, 12 28
  29. 29. Work LOAD Wednesday, October 17, 12 29
  30. 30. Work LOAD Wednesday, October 17, 12 30
  31. 31. Work LOAD Wednesday, October 17, 12 31
  32. 32. Work LOAD Wednesday, October 17, 12 32
  33. 33. Work LOAD Wednesday, October 17, 12 33
  34. 34. Too much Utilization leads to CRITICALITY Wednesday, October 17, 12 34
  35. 35. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 35
  36. 36. Connectedness Wednesday, October 17, 12 36
  37. 37. A really basic refresher in Graph THEORY Seriously...BASIC. Wednesday, October 17, 12 37
  38. 38. Degree 5 Degree 1 Degree 4 Wednesday, October 17, 12 38
  39. 39. To here From here Path Length= 3 Wednesday, October 17, 12 39
  40. 40. Network FUNCTIONALITY Wednesday, October 17, 12 40
  41. 41. Information DIFFUSION depends on Path Length Wednesday, October 17, 12 41
  42. 42. Robustness to FAILURE depends on degree distribution Wednesday, October 17, 12 42
  43. 43. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 43
  44. 44. Emergence Wednesday, October 17, 12 44
  45. 45. Slime Wednesday, October 17, 12 MOLD 45
  46. 46. Slime Mold Emergence Wednesday, October 17, 12 46
  47. 47. Conway’s Game of Wednesday, October 17, 12 LIFE 47
  48. 48. Gameof Conway’s LIFE 1. Any live cell with fewer than two live neighbours dies. 2. Any live cell with more than three live neighbours dies. 3. Any live cell with two or three live neighbors lives. 4. Any dead cell with exactly three live neighbors comes to life. Wednesday, October 17, 12 48
  49. 49. Wednesday, October 17, 12 49
  50. 50. Wednesday, October 17, 12 50
  51. 51. Wednesday, October 17, 12 51
  52. 52. Surprise! it’s a COMPUTER Wednesday, October 17, 12 52
  53. 53. Von Neumann ARCHITECTURE Wednesday, October 17, 12 53
  54. 54. Wednesday, October 17, 12 54
  55. 55. Wednesday, October 17, 12 55
  56. 56. Ant COLONIES Wednesday, October 17, 12 56
  57. 57. Wednesday, October 17, 12 57
  58. 58. Proceed with CAUTION Wednesday, October 17, 12 58
  59. 59. Software as a COMPLEX Profession Wednesday, October 17, 12 59
  60. 60. AGENT- BASED DECISION MAKING Wednesday, October 17, 12 60
  61. 61. Wednesday, October 17, 12 61
  62. 62. What kind of Software Architecture would look like an ANT Wednesday, October 17, 12 COLONY? 62
  63. 63. Wednesday, October 17, 12 63
  64. 64. Wednesday, October 17, 12 64
  65. 65. Hypertext as the Engine of APPLICATION STATE http://bit.ly/HATEOAS Wednesday, October 17, 12 65
  66. 66. the way HATEOAS Works GET /sandwich Service Web Service Wednesday, October 17, 12 66
  67. 67. HATEOAS the way Works Service 400 ERROR <link rel=”bread” /> <link rel=”ingredient” /> Web Service Wednesday, October 17, 12 67
  68. 68. HATEOAS the way Works POST /sandwich bread=rye Service meat=pastrami Web Service Wednesday, October 17, 12 68
  69. 69. HATEOAS the way Works Service 201 OK <link href=”sandwich”> <link href=”eat” /> <link href=”side” /> Web Service Wednesday, October 17, 12 69
  70. 70. Make me a Add Toppings Sandwich I make Give me a sandwiches. sandwich, and I can decorate it with toppings. I exchange sandwiches I toast Federal for sandwichReserve buns.Notes. Checkout Toast Bun Wednesday, October 17, 12 70
  71. 71. REST done RIGHT Wednesday, October 17, 12 71
  72. 72. Class Are your Dependencies like a RICE PILE? Wednesday, October 17, 12 72
  73. 73. Afferent COUPLING A class's afferent coupling is a measure of how many other classes are coupled to it through method calls, field accesses, inheritance, arguments, return types, and exceptions. Wednesday, October 17, 12 73
  74. 74. remember the Power Law DISTRIBUTION Wednesday, October 17, 12 74
  75. 75. grails-web 900 675 450 225 0 Wednesday, October 17, 12 75
  76. 76. Hibernate 3 1500 1125 750 375 0 Wednesday, October 17, 12 76
  77. 77. Spring 3 Core 300 225 150 75 0 Wednesday, October 17, 12 77
  78. 78. toward a COMPLEX THEORY of SOFTWARE DEVELOPMENT Wednesday, October 17, 12 78
  79. 79. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 79
  80. 80. Thank You Tim Berglund tlberglund@github.com @tlberglund Wednesday, October 17, 12 80
  81. 81. ACKNOWLEDGMENTS http://bit.ly/unde rstanding-compl exity Wednesday, October 17, 12 81
  82. 82. Photo Credits Slime Mold Cells http://campus.queens.edu/faculty/jannr/Botany/images/slimies/slimeMolds/slimeMold1152.jpg Car Top View http://www.motiontrends.com/2006/m09/Volvo/C30.shtml Ants http://www.flickr.com/photos/binux/2495709841 Traffic Jam http://www.flickr.com/photos/lynac/321100379/ Turning Machine http://www.ecs.syr.edu/faculty/fawcett/handouts/webpages/CoreTechnologies.htm VonNeumann Machine http://en.wikipedia.org/wiki/File:Von_Neumann_architecture.svg Ant Colony http://www.bioone.org/doi/full/10.1672/1536-2442%282004%29004%5B0001%3ATNAOTF%5D2.0.CO%3B2 Mt. Fuji http://www.flickr.com/photos/mtsn/229410448 Snowy Mountains http://www.flickr.com/photos/huzhead/85362599 Portrait of Frederick Winslow Taylor http://upload.wikimedia.org/wikipedia/commons/9/90/Frederick_Winslow_Taylor_crop.jpg Female Velvet Ant (in Work Load Illustration) http://www.flickr.com/photos/markop/1036891509 Frederick Hayek http://www.lancs.ac.uk/staff/ecagrs/Hayek%20quotes.htm Wednesday, October 17, 12 82

×