The Structures of Complex Systems
Example of Complex Systems
The Structure of social institutions Groups of people join together to accomplish tasks that cannot be done by individuals .Some organizations are transitory, and some endure beyond many lifetimes. As organizations grow larger, we see a distinct hierarchy emerge. Multinational corporations contain branches ,which in turn include local offices ,and so on. If the organization remains the boundaries among these parts may change, and over time, a new, more stable hierarchy may emerge.
The relationships among the various parts of a large organization are just like those found among the components of a computer, or a plant, or even a galaxy. Specifically, the degree of interaction among employees within an individual’s office is greater than that between employees of different offices. A mail clerk usually does not interact with the chief executive officer of a company but does interact frequently with other in the mail room. Here too, these different levels are unified by common mechanisms .The clerk and the executive are both paid by the same financial organization, and both share common facilities, such as the company’s telephone system, to accomplish their tasks.
Five Attributes of a complex system
There are 5 attributes common to all complex systems.
- Frequently ,complexity takes the form of a hierarchy, where by a complex system is composed of interrelated subsystems that have in turn their own sub systems , and so on ,until some lowest level of elementary components is reached.
- The choice of what components in a system are primitive is relatively arbitrary and is largely up to the discretion of the observer of the system.
- Intracomponent linkages are generally stronger than intercommoning linkages. This means that interactions between components.
- Hierarchic subsystems are usually composed of only a few different kinds of subsystems in various combinations and arrangements .
- A complex systems that works is invariably found to have evolved from a simple systems that work. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple systems.
Organized and disorganized Complexity
The canonical form of a complex system:- The discovery of common abstractions and mechanisms greatly facilitates our understandings of complex systems .For examples ,with just few minutes of orientation ,an experienced driver can step in to a marcader car ,he or she has never driven before and safely drive the vehicle.Having recognized properties common to all cars ,such as the functioning of the breaks ,accelerator, and gears ,the driver primarily needs to learn what properties are unique to that particular car ,it is far easier to know how to drive a similar one.
This example suggests that we have been using the term hierarchy in a rather loose fashion. Most interesting systems do not constitute a single hierarchy; instead ,we find many different hierarchies are usually present within the same complex systems .For examples ,a departmental store may be studied by decomposing it into its garments sections, cosmetics section, and so on. This decomposition represents a structural, or “part of”hierarchy.Alternately, we can cut across the system in a specific kind of store. This means that a store represents generalizations of the properties common to every type of departmental store.
This second hierarchy represents an “is a “hierarchy .It is essential to view a system from both perspectives, studying its “is a” hierarchy as view as its “part of” hierarchy. We call these hierarchies the Class Structures and the Object Structures.
Combining the concept of class structures and object structures together with the five attributes of a complex system, we find that virtually all complex systems, having the canonical form .The 2 orthogonal hierarchies of a system can be represented by using the class structure and the object structure. Each hierarchy is layered ,with more abstract classes and objects built upon more primitives ones. class or objects is chosen as primitive is related to the problem that hand. Especially among the parts of the objects structures, there are close agreement among the same level of abstraction. Looking inside any given level reveals yet another level of complexity. Notice that the class structure and the object structure are not completely independent ; rather each objects in the object structure represents a specific instance of some class. As the figure suggests there are usually many more objects than classes of objects within a complex system.
The limitations of the human capacity for dealing with complexity
If we know what the design of complex software systems should look like, then why do we still have serious problems in successfully developing them? It is because this concept of the organized complexity of software is relatively new. However ,there is yet another factor that dominates; the fundamental limitations of the human capacity for dealing with complexity.
As we first begin to analyze a complexity software systems ,we find many parts that must interact in a multitude of complex ways, with little perceptible commonality among either the parts or their interactions.
This is an example of disorganized complexity. As we work to bring the organization to this complexity through the process of design, we must think about different things at once. For example in an air traffics control system, we must deal with the different state of many different aircrafts at once, involving such properties as their location, speed, and heading.Especialy in case of discrete systems, we must cope with a fairly large, imtricate, and sometimes nondeterministic state space. Unfortunately, it is absolutely impossible for a single person to keep track of all these things at once. Experiments by psychologists ,such as those of Miller, suggests that the maximum number of chunks of information’s that an individual can comprehend is on the order of seven, plus or minus two. This channel capacity seems to be related to the capacity of short –term memory.
We are thus faced a fundamental dilemma. The complexity of the software systems we are asked to develop is increasing .Yet there are basic limits upon our ability to cope with this complexity. How then do we resolve this dilemma.
