SIMULATION-BASED ENGINEERING OF COMPLEX SYSTEMS

 

John R. Clymer

 

 

The story of developing the maritime chronometer, that took place during the early eighteenth century, is a fascinating tale of creating a self-regulating system that was capable of keeping time accurate enough to navigate across broad stretches of ocean. Mariners had used the position of the sun and the stars for approximate navigation upon the sea for thousands of years; however, accurate determination of ship longitude, and thus ship position, depended on knowing the exact time of day to take measurements. This problem was solved by the invention of the self-regulating maritime chronometer, thus enabling the complete conquest of the world’s oceans for trade and exploration. 

  

Clerk Maxwell (Maxwell, J. C., Proc. Roy. Soc. (London), March 5, 1868) described the concept of a self-regulating governor. James Watts quickly implemented this concept as the now famous fly-ball form of speed control for steam engines, thus enabling the industrial revolution.  This device served to keep the speed of the engine at a selectable level regardless of load by controlling the volume of steam available to the piston during each revolution. If the engine speed increased, the fly-balls fastened to a spinning shaft moved outwards due to centrifugal force thus moving an attached slider collar. The steam inlet valve, that was attached to the slider collar, was moved toward its closed position thus preventing the engine from speeding up. Conversely, if the engine speed decreased, the fly-balls would relax producing the opposite affect.  The resulting dynamic stability produced by this ingenious feedback control devise was not due only to the mass of the fly-balls or to the strength of the spring attached to the collar or to the length of the lever arm that connected the collar to the steam valve or to the efficiency of the engine or to the load on the engine. It was due to the concurrent interaction of all of these components working together.

 

In 1948, Norbert Weiner (Weiner, N., Cybernetics, Wiley, 1948) popularized the term, cybernetics, by explaining how the foregoing control technology could be interrelated with computer and communication technologies to implement not only governors but also pursuit guidance systems and the early forms of goal-seeking systems.

In parallel, the field of General Systems Theory, that grew out of the field of General Semantics, formalized the notion that a system consists of two or more elements having specific interrelationships and even relationships among the relationships.  Further, that the overall response of a system to a given stimulus was rarely a simple linear function and was as much influenced by the nature of the relationships as by the properties of the elements. Out of these early beginnings came a flood of ideas and innovations that mold our modern world today and our thinking about complex systems.

 

Jay Forrester introduced Systems Dynamics models that clarified the ramifications of the structure of various feedback and feed-forward relationships and of the affect of time delays on these relationships.  Ross Ashby articulated the Law of Requisite Variety that says that the controller of a system has to have at least one degree of freedom greater than the system being controlled. Lotfi Zadeh’s fuzzy logic generalized classical logic to allow classification of system features to be ambiguous. For example, confidences in feature facts specifying whether two objects are either close or far can both have a value that varies, depending on the distance between the objects. The classifier system block, discussed in chapter 8, facilitates rule induction by minimizing ambiguity in each decision context during the generation of new rules.

Others noted that many relationships were not static but needed to be modeled as active logic (Simula, 1968) and, bilaterally, that human reasoning could be modeled such that computer technology could be leveraged to help do pattern recognition, choice making, generative planning and even the design of machines that could design machines. These early software engineering and artificial intelligence efforts have evolved into the fields of multi-agent systems and distributed, Artificial Intelligence (AI).

 

Over these decades engineering educators have struggled to cope with such complex systems by “simplifying” them into piecewise linear continuous time models and discrete event queuing system models. But systems are not that easily decomposed. Although progress was made in modeling and simulating such systems, the skill levels required and the project times involved often meant that the design decisions were already made by the time the simulation was ready to run.

 

A new wave of understanding, and computer-based tools for even better understanding of complex self-synchronizing systems, was founded when a group of nuclear physicists interested in quantum theory came into relationship with a group of economists interested in understanding the higher-order, implicit characteristics of stock markets and the global economy. Their dialog was greatly accelerated by John Holland, discussed in chapter 8, and his suite of software tools and constructs for modeling implicit systems and simulating them to reveal their emergent behaviors which were otherwise unpredictable by mathematicians and logicians. The field of Complex Adaptive Systems (CAS) took form and has spawned a spectrum of studies.

 

I am indebted to all the complex systems researchers and innovators that have gone before and have influenced the development of the ideas, tools, and methods expressed in this book

 

