In this body of work, we examine changes to the fundamental assumptions underlying systems engineering research in practice. We describe how, in recent decades, technical systems – such as computer systems and the Internet – and human organizations have become increasingly large and complex. Most large-scale systems need to undergo changes during their lifetime because the system’s environment will change. Systems that cannot change will have relatively short useful lifetimes. There is a particularly strong link between a system’s flexibility – its capacity to respond to changes – and its architecture, or internal structure. Often, adding flexibility entails adding complexity. Furthermore, flexibility often comes at the cost of some measure of control over the system’s behavior. My key goal is to understand how various types of system architectures help one to design, modify and operate complex systems in a flexible manner. We proposed the first mathematical theory containing explicit metrics for system flexibility, descriptive complexity, and rework potential. These are used to evaluate several “generic” system architectures, with the aim of determining which ones excel under which environmental conditions. We find that no architecture is ideal under all circumstances; rather, a designer may select an architecture that matches the environment in which the system is expected to operate. This implies that systems facing uncertain environments may wish to incorporate a diversity of architectural elements to maintain flexibility while controlling complexity. In paper J21, I show that two different types of flexibility may be defined and combined synergistically to ensure that a system is robust to different types of disruptions. Standard approaches emphasizing modularity are shown to be relatively fragile because they impose a one-to-one mapping between form and function. This also makes them comparatively inexpensive. In contrast, approaches based on abstraction are more robust, albeit perhaps costlier. Finally, despite a proliferation of theories of systems engineering, very few have been tested empirically. We proposed a series of techniques that may be used to assess and evaluate the validity of these theories against empirical measurements, especially in the era of “big data”.
Research on this project is supported in part by the Toyota Mobility Foundation (TMF). The content is solely the responsibility of the authors and does not necessarily represent the official views of the TMF.