Complexity theory and software development : Tim Berglund

JAX London
JAX LondonJAX London
COMPLEXITY
   THEORY                   SOFTWARE
                             DEVELOPMENT
                     and




                                       @tlberglund
Wednesday, October 17, 12                            1
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             2
Agents

Wednesday, October 17, 12            3
Agents are...



                  Simple
                   Interactive
                        Adaptive
Wednesday, October 17, 12          4
Why Does

                            TRAFFIC
                                       Jam?
Wednesday, October 17, 12                     5
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
Stuck
                                 TRAFFIC
                                in
                                      maniAc!




                                     Oh, my
                                      bad.




                                     @%$#%!




Wednesday, October 17, 12                       7
Net
                                                  LOGO
                            http://ccl.northwestern.edu/netlogo/




Wednesday, October 17, 12                                          8
Net
                                  LOGO


Wednesday, October 17, 12                9
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
Net
                                  LOGO


Wednesday, October 17, 12                11
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             12
Landscapes

Wednesday, October 17, 12           13
Think of a


                       Problem
                            as a




            SURFACE
Wednesday, October 17, 12          14
MT. FUJI



Wednesday, October 17, 12    15
Frederick
                                 Winslow
                            TAYLOR


Wednesday, October 17, 12               16
RUGGED
                            LANDSCAPES




Wednesday, October 17, 12                17
Dancing
                            LANDSCAPES


Wednesday, October 17, 12                18
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             19
Criticality

Wednesday, October 17, 12                 20
the           Normal
         DISTRIBUTION



Wednesday, October 17, 12        21
the          Power Law
         DISTRIBUTION



Wednesday, October 17, 12          22
Wednesday, October 17, 12
                            Rice   PILES   23
Work
                             LOAD


Wednesday, October 17, 12           24
Work
                             LOAD


Wednesday, October 17, 12           25
Work
                             LOAD


Wednesday, October 17, 12           26
Work
                             LOAD


Wednesday, October 17, 12           27
Work
                             LOAD


Wednesday, October 17, 12           28
Work
                             LOAD


Wednesday, October 17, 12           29
Work
                             LOAD


Wednesday, October 17, 12           30
Work
                             LOAD


Wednesday, October 17, 12           31
Work
                             LOAD


Wednesday, October 17, 12           32
Work
                             LOAD


Wednesday, October 17, 12           33
Too much


                    Utilization        leads to


   CRITICALITY
Wednesday, October 17, 12                         34
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             35
Connectedness

Wednesday, October 17, 12   36
A really basic refresher in



                            Graph
        THEORY              Seriously...BASIC.

Wednesday, October 17, 12                        37
Degree 5

                                       Degree 1




                            Degree 4


Wednesday, October 17, 12                         38
To here


   From here



                    Path Length=   3
Wednesday, October 17, 12                    39
Network
        FUNCTIONALITY

Wednesday, October 17, 12   40
Information
           DIFFUSION        depends on Path Length



Wednesday, October 17, 12                            41
Robustness                                  to




       FAILURE              depends on degree distribution


Wednesday, October 17, 12                                    42
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             43
Emergence

Wednesday, October 17, 12         44
Slime

Wednesday, October 17, 12
                            MOLD     45
Slime Mold Emergence



Wednesday, October 17, 12               46
Conway’s

                      Game
                            of




Wednesday, October 17, 12
                            LIFE   47
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
Wednesday, October 17, 12   49
Wednesday, October 17, 12   50
Wednesday, October 17, 12   51
Surprise!
                            it’s a
                                     COMPUTER


Wednesday, October 17, 12                       52
Von Neumann
                    ARCHITECTURE



Wednesday, October 17, 12          53
Wednesday, October 17, 12   54
Wednesday, October 17, 12   55
Ant
                  COLONIES
Wednesday, October 17, 12         56
Wednesday, October 17, 12   57
Proceed with


          CAUTION
Wednesday, October 17, 12                  58
Software               as a

                            COMPLEX
                             Profession
Wednesday, October 17, 12                 59
AGENT-
                             BASED
                              DECISION
                                MAKING


Wednesday, October 17, 12            60
Wednesday, October 17, 12   61
What kind of


     Software
      Architecture          would look like an



                              ANT
Wednesday, October 17, 12
                               COLONY?           62
Wednesday, October 17, 12   63
Wednesday, October 17, 12   64
Hypertext                          as the


     Engine
                                of



       APPLICATION
            STATE
        http://bit.ly/HATEOAS

Wednesday, October 17, 12                     65
the way
                                        HATEOAS
                                       Works
                                 GET /sandwich
                       Service




                                                 Web Service