Introduction

 

I have been a researcher, teacher and practitioner of complex systems and of the design of complex systems for 35 years. During this time, the computer, transportation, manufacturing, business, and military systems that I have worked on were discovered to be best characterized as a set of interacting, concurrent processes. This discovery inspired development of Context Sensitive Systems (CSS) theory as a way of thinking about interacting concurrent processes. Also developed was a graphical modeling language, Operational Evaluation Modeling (OpEM), to express models of both existing and conceptual systems. Further, a graphical discrete event simulation library, OpEMCSS, was developed more recently to enable rapid development of models and simulations in the OpEM language.  I believe that the CSS theory, OpEM modeling language, and OpEMCSS library can be applied in many modern situations and can be used to understand the emerging field of Complex Adaptive Systems (CAS).  Further, the OpEM language, simulation tools, and methodology can be modified and extended, as we in the CAS research community learn more about CAS.

 

The OpEMCSS library works with the popular commercial software tool, EXTEND5+MFG (www.ImagineThatInc.com) which was chosen for two major reasons. First of all, EXTEND5+MFG is relatively inexpensive for students to buy. Second, it is a powerful simulation tool. I have programmed both continuous-time, discrete event, and hybrid computer simulations in FORTRAN, Pascal, and C/C++, and I have studied various ways to make such programs execute faster and more efficiently. In my opinion, EXTEND5+MFG is a very efficient implementation of a high level, graphical icon-based, simulation tool. The OpEMCSS icon-blocks automatically provide more than 95% of all simulation code that in the past had to be programmed by hand. In context-sensitive systems, these programming details are very complex and would otherwise require extensive programming skill and effort to accomplish. EXTEND5+MFG, with the OpEMCSS library, gives students and systems practitioners the ability to experiment with complex, context-sensitive interactions and quickly build a model. Time is not wasted dealing with complex programming details and writing extensive code, but rather the emphasis is on complex systems design, analysis, and evaluation.

 

Because it affords a focus on modeling rather than programming, student learning and retention are both increased considerably. It is my contention based on 20 years of teaching that students retain about 90% of what they learn based on hands-on experience and 10% of what they get from lecture. Therefore, it is the intent of this book that students have OpEMCSS and all example models including homework, discussed in the book, available for hands-on experimentation.

 

I believe the best way to learn the basic principles of complex systems, discussed throughout this book, is to actually experience them directly through hands-on experimentation. Throughout the text, the reader is invited to do simulation-based experiments that demonstrate the principles of complex systems. The reader is constantly engaged through the examples in the book to actively learn and participate.  I believe that a student that learns this way is more likely to be able to apply what he/she has learned in diverse fields and extend that knowledge to new fields and new problems. 

 

Understanding complex systems is like peeling an onion; one does it layer by layer. This book is organized to begin with a simple system that the reader already understands and build on this understanding through a series of examples. Each example has a lesson about complex system principles to teach. Gradually, the book introduces more and more complex system principles.  It is important that students and other readers study each of the models in the book in order to gain an understanding of the basic principles that each model represents. Thus, the book is designed for a broad spectrum of people to gain an understanding of complex systems. It will be shown that, although complex systems have behaviors that are difficult to understand, the underlying modeling building blocks are simple and easy to understand.

 

Complex Systems

 

All complex systems have emergent behaviors that result due to the interactions of their components. Such behaviors only occur if components are working together; they do not occur when operating any single component alone. Thus, we cannot understand each component as it operates independently to gain an understanding of the whole system.

Often the emergent behavior of the system is not predicted when a system concept is proposed, and its occurrence is a surprise when the system concept is simulated. This is why simulation of the entire system, operating within its environment, is an important part of engineering of complex systems discussed in this book.

 

In Complex Adaptive Systems (CAS), I believe the main interaction among concurrent processes is communication and adaptation. There are three main kinds of interactions discussed in this book, but the communication and adaptation interaction is the one that results in changes in the system or environment that propagate into the future through various causal paths. These feedback and feed-forward paths dictate the behavior of individual system components, and the result is emergent behavior as discussed above. Because of these communication and adaptation interactions, the whole is more complex than can be predicted through analysis of each system component separately.

 

