NEWS AT SEI
This article was originally published in News at SEI on: June 1, 2006
A highway traffic tunnel is open on both ends. There are no traffic signals to control speed or obstacles to prevent vehicles from traveling at the posted speed limit. In fact, typically there are signs that encourage drivers to maintain their speed as they approach and enter a tunnel.
Yet, traffic often slows just before the entry to a tunnel. Why? What force causes this behavior? View the highway-tunnel-automobile combination as a system of systems, and you can call the slowing of traffic an emergent property.
David Fisher, a senior member of the technical staff in the Integration of Software-Intensive Systems (ISIS) initiative at the Carnegie Mellon Software Engineering Institute, calls emergent properties “cumulative effects” of the actions and interactions among “constituents” of complex systems, a constituent being any “automated, mechanized, or human” participant.
Engineers of Software-Intensive Systems Must Manage Emergent Behavior
What causes an effect like that of slowing traffic? It is, Fisher says, the result of emergent behavior, and may involve influence, cooperation, cascade effects, distributed control, and orchestration.
While the cause may be only of vexing curiosity to an automobile driver stuck in line before a tunnel, emergent behavior is inherent in complex, software-intensive systems. Understanding and harnessing these effects is crucial to success in systems of systems.
“A system of systems depends on emergent behaviors to achieve its purpose,” Fisher says. Success in systems of systems requires cooperation among many stakeholders and operational components toward a shared purpose.
Too often, however, failure of constituents to cooperate effectively and competing purposes result in software-intensive systems of systems that are plagued by interoperability problems, which lead to cost overruns, inadequate performance, schedule delays, and other difficulties.
“Exploiting emergent behavior offers great potential for systems of systems, not only to overcome the problems of interoperation but also to achieve levels of adaptability, scalability, and cost-effectiveness not possible in traditional systems,” Fisher asserts.
Unfortunately, today’s software and systems engineering practitioners do not have the methods and tools they need.
“We need new software and systems engineering methods that manage emergent behavior and exploit emergent effects to offer the possibility of cost-effective and predictable solutions in systems of systems,” Fisher says, explaining one reason that he recently published a new report called An Emergent Perspective on Interoperation in Systems of Systems [Fisher 06].
Examining Emergent Behavior in a System-of-Systems Context
To “facilitate discussion and reasoning about interoperation within systems of systems,” Fisher explores “interdependencies among systems, emergence, and interoperation” and develops maxim-like findings such as these:
1. Because they cannot control one another, autonomous entities can achieve goals that are not local to themselves only by increasing their influence through cooperative interactions with others. Such cooperation can arise through the independent choice of a constituent or direct influence by neighbors. It is important to note, however, that every choice is influenced by the constituent’s current situation, which is itself the result of past influences.
2. Emergent composition is often poorly understood and sometimes misunderstood because it has few analogies in traditional systems engineering. The erroneous view that emergence is unpredictable (and thus undesirable) arises, at least in part, from the difficulty in understanding how a quality attribute can arise through composition from parts that do not possess that attribute. An example of this kind of emergence is a reliable system that is built from unreliable components.
3. Even in the absence of accidents, tight coupling can ensure that a system of systems is unable to satisfy its objectives. Tight coupling refers to the degree that constituents depend on each other. The more tightly constituents are coupled and the more their actions and interactions are unnecessarily constrained, the more likely it is that failures will occur and the less likely that intended global properties will emerge. And yet, traditional systems engineering methods, requirements processes, and software tools are designed to simplify management, in effect, by maximizing constraints and coupling.
4. If it is to remain scalable and affordable no matter how large it may become, a system’s cost per constituent must grow less linearly with its size. Whether the cost is measured in computational cycles, storage capacity, communications bandwidth, power consumption, dollars, number of defects fixed, or otherwise, costs not meeting this standard will eventually be unaffordable.
5. Delay is a critical aspect of systems of systems. Every action and interaction in a system consumes time. Delay is inherent in any communication. No technology can eliminate delay. Emergent effects always occur later than their causes.
These may be obvious, but are too often ignored.
Fisher, David. An Emergent Perspective on Interoperation in Systems of Systems. (CMU/SEI-2006-TR-003). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2006.
An Emergent Perspective on Interoperation in Systems of Systems.