Wednesday, October 17, 12                                      66
HATEOAS
                                 the way

                                     Works
                       Service



                                           400 ERROR
                                           <link rel=”bread” />
                                           <link rel=”ingredient” />




                                           Web Service
Wednesday, October 17, 12                                         67
HATEOAS
                                 the way

                                      Works
                                  POST /sandwich
                                  bread=rye
                       Service    meat=pastrami




                                                   Web Service
Wednesday, October 17, 12                                        68
HATEOAS
                                 the way

                                     Works
                       Service
                                           201 OK
                                           <link href=”sandwich”>
                                           <link href=”eat” />
                                           <link href=”side” />




                                               Web Service
Wednesday, October 17, 12                                           69
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
REST  done

      RIGHT

Wednesday, October 17, 12   71
Class
                                Are your


                            Dependencies
   like a


        RICE PILE?
Wednesday, October 17, 12                   72
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
remember the           Power Law
                            DISTRIBUTION



Wednesday, October 17, 12                  74
grails-web
                            900




                            675




                            450




                            225




                             0

Wednesday, October 17, 12                 75
Hibernate 3
                            1500



                            1125



                            750



                            375



                              0


Wednesday, October 17, 12                 76
Spring 3 Core
                            300



                            225



                            150



                            75



                             0


Wednesday, October 17, 12          77
toward a
                            COMPLEX
           THEORY               of

    SOFTWARE
                    DEVELOPMENT
Wednesday, October 17, 12             78
Agents
                                         Landscapes
       Emergence


                            Complexity

                                        Criticality
                    Connectedness

Wednesday, October 17, 12                             79
Thank You
                             Tim Berglund
                              tlberglund@github.com
                                    @tlberglund




Wednesday, October 17, 12                             80
ACKNOWLEDGMENTS




                            http://bit.ly/unde
                                              rstanding-compl
                                                             exity

Wednesday, October 17, 12                                            81
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
1 von 82

Recomendados

Ativ 7 4_eliana von
Ativ 7 4_elianaAtiv 7 4_eliana
Ativ 7 4_elianaEliana Santiago
206 views5 Folien
2º básico a semana del 08 al 12 (2) von
2º básico a   semana del 08 al 12 (2)2º básico a   semana del 08 al 12 (2)
2º básico a semana del 08 al 12 (2)Colegio Camilo Henríquez
248 views3 Folien
Woman _john_lenon von
Woman  _john_lenonWoman  _john_lenon
Woman _john_lenonRachel V.
359 views6 Folien
the mystery man cartoon von
the mystery man cartoonthe mystery man cartoon
the mystery man cartoonswag101
246 views10 Folien
Script engage 2.0 reviews von
Script engage 2.0 reviewsScript engage 2.0 reviews
Script engage 2.0 reviewsNam Anh
357 views13 Folien
Modelling to support rinderpest outbreaks preparedness von
Modelling to support rinderpest outbreaks preparednessModelling to support rinderpest outbreaks preparedness
Modelling to support rinderpest outbreaks preparednessExternalEvents
489 views19 Folien

Más contenido relacionado

Más de JAX London

Everything I know about software in spaghetti bolognese: managing complexity von
Everything I know about software in spaghetti bolognese: managing complexityEverything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexityJAX London
2.2K views50 Folien
Devops with the S for Sharing - Patrick Debois von
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisJAX London
807 views72 Folien
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps von
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
2.5K views26 Folien
It's code but not as we know: Infrastructure as Code - Patrick Debois von
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick DeboisJAX London
1.5K views102 Folien
Locks? We Don't Need No Stinkin' Locks - Michael Barker von
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael BarkerJAX London
962 views26 Folien
Worse is better, for better or for worse - Kevlin Henney von
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin HenneyJAX London
3.8K views33 Folien

Más de JAX London(20)