Do we expect to predict the exact future with such CAS models?  No, but we expect to explore future possibilities with such models and even gain computer-aided insight from simulations based on these models.  The purpose of a CAS model and its concomitant system theory is to gain insight into the phenomena under study and perhaps to establish bounds under which the system will produce satisfactory behavior under a wide range of possible futures. For example, simulation-based systems engineering, discussed in this book, attempts to accomplish this by establishing a set of operational scenarios that cover the various possible future environments, and these are then used to design the system.  I believe that through control of the feedback / feed-forward paths, one can achieve optimal system performance in each required operational scenario.

 

As an example of emergent behavior in chapter 10, we consider a distributed vehicle traffic control network located in a large city.  Each major intersection has a vehicle traffic light controller to determine traffic light timing.  In this system, each traffic light controller uses its perceptions about incoming traffic flow to optimize light timing, thus minimizing local vehicle waiting time. The result of each traffic light controller adapting light timing to accommodate traffic flow coming from other intersections is to minimize the average waiting time in the entire network. Global minimization of traffic waiting time results as a consequence of the emergent behavior of this system, which is the self-synchronization of each traffic controller’s light timing.

 

As light timing control in the overall traffic grid evolves in the way discussed above, a complex but definite pattern in network operation, north-south red to green transition times, emerges out of an initial random light pattern.  The emergent behavior of the traffic grid cannot be explained through an understanding of each controller alone. Understanding only comes when we study the interactions of the controllers as they adapt their behaviors in response to perceived information about incoming traffic flow, achieving  self-synchronization of all traffic light controllers in the network.

 

The desired emergent behavior for the traffic control system was achieved by experimenting with feedback in the network. Trying different sets of fuzzy control rules and control system gains did this. With no feedback, the traffic lights operate independently and average vehicle waiting time is high. With very strong feedback, the traffic control network operation appears chaotic (no self synchronization occurs) and the average vehicle waiting time is high. When the feedback is just right, the emergent behavior discussed above is observed and the average vehicle waiting time in the network is minimized.  It is also interesting to note that the overall system never reaches steady state operation; indeed, the system seems to be in a constant state of flux as observed by the random appearance of the light timing control signals, even when the average vehicle waiting time is being minimized.  Operating far from equilibrium seems to be a common feature of CAS based on what I have read in the CAS literature.

 

Within the last ten years or so there have been numerous books and journal papers published about complexity and Complex Adaptive Systems (CAS). I have read most of them and built CAS models such as the distributed vehicle traffic control system, as discussed above, to experience emergence and other CAS issues. What have I concluded from all this?

 

·        First, all of these books and articles provide numerous insights into CAS of an anecdotal nature, and they relate complexity to other fields such as biological evolution, chaos theory and Quantum Mechanics; all of which provides further insights. After all, if you can relate complexity to something you already know about, you may gain an understanding of it through analogy. Because, of these books and articles, interest in complexity is growing exponentially into a major scientific revolution.

 

·        Second, in all of this there was no clear model expressed that could be used for system design and analysis. All I found was the concept of a complex system represented as a network of interacting nodes (architecture diagram) which is not a useful model, by itself, to completely describe complex systems. In addition, I believe that a formal expression of complex system operation and interactions is required as discussed in this book; further, I believe that OpEMCSS can provide this.

  

·        Third, there are simulation tools that have been developed to study complexity; SWARM, ALIFE, and other multi-agent type models to numerous to mention. However, these are research tools and do not appear to be readily available to simulation programming lay persons (students and practitioners) interested in complexity nor are these tools intended for system design, analysis, and evaluation. As I discussed above, simulation programming of complex systems is, based on my 35 years of experience, very difficult and time consuming at best. However, I believe that many of the people interested in complex systems and CAS are capable of making great contributions to complexity research if a systems science and graphical simulation tool, such as CSS, OpEM, and OpEMCSS, were made generally available to anyone interested.

 

People reading all these CAS articles and books during this time were probably left with the same feeling about complexity that I had; that complexity is the biggest scientific revolution in the past 350 years and there is absolutely nothing I can do to contribute to it or participate in it.  Using CSS, OpEM, and OpEMCSS there is something that we all can do to contribute or participate in the CAS revolution. As people discover new CAS concepts, OpEM constructs can be added to the language and new blocks can be included in the OpEMCSS library, enhancing CSS theory.

 

