Educating Designers of Complex Systems: Information Networks as a Testbed
Stephen J. Lukasik
Center for International Security and Cooperation, Stanford University and Harvey Mudd College
1714 Stone Canyon Road, Los Angeles, CA 90077, USA
Computer Science Department, Harvey Mudd College
301 E. 12th Street, Claremont, CA 91711, USA
The needs of modern societies, coupled with the ever increasing power of technology, encourage the development of systems of enormous complexity. Examples are contemporary infrastructures such as transportation, energy, and information, often described as `systems of systems’. Coping with such complexity is a central problem for their architects and operators. Complex systems behave in unanticipated ways and they have failed spectacularly. The factors influencing system failure go beyond the purely technical, to matters of organization, management, operations, training, regulation, and market incentives, all concerns of the engineering profession. Failures often result from subtle combinations of such factors. Public policy has been directed to the vulner- abilities of national infrastructures, especially as they can be disrupted by both inadvertant failure and malicious attack. If engineers are to increase the robustness of the systems they design and operate, they must recognize the phenomenon of emergent properties rooted in the scale and `depth’ of the system. The Internet, while an operational infrastructure, is also capable of supporting experimentation without the knowledge of, or interference with, its users. Harvey Mudd College’s CS 125 course, Computer Networking, covers principles and practices of computer networking. The course has a significant project component that relies on the Internet as an experimental facility. Oversight of such educational and research activities is required if network performance is not to be degraded or user privacy violated. Several examples are presented. An appreciation of emergent properties of systems should be a baccalaureate-level goal, not simply for computer science curricula, but for all of systems engineering.