Everything I know about software in spaghetti bolognese: managing complexity von JAX London
Everything I know about software in spaghetti bolognese: managing complexityEverything I know about software in spaghetti bolognese: managing complexity
Everything I know about software in spaghetti bolognese: managing complexity
JAX London2.2K views
Devops with the S for Sharing - Patrick Debois von JAX London
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick Debois
JAX London807 views
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps von JAX London
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
JAX London2.5K views
It's code but not as we know: Infrastructure as Code - Patrick Debois von JAX London
It's code but not as we know: Infrastructure as Code - Patrick DeboisIt's code but not as we know: Infrastructure as Code - Patrick Debois
It's code but not as we know: Infrastructure as Code - Patrick Debois
JAX London1.5K views
Locks? We Don't Need No Stinkin' Locks - Michael Barker von JAX London
Locks? We Don't Need No Stinkin' Locks - Michael BarkerLocks? We Don't Need No Stinkin' Locks - Michael Barker
Locks? We Don't Need No Stinkin' Locks - Michael Barker
JAX London962 views
Worse is better, for better or for worse - Kevlin Henney von JAX London
Worse is better, for better or for worse - Kevlin HenneyWorse is better, for better or for worse - Kevlin Henney
Worse is better, for better or for worse - Kevlin Henney
JAX London3.8K views
Java performance: What's the big deal? - Trisha Gee von JAX London
Java performance: What's the big deal? - Trisha GeeJava performance: What's the big deal? - Trisha Gee
Java performance: What's the big deal? - Trisha Gee
JAX London858 views
Clojure made-simple - John Stevenson von JAX London
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
JAX London2.7K views
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf von JAX London
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias WessendorfHTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
JAX London2.2K views
Play framework 2 : Peter Hilton von JAX London
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter Hilton
JAX London3.7K views
Why FLOSS is a Java developer's best friend: Dave Gruber von JAX London
Why FLOSS is a Java developer's best friend: Dave GruberWhy FLOSS is a Java developer's best friend: Dave Gruber
Why FLOSS is a Java developer's best friend: Dave Gruber
JAX London1.7K views
Akka in Action: Heiko Seeburger von JAX London
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko Seeburger
JAX London2K views
NoSQL Smackdown 2012 : Tim Berglund von JAX London
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim Berglund
JAX London767 views
Closures, the next "Big Thing" in Java: Russel Winder von JAX London
Closures, the next "Big Thing" in Java: Russel WinderClosures, the next "Big Thing" in Java: Russel Winder
Closures, the next "Big Thing" in Java: Russel Winder
JAX London1K views
Java and the machine - Martijn Verburg and Kirk Pepperdine von JAX London
Java and the machine - Martijn Verburg and Kirk PepperdineJava and the machine - Martijn Verburg and Kirk Pepperdine
Java and the machine - Martijn Verburg and Kirk Pepperdine
JAX London872 views
Mongo DB on the JVM - Brendan McAdams von JAX London
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
JAX London2.3K views
New opportunities for connected data - Ian Robinson von JAX London
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
JAX London1.1K views
HTML5 Websockets and Java - Arun Gupta von JAX London
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun Gupta
JAX London8.9K views
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker von JAX London
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian PloskerThe Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
The Big Data Con: Why Big Data is a Problem, not a Solution - Ian Plosker
JAX London1.1K views
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ... von JAX London
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
JAX London1.7K views

Último

The Power of Heat Decarbonisation Plans in the Built Environment von
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
69 views20 Folien
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... von
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...ShapeBlue
144 views12 Folien
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... von
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
120 views13 Folien
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... von
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...ShapeBlue
101 views17 Folien
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... von
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
154 views62 Folien
The Role of Patterns in the Era of Large Language Models von
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
80 views65 Folien

Último(20)

The Power of Heat Decarbonisation Plans in the Built Environment von IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE69 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... von ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue144 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... von ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue120 views
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava... von ShapeBlue
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
Centralized Logging Feature in CloudStack using ELK and Grafana - Kiran Chava...
ShapeBlue101 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... von ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue154 views
The Role of Patterns in the Era of Large Language Models von Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT von ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue166 views
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates von ShapeBlue
Keynote Talk: Open Source is Not Dead - Charles Schulz - VatesKeynote Talk: Open Source is Not Dead - Charles Schulz - Vates
Keynote Talk: Open Source is Not Dead - Charles Schulz - Vates
ShapeBlue210 views
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... von ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 views
Future of AR - Facebook Presentation von Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
DRBD Deep Dive - Philipp Reisner - LINBIT von ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue140 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs von Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue von ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue von ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue163 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue von ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... von ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue123 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... von James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue von ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue176 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems von ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue197 views