This book is not intended to answer all your questions about CAS; instead, it is intended to instruct students and practitioners about what is currently known about complex systems and to provide a tool that will allow all of us together to answer our questions about CAS and how it works.

 

Intended Audience and Prerequisites

 

The book is intended as a senior elective and graduate level textbook (homework solution manual available) and a practitioner’s reference book. It is mainly intended for systems engineers, integrated product engineers, software engineers, industrial / manufacturing engineers, business management design people, and Business Process Re-engineering (BPR) people.

 

However, I believe that this book can be used in any field that is concerned with entities that perform a set of tasks that lead to satisfaction of a measurable goal that may or may not be explicitly known or stated. Such fields include, in addition to those mentioned above, societal systems and sociology, biological and ecological systems, economic systems, and others. There is currently no book that covers the basic principles of complex systems in such a way that students and practitioners can readily extend these principles to all kinds of systems through hands-on experimentation.

 

As will be demonstrated in chapter 1, the prerequisite for this book is basic problem solving ability, which I believe the vast majority of people possess as common sense. Each one of us formulate goals for ourselves all the time to solve problems confronting us.  Once we state our goal, we visualize a set of tasks or steps that takes us from our current situation to one satisfying our goal. If we can expect help from others to execute these tasks, we organize the tasks into sequential and concurrent arrangement. We call our organized set of tasks, more commonly, a plan. The execution of our plan by a group of people hopefully leads to goal satisfaction. Such a plan can be developed using a task flow diagram and modeled as a collection of interacting concurrent processes, which are subjects of this book. A computer simulation program based on these interacting concurrent processes can be used to optimize our plan and make it robust in the presence of varying contingencies.

 

This book is not intended to be survey of simulation in which simulation is an end unto itself.  There are plenty of books already that do this. In this book, simulation is the means to an end; understand, design, analyze, and evaluate complex systems. However, I do discuss how simulations work including basic principles, what are the different kinds of simulation methods, and what are some of the various applications of simulation during the engineering of complex systems.

 

This book is not intended to be a survey of complex adaptive systems either. As I said above, there are many anecdotal type books already published that provide insights into CAS. This book simply intends to provide hands-on learning and experimentation with the basic principles of complex systems and to teach simulation-based problem solving skills and system design, analysis, and evaluation methodology. Once CAS are better understood, a comprehensive textbook presenting CAS theory and applications can be written based on OpEMCSS.

 

Organization

 

Throughout this book a common sense approach to understanding, designing, analyzing, and evaluating complex systems is presented. It begins by discussing traditional ways-of-thinking-about-systems and then shows how one of these views, the operational view of systems, can be best expressed using interacting concurrent processes. A graphical language (OpEM) is presented that provides a natural way to describe interacting concurrent processes and implement them using simulation. A graphical discrete event simulation library (OpEMCSS) is discussed throughout this book that implements this graphical language and provides a means to experiment with complex systems.  A large number of example models are described that illustrate how to use the OpEMCSS library blocks to model complex systems. These examples are presented so that a large spectrum of readers can understand them.

In chapter 1, general systems are defined and some of the more commonly used system models are described. Next, each reader is asked to analyze a goal-oriented activity they already know how to do and to build a functional flow model of this activity. I introduce some of the basic OpEMCSS simulation blocks and apply these blocks to model my goal-directed activity. I describe how simulations work and how an OpEMCSS simulation can be used to achieve an understanding of complex systems; discussing two example models. A systems engineering process for bringing complex systems into being is described as an example of simulation-based problem solving.

 

In chapters 2, I present basic simulation concepts and how to apply the basic OpEMCSS blocks to model a system.  In particular, the statistical aspects of simulation are summarized briefly, the OpEM graphical language is described in more detail, and Petri net modeling constructs are compared to OpEM graphs in order to better understand context-sensitive systems. Each basic OpEMCSS block with its dialog is described in detail. A pre-emptive, priority job scheduling model, “Priority.MOX,” is described that uses the basic OpEMCSS blocks. This model is a very simple example of a context-sensitive system that can be difficult to model using some simulation languages.

 

In chapter 3, I provide a series of examples that demonstrate the system design and model development procedure using the basic OpEMCSS blocks.  It also discusses some of the more advanced features of the basic blocks to model preemption and direct execution of events.  The best way to learn to understand and design complex systems is to do a class project. Some suggested projects are discussed in the chapter 3 homework section.

 

