Return to Colloquia & Seminar listing
Software networks and the biology of polymorphic design
Featured Campus SeminarsSpeaker: | Chris Myers, Cornell Theory Center, Cornell University |
Location: | 1147 MSB |
Start time: | Wed, Nov 15 2006, 4:10PM |
Within large software systems lurk complex networks of interacting components. One of the principal elements of software design is the decision about how to organize such networks, that is, how to decompose functional units at the appropriate level of granularity, and to structure interactions among those units. Much of the complexity of large software networks arises from the need for systems to be at once both functional and evolvable. These related yet distinct goals seem to conspire to produce characteristic software network topologies. Perhaps not surprisingly, these topologies are reminiscent of those found in the study of other complex, evolving networks arising in biology, sociology, and other fields of technology. The connection to biology is especially intriguing, as biological systems are also faced with the need to be both functional and evolvable (as well as robust to noise and perturbation, which software systems are typically not). In this talk, I will first describe software networks, their topology, and the relation of that topology to software design. Then I will sketch some connections between software design and biological organization, focusing primarily on the role that promiscuity and polymorphism play in negotiating tradeoffs between specificity and control, and in satisfying needs for function, robustness and evolvability.