Complexity theory and software development : Tim Berglund

  • 1. COMPLEXITY THEORY SOFTWARE DEVELOPMENT and @tlberglund Wednesday, October 17, 12 1
  • 2. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 2
  • 4. Agents are... Simple Interactive Adaptive Wednesday, October 17, 12 4
  • 5. Why Does TRAFFIC Jam? Wednesday, October 17, 12 5
  • 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. Stuck TRAFFIC in maniAc! Oh, my bad. @%$#%! Wednesday, October 17, 12 7
  • 8. Net LOGO http://ccl.northwestern.edu/netlogo/ Wednesday, October 17, 12 8
  • 9. Net LOGO Wednesday, October 17, 12 9
  • 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. Net LOGO Wednesday, October 17, 12 11
  • 12. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 12
  • 14. Think of a Problem as a SURFACE Wednesday, October 17, 12 14
  • 16. Frederick Winslow TAYLOR Wednesday, October 17, 12 16
  • 17. RUGGED LANDSCAPES Wednesday, October 17, 12 17
  • 18. Dancing LANDSCAPES Wednesday, October 17, 12 18
  • 19. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 19
  • 21. the Normal DISTRIBUTION Wednesday, October 17, 12 21
  • 22. the Power Law DISTRIBUTION Wednesday, October 17, 12 22
  • 23. Wednesday, October 17, 12 Rice PILES 23
  • 24. Work LOAD Wednesday, October 17, 12 24
  • 25. Work LOAD Wednesday, October 17, 12 25
  • 26. Work LOAD Wednesday, October 17, 12 26
  • 27. Work LOAD Wednesday, October 17, 12 27
  • 28. Work LOAD Wednesday, October 17, 12 28
  • 29. Work LOAD Wednesday, October 17, 12 29
  • 30. Work LOAD Wednesday, October 17, 12 30
  • 31. Work LOAD Wednesday, October 17, 12 31
  • 32. Work LOAD Wednesday, October 17, 12 32
  • 33. Work LOAD Wednesday, October 17, 12 33
  • 34. Too much Utilization leads to CRITICALITY Wednesday, October 17, 12 34
  • 35. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 35
  • 37. A really basic refresher in Graph THEORY Seriously...BASIC. Wednesday, October 17, 12 37
  • 38. Degree 5 Degree 1 Degree 4 Wednesday, October 17, 12 38
  • 39. To here From here Path Length= 3 Wednesday, October 17, 12 39
  • 40. Network FUNCTIONALITY Wednesday, October 17, 12 40
  • 41. Information DIFFUSION depends on Path Length Wednesday, October 17, 12 41
  • 42. Robustness to FAILURE depends on degree distribution Wednesday, October 17, 12 42
  • 43. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 43
  • 46. Slime Mold Emergence Wednesday, October 17, 12 46
  • 47. Conway’s Game of Wednesday, October 17, 12 LIFE 47
  • 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
  • 52. Surprise! it’s a COMPUTER Wednesday, October 17, 12 52
  • 53. Von Neumann ARCHITECTURE Wednesday, October 17, 12 53
  • 56. Ant COLONIES Wednesday, October 17, 12 56
  • 58. Proceed with CAUTION Wednesday, October 17, 12 58
  • 59. Software as a COMPLEX Profession Wednesday, October 17, 12 59
  • 60. AGENT- BASED DECISION MAKING Wednesday, October 17, 12 60
  • 62. What kind of Software Architecture would look like an ANT Wednesday, October 17, 12 COLONY? 62
  • 65. Hypertext as the Engine of APPLICATION STATE http://bit.ly/HATEOAS Wednesday, October 17, 12 65
  • 66. the way HATEOAS Works GET /sandwich Service Web Service Wednesday, October 17, 12 66
  • 67. HATEOAS the way Works Service 400 ERROR <link rel=”bread” /> <link rel=”ingredient” /> Web Service Wednesday, October 17, 12 67
  • 68. HATEOAS the way Works POST /sandwich bread=rye Service meat=pastrami Web Service Wednesday, October 17, 12 68
  • 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. 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. REST done RIGHT Wednesday, October 17, 12 71
  • 72. Class Are your Dependencies like a RICE PILE? Wednesday, October 17, 12 72
  • 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. remember the Power Law DISTRIBUTION Wednesday, October 17, 12 74
  • 75. grails-web 900 675 450 225 0 Wednesday, October 17, 12 75
  • 76. Hibernate 3 1500 1125 750 375 0 Wednesday, October 17, 12 76
  • 77. Spring 3 Core 300 225 150 75 0 Wednesday, October 17, 12 77
  • 78. toward a COMPLEX THEORY of SOFTWARE DEVELOPMENT Wednesday, October 17, 12 78
  • 79. Agents Landscapes Emergence Complexity Criticality Connectedness Wednesday, October 17, 12 79
  • 80. Thank You Tim Berglund tlberglund@github.com @tlberglund Wednesday, October 17, 12 80
  • 81. ACKNOWLEDGMENTS http://bit.ly/unde rstanding-compl exity Wednesday, October 17, 12 81
  • 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