SlideShare uma empresa Scribd logo
1 de 82
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

Mais conteúdo relacionado

Mais de JAX London

Everything I know about software in spaghetti bolognese: managing complexity
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
 
Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisJAX London
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
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
 
It's code but not as we know: Infrastructure as Code - Patrick Debois
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
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
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
 
Worse is better, for better or for worse - Kevlin Henney
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
 
Java performance: What's the big deal? - Trisha Gee
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 GeeJAX London
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John StevensonJAX London
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
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 WessendorfJAX London
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter HiltonJAX London
 
Why FLOSS is a Java developer's best friend: Dave Gruber
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 GruberJAX London
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerJAX London
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundJAX London
 
Closures, the next "Big Thing" in Java: Russel Winder
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 WinderJAX London
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
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 PepperdineJAX London
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsJAX London
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonJAX London
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaJAX London
 
The 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 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 PloskerJAX 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 ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...JAX London
 

Mais de JAX London (20)

Everything I know about software in spaghetti bolognese: managing complexity
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
 
Devops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick DeboisDevops with the S for Sharing - Patrick Debois
Devops with the S for Sharing - Patrick Debois
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
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
 
It's code but not as we know: Infrastructure as Code - Patrick Debois
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
 
Locks? We Don't Need No Stinkin' Locks - Michael Barker
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
 
Worse is better, for better or for worse - Kevlin Henney
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
 
Java performance: What's the big deal? - Trisha Gee
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
 
Clojure made-simple - John Stevenson
Clojure made-simple - John StevensonClojure made-simple - John Stevenson
Clojure made-simple - John Stevenson
 
HTML alchemy: the secrets of mixing JavaScript and Java EE - Matthias Wessendorf
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
 
Play framework 2 : Peter Hilton
Play framework 2 : Peter HiltonPlay framework 2 : Peter Hilton
Play framework 2 : Peter Hilton
 
Why FLOSS is a Java developer's best friend: Dave Gruber
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
 
Akka in Action: Heiko Seeburger
Akka in Action: Heiko SeeburgerAkka in Action: Heiko Seeburger
Akka in Action: Heiko Seeburger
 
NoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim BerglundNoSQL Smackdown 2012 : Tim Berglund
NoSQL Smackdown 2012 : Tim Berglund
 
Closures, the next "Big Thing" in Java: Russel Winder
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
 
Java and the machine - Martijn Verburg and Kirk Pepperdine
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
 
Mongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdamsMongo DB on the JVM - Brendan McAdams
Mongo DB on the JVM - Brendan McAdams
 
New opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian RobinsonNew opportunities for connected data - Ian Robinson
New opportunities for connected data - Ian Robinson
 
HTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun GuptaHTML5 Websockets and Java - Arun Gupta
HTML5 Websockets and Java - Arun Gupta
 
The 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 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
 
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 ...
Bluffers guide to elitist jargon - Martijn Verburg, Richard Warburton, James ...
 

Último

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

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