Complexity is a term that not only defies any disciplined usage in our usual discourse, but also lacks a rigorous definition even in academic circles. It is often confused with complicatedness and is popularly invoked whenever we see many parts arranged in intricate relationships and interacting in hard-to-predict ways. In common conversation, we tend to label anything that is hard to understand as “complex.” For example, we might refer to the workings of a mechanical watch as complex.
But the workings of a watch are created by the aggregation of the operations of its gears and springs. The sheer number and arrangement of the small parts make the watchworks “complicated” but not “complex.” As John Holland explains in his little book, Complexity: A Very Short Introduction (Oxford University Press), complexity resides, “where the aggregate exhibits properties not attained by summation. In mathematical terms, the interactions of interest are non-linear. This non-linearity . . . yields levels of organization and hierarchies; selected aggregates at one level become ‘building blocks’ for emergent properties at a higher level, as when H2O molecules become building blocks for water.”
The complex system cannot be understood by deconstruction. Instead, the behavior of the complex system must be understood at all levels of the hierarchy. As the levels are studied, it is apparent that the behavior of the system emerges from the relationships and arrangement of the system elements.
In fact, any attempt at deconstruction brings about the destruction of the essential character and behavior of the complex system. Speaking about complex systems, Fritjof Capra wrote, “According to the systems view, the essential properties of a . . . system are properties of the whole, which none of the parts have. They arise from the interactions and relationships among the parts. These properties are destroyed when the system is dissected, either physically or theoretically, into isolated elements. Although we can discern individual parts in any system, these parts are not isolated, and the nature of the whole is always different from the mere sum of its parts.” Fritjof Capra, The Systems View of Life: A Unifying Vision (2014).
In the effort to understand the system, the temptation to deconstruct it must be resisted in order to enable the observer to see the system with its full functionality intact. Otherwise, as Capra points out, the “essential properties” of the system will be destroyed, and understanding of it will become impossible.
To gain this understanding, the use of a model is critical. The model holds the complex system together in its relationships, preserving the hierarchies and interactions that create its performance.
But not just any model will do. First, the model must be a systems model. It must embody the system structure with all its elements, relationships and attributes intact. It cannot be a view documenting some part of the system, nor can it be a physics-based performance model of a portion of the system. It must clearly depict the system in all its relevant parts.
The model must also be constructed within a robust, disciplined framework known as a systems metamodel. This framework establishes the semantics of the model. It establishes the classes of entities and the possible relationships among them. It creates the semantics of the model, giving it meaning. The entities, relationships, and the attributes that modify and describe them enable the model to cogently describe the reality of the system aspects they stand for. In this way, the model can be built with a high degree of fidelity to all of the relevant aspects of the system. The system metamodel provides the rigor that offers the confidence that the system structure is visible to and understood by all those stakeholders and designers who seek to understand the system and its behavior.
As the world moves rapidly into increasing complexity, the importance of the robust, proven systems metamodel is magnified. The complex socio-technical problems facing society today demand complex solutions. Providing those solutions requires that the problem solvers develop an understanding of the complexity of the problems as well as the solution spaces that hold possible answers to them. This demands the use of models that can provide the systems visibility that will develop that understanding.
In addition, the pace and intensity of the repetition of the problem-solution cycle makes it unaffordable to reinvent every solution “from scratch.” Problems that share characteristics can benefit from solution processes that begin with the head start provided by existing answers. Reinventing the wheel is a luxury that we cannot afford.
That means that solutions must be constructed in ways that are conducive to transferring them to other problem spaces. The key to this again lies in the system metamodel. Agreement on the construction of the metamodel enables the parties to the agreement to link the use and/or reuse of the resulting models. The failure of much-heralded mechanisms to transfer models between tools is directly attributable to the lack of a common systems metamodel. It does little good to translate data from one framework into a transfer vehicle (e.g.- .xmi) only to transport the data to a location with a different framework or, worse yet, to a location that lacks a framework. Data in this situation has nowhere to go and no meaning in its parts—or more importantly, in its relationships. As a result, no model can be constructed from it.
In recognition of this problem, there are efforts afoot to construct a standard systems metamodel. But these efforts are unwise for the same reasons that recreating models from scratch is ill advised. Where a robust, proven systems metamodel already exists—like the schema that underpins Vitech’s tools—it makes little sense to spend time and effort in an attempt to duplicate the existing success.
Complexity is difficult to understand and even harder to predict. Because we are introducing more complexity through the systems we are seeking to construct and the technologies we use at the same time, we are coming to see and understand the complexity that exists in our world, and we are confronted with ever-increasing levels of complexity all around us. The key to grasping and dealing with all this lie in being able to model complex problems and solutions, most importantly, the relationships and interactions that drive positive emergence and unintended outcomes. Efficiency and effectiveness lie in the ability to reuse solutions as they are brought into existence. All of this turns on a common, robust, proven systems metamodel on which to create the solutions to how to wrangle complexity.