In chapters 4 – 7, I present a number of example constructs that will be useful in many modeling and simulation exercises. In chapter 4, I present Markov models, expressed using the OpEM language, that assist in understanding context-sensitive systems by providing an explicit mathematical representation of states and state transitions. Markov models provide the basis for application models, presented in chapter 5, reliability and availability models, discussed in chapter 6, and queuing theory models, discussed in chapter 7.

 

In chapter 8, I move toward self-adaptive or learning type systems by describing an OpEMCSS block that implements a forward chaining, fuzzy expert system controller. The Classifier Event Action block applies rules to process attributes to make decisions. The rules can be used to transform input facts into output facts that are sent to other processes.  Some of these output facts can specify which alternative behavior a process should exhibit in order to collaborate.  This block includes a learning module that uses evolutionary rule induction methods and decision ambiguity to discover the best rules to make decisions. Three example models are discussed that use the Classifier Event Action block to make decisions. These models are: (1) a part production system that provides an example of on-line rule induction based on graded learning, (2) a prisoner’s dilemma model that is an example of rule learning in an co-evolutionary environment, and (3) a Finite State Machine (FSM) model that demonstrates the generation of planning rules that solve a problem.

 

In chapter 9, I discuss a set of OpEMCSS blocks that manage agent motion and interactions using a linear model based on discrete events. When modeling agent motion using discrete events, a simulation runs much faster. Usually, agent motion and interactions are modeled using fixed time-step algorithms that run very slowly. An Animation Event Action block is described that works with the agent motion blocks to display agent motion on a grid. For example, an agent motion model called “World.MOX” is described that uses the agent motion blocks and animation block to display the motion of agents on a playing field. A sonar array simulation where surface ships and submarines move in relation to sonar sensors is also described.  A Classifier Event Action block is used in the sonar array model to learn a set of rules that classify all ships correctly.

 

In chapter 10, I discuss multi-agent systems. Context Sensitive Systems (CSS) theory, agents, and agent interactions are discussed first to introduce the chapter. Next, the California State University Fullerton (CSUF) engineering building elevators are modeled as a multi-agent system where each elevator is an agent that collaborates with the other elevator to reduce the waiting time for people wanting to use an elevator. A distributed vehicle traffic light system simulation is discussed next as a more complex example of a multi-agent system. In this model, each traffic light controller is an agent that adapts its behavior to achieve a highly desirable emergent behavior: the average vehicle waiting time in the network is reduced relative to an uncontrolled system. To conclude chapter 10, OpEMCSS blocks are discussed that model various forms of agent communications, provides for separate local agent memories to store agent knowledge, and implements global agent “blackboards” used to facilitate collaboration during group problem solving and planning.  An example multi-agent system model is discussed that features the use of these blocks.

 

Utility of OpEM and OpEMCSS

 

During the last few years, simulation-based engineering has become an essential tool for the design and evaluation of complex systems. Such systems include air and ground transportation networks, military C4ISR multi-agent systems, and complex, international business organizations. These systems are difficult to understand because each agent (subsystem) in the network adapts its behavior in response to knowledge received from other agents. Agents adapting in collaboration with other agents can lead to emergent behaviors that are much more complex than any agent could achieve alone. Such Complex Adaptive Systems (CAS) have the potential of much greater capability and effectiveness than traditional systems if designed properly using the OpEMCSS graphical simulation library discussed in this book.

 

The revolution in complex adaptive systems is here, but it is just beginning. CAS are not well understood as of yet; although, systems engineers have been cognizant of some of the attributes of complex systems for a long time, as discussed above in the historical overview. What we need is a simulation tool that is easy to use by the majority of CAS researchers and the broad spectrum of other interested people, all of whom have diverse backgrounds. The tool must describe complex system principles and facilitate understanding of intelligent, multi-agent systems and CAS.  We also need a tool that can be easily extended as more is learned about the nature and phenomena of complex systems.  This book is intended for both students and practitioners interested in the design and evaluation of complex systems; further, it is intended to provide a common ground for anyone interested in participating in the discovery process and contributing to the our common knowledge of complex systems and CAS.  Out of this work, I would expect that a theory of CAS will emerge that will be expressed using OpEMCSS.

 

Back to Main

 

Order From CSUF TITAN Bookstore