« En egen sökmotor - nästan | Main | Kedjebrevsanalys »
juni 24, 2003
Komplexa system och software engineering
Detta är en kommentar till Peter Lindbergs artikel från 9 mars i år Software systems are complex systems. Se även hans artikel Network science and software från 8 maj. Peter vill bl.a. ha tips på lite nyare böcker om komplexa system, speciellt med inriktning mot software engineering.
Här är lite nyare (inköpta men icke lästa) böcker om komplexitet och liknande som kan vara intressanta:
- Steven Strogatz Sync, där han bland annat förklarar sina teorier om kopplade oscillatorer, dvs vad som gör att delar i (naturliga) system synkar med varandra, t.ex. eldflugor. Den kom i år, så den är rackarns ny.
- Mark Buchanans Ubiquity: Why Catastrophes Happen (2002 enligt Amazon). Buchanan har även skrivit om komplexa nätverk i sin Nexus.
- Kauffmans At Home in the Universe (1996). Många komplexitetiker hänvisar till Kauffman, vilket gjorde att jag beställde denna bok.
Det Peter skriver om kopplingen till software engineering fick mig också att tänka på en del av teorierna i social network analysis. Några förflugna tankar:
- hur man med dessa modeller kan mäta graden av sammansättningar (cohesion) av en grupp (här: program, moduler eller system). "Om man kan mäta något så förstår man det bättre"
- hur olika entiteter i en grupp (här: klasser eller komponenter) påverkar en grupp genom sin position i strukturen
- "strukturella hål", som är ett högnivå-teori om hur/när/var en aktör ska stiga in i en struktur för att hitta en optimal nisch. Det handlar alltså främst om konkurrens, men jag tror att det skulle kunna vara något även för systemutveckling. Bibeln att läsa är Ronald Burts Structural Holes: The Social Structure of Competition, som utvidgar social network analysis till att gälla konkurrens
- använda t.ex. Barabasis nätverks-modell för att mäta sårbarheten i en systemstruktur.
Posted by hakank at juni 24, 2003 03:00 EM Posted to Dynamiska system | Komplexitet/emergens | Social Network Analysis/Complex Networks | Systemutveckling