The Evolution of Complexity - Abstracts.


Application Of Complexity Theories To Evolutionary System Development.

By G.S. Percival

  • Affiliation: Hughes Applied Information Systems
  • Hughes Applied Information Systems
  • 1616A McCormick Drive
  • Landover, MD 20785
  • Fax: (301) 925-0393
  • E-mail: gperciva@eos.hitc.com
  • Tel.: (301) 925-0368.

  • Abstract:

    The development of large systems requires that the development approach be defined and refined to improve the efficiency of system development. The traditional and predominant model of large system development has been the "waterfall" model. Recently a model entitled the evolutionary development model has been defined and practiced. The evolutionary model has been used predominately in software intensive systems were the complexity of the system is high and successful developments are incrementally developed. This paper describes the two development models, summarizes relevant concepts from complex systems research, and applies the concepts to the evolutionary development model. This paper represents an application of the complex system theory to the engineering of large systems.

    The traditional life cycle for system development is the waterfall model. The waterfall model is based on the top-down flow of requirements and design development. In the waterfall model, emphasis is placed on determining a fixed set of requirements from which the design follows.

    Weaknesses of the waterfall model include; dependence on stable requirements, ignoring the principle of bounded rationality, adaptation to emerging user needs, and use of the model on programs of extended length.

    In response to these limitations of the waterfall model, several alternative models of system development have been defined. These alternative models evokethe analogy to evolution, whereby the development, through a series of relatively small, iterative steps, converges to a satisfactory system definition. The mechanism of natural selection is built in to these models where the iteration of requirements and design with the test of user satisfaction promotes the satisfactory solutions and promotes the extinction of less favored solutions.

    Several questions remain concerning these evolutionary development models. What assurances do the models provide that the iteration of designs with review by users will converge within desired time and cost expenditures? What assurance do the models provide that the iterations of individual components which make up the system will resultant in emergent properties to satisfy the systems mission? What are the traits of a system which provide both security and flexibility? In attempt to add features to the evolutionary development models which will answer these questions, this paper applies some recent research in complex evolutionary systems.

    Complexity Science is the study of the general behavior and resulting emergentstructures of systems composed of a large number of interacting, autonomous components. Examples of these types of systems include: non- equilibrium thermodynamic systems, neural networks, molecular biology, ecosystems, economic systems, and social systems. Because of the diverse applicability of systems meeting this description, several cross-disciplinary efforts to study these phenomenon are underway (Prigogine 1984, Waldrop 1992).

    Several concepts from complexity research are summarized in this section. These concepts would be introduced briefly here and applied to system development in the next section.

    The theories on complex systems provide a basis for evaluating the development model and the architecture that a system must have in order to best evolve during an evolutionary development process. Others have applied these principles to related fields: Jantsch (1979), Adams (in Yates 1987), and Ulrich and Probst (Ulrich 1984).

    This section applies the ideas of the previous section to system architecture for evolutionary development.

    * Application: Treat the System as a Network. A traditional system engineering technique has been the use of an N-squared diagram. The N- squared diagram represents the system as a set of subsystems or components with a set of interconnections. The definition of the subsystems and the associated interconnections are critical to the systems development. The N- squared diagram viewpoint provides a common basis for transferring complexity theories to system development.

    * Application: Focus on the Interconnections. Using the number of interconnections as a basis the behavior of changes on the overall system development stability can be predicted. The analysis of N-K Boolean networks (Kauffman 1993), provides guidelines for judging the dynamics based on the interconnections. A typical N-squared diagram shows a range of K values by subsystem. Fixing high-K subsystem places system in evolving regime. This can be accomplished through standard design methods, e.g., isolation through a layered model

    * Application: Institute a Stable Core. Stable, core structures from in natural systems. These semi-stable groups of elements for a core around which islands of change provide adaptation. Applying this approach evokes a similar to traditional system engineering heuristics: "Complex systems will develop and evolve within an overall architecture much more readily if there are stable intermediate forms than if there are not". We should then choose to Fix structures critical to the system's mission. User scenarios as the basis for the stable structures.

    * Application: Gauging the Complexity of the Development. Using the phase transition analogy, we postulate the following with respect to system development:

    1. User satisfaction exhibits a peak in the evolving phase,
    2. Cost and schedule increase with increasing novelty. Through program management decisions about when to allow novelty or changes, regulate program to edge ofchaos.

    * Application: Preparing for Large Changes. In evoloving systems large changes are predicted to occur with less frequency following a power law. Large changes triggered by relatively small events (inherently unpredictable). Use a power law can be used to manage program spending reserves to provide a cushion against the large unpredictable events.

    This paper applies the concepts of complexity science to the evolutionary development model of system development. Application of theory brings new insight to existing system development heuristics and new ways to understand system development. It is the challenge of system developers to provide our customers and users with systems which adapt to their needs. Insight can be gained from complex systems research, but there is work to be done before systems exhibit the adaptive flexibility of natural systems


    References:
  • Adams, R. N., The Eighth Day: Social Evolution as the Self-Organization of
  • Energy, University of Texas Press, 1988.
  • Alexander C., Notes on the Synthesis of Form, Harvard University Press,1964.
  • Arthur, W. Brian, "Why Do Things Become More Complex," Scientific American,
  • May, 1993, p 144.
  • Bak, P and Chen, K "Self-Organized Criticality," Scientific American, January
  • 1991, pp 46-53.
  • Bennett, Charles H., "Dissipation, Information, Computational Complexity and
  • the Definition of Organization," Emerging Syntheses in Science, Proceedings of the Founding Workshops of the Santa Fe Institute, Addison-Wesley, 1988.
  • Boehm, B., "A Spiral Model of Software Development and Enhancement," IEEE
  • Computer, May 1988, pp 61-72.
  • Chase, Robert, R. P. "Toward a Complete EOS Data and Information System," IEEE Transactions on Geoscience and Remote Sensing, V. 27, N. 2, March 1989, pp 125-131.
  • Dasgupta Subrata, "The Structure of Design Processes," Advances in Computers, Vol 28, 1989, pp 1-67.
  • Dasgupta, Subrata, "Herbert Simon's 'Science of Design': two Decades Later,"
  • First International Conference on Intelligent Systems Engineering, Heriot-Watt university, Edinburgh, UK, August, 19-21, 1992.
  • Gilb, T, Principles of Software Engineering Management, Addison-Wesley,1988.
  • Jantsch, E., The Self-Organizing Universe: Scientific and Human Implications of the Emerging Paradigm of Evolution, Pergamon Press, 1979.
  • Kauffman, S. A., Requirements for Evolvability in Complex Systems: Orderly
  • Dynamics and Frozen Components," Proc. 1988 Workshop on Complexity, Entropy and the Physics of Information, May-June 1989, W. H. Zurek ed., Addison- Wesley 1990.
  • Kauffman, S. A., "Antichaos and Adaptation," Scientific American, August 1991, pp 78-84.
  • Kauffman, S. A., The Origins of Order: Self-Organization and Selection in
  • Evolution, Oxford, 1993.
  • Prigogine, I. and Stengers, I., Order Out of Chaos, Bantam Books, 1984.
  • Rechtin, E., System Architecting: Creating and Building Complex Systems,
  • Prentice-Hall, 1991.
  • Ulrich, H. and Probst, G. J. B., editors, Self-Organization and Management of
  • Social Systems, Springer-Verlag, 1984.
  • Waldrop, M. Mitchell, Complexity: The Emerging Science at the Edge of Order and Chaos, Simon & Schuster, 1992.
  • Yates, F. E., ed., Self-Organizing Systems: The Emergence of Order, Plenum
  • Press, 1987.