Difference between revisions of "Principles of Systems Thinking"

From SEBoK
Jump to navigation Jump to search
Line 464: Line 464:
 
Rittel, H. and M. Webber. 1973. Dilemmas in a general theory of planning. ''Policy Sciences'', 4:155–169. http://www.uctc.net/mwebber/Rittel+Webber+Dilemmas+General_Theory_of_Planning.pdf.  
 
Rittel, H. and M. Webber. 1973. Dilemmas in a general theory of planning. ''Policy Sciences'', 4:155–169. http://www.uctc.net/mwebber/Rittel+Webber+Dilemmas+General_Theory_of_Planning.pdf.  
  
Rosen, R. 1979. Old trends and new trends in general systems research. ''Int. J. of General Systems'' 5(3): 173-184. [Reprinted in Klir 1990]
+
Rosen, R. 1979. Old trends and new trends in general systems research. ''Int. J. of General Systems'' 5(3): 173-184. [Reprinted in Klir 2001]
  
 
Schindel, W. 2005. Pattern-based systems engineering: An extension of model-based systems engineering. INCOSE TIES tutorial presented at 2005 INCOSE Symposium.
 
Schindel, W. 2005. Pattern-based systems engineering: An extension of model-based systems engineering. INCOSE TIES tutorial presented at 2005 INCOSE Symposium.

Revision as of 02:00, 2 August 2012

This article forms part of the Systems Thinking Knowledge Area. It identifies systems principles and systems patterns as part of the basic ideas of Systems Thinking. The first part presents a set of principles, along with a few “laws” and heuristics. The second part presents the general idea of patterns and a number of examples. A brief conclusion discusses the maturity of systems science from the perspective of principles and patterns.

Systems Principles, Laws, and Heuristics

Systems Principles

A principle is a general rule of conduct or behavior (Lawson and Martin 2008), or a basic generalization that is accepted as true and that can be used as a basis for reasoning or conduct (WordWeb 2012c). Thus, systems principles can be used as a basis for reasoning about systems (systems thinking) or associated conduct (systems engineering). A set of systems principles is given in Table 1 below. The name points to the concept underlying the principle (see article on Concepts of Systems Thinking). Following the table, two additional sets of items related to systems principles are noted and briefly discussed: Prerequisite laws for design science, and heuristics and pragmatic principles.

Table 1. A Set of Systems Principles. SEBoK Original.
Name Statement of Principle
Regularity Systems science should find and capture regularities in systems, because those regularities promote systems understanding and facilitate systems practice. (Bertalanffy 1968)
Similarity/ Difference Both the similarities and differences in systems should be recognized and accepted for what they are. (Bertalanffy 1975 p. 75; Hybertson 2009). Avoid forcing one size fits all, and avoid treating everything as entirely unique.
dualism and Yin Yang Dualism: Reality consists of two basic opposing elements (WordWeb 2012a). Examples: The Universe is divided into system and not-system (Fuller 1975); top-down/bottom-up; static/dynamic; continuous/ discrete

Yin yang: Interaction and harmonization of dual elements ensures a constant, dynamic balance of all things (IEP 2006) Combined principle: Recognize dualities and consider how they are, or can be, harmonized in the context of a larger whole (Hybertson 2009)

leverage Achieve maximum leverage (Hybertson 2009). Because of the power versus generality tradeoff, leverage can be achieved by a complete solution (power) for a narrow class of problems, or by a partial solution for a broad class of problems (generality).
Interaction The properties, capabilities, and behavior of a system derive from its parts, from interactions between those parts, and from interactions with other systems. (Hitchins 2009 p. 60)
Relations A system is characterized by its relations: the interconnections between the elements. Feedback is a type of relation. The set of relations defines the network of the system. (Odum 1994)
Change Change is necessary for growth and adaptation, and should be accepted and planned for as part of the natural order of things, rather than something to be ignored, avoided, or prohibited. (Bertalanffy 1968; Hybertson 2009)
Stability/ Change Things change at different rates, and entities or concepts at the stable end of the spectrum can and should be used to provide a guiding context for rapidly changing entities at the volatile end of the spectrum (Hybertson 2009). The study of complex adaptive systems can give guidance to system behavior and design in changing environments (Holland 1992).
Equifinality In open systems, the same final state may be reached from different initial conditions and in different ways. (Bertalanffy 1968). This principle can be exploited especially in systems of purposeful agents.
holism A system should be considered as a single entity, a whole, not just as a set of parts. (Ackoff 1979; Klir 2001)
Parsimony One should choose the simplest explanation of a phenomenon, the one that requires the fewest assumptions. (Cybernetics 2012). This applies not only to choosing a design, but also operations and requirements.
Separation of Concerns A larger problem is more effectively solved when decomposed into a set of smaller problems or concerns. (Erl 2012; Greer 2008)
abstraction A focus on essential characteristics is important in problem solving because it allows problem solvers to ignore the nonessential, thus simplifying the problem. (Sci-Tech Encyclopedia 2009; SearchCIO 2012; Pearce 2012)
modularity Unrelated parts of the system should be separated, and related parts of the system should be grouped together. (Griswold 1995; Wikipedia 2012a)
Encapsulation Hide internal parts and their interactions from the external environment. (Klerer 1993; IEEE 1990)
boundary A boundary or membrane separates the system from the external world. It serves to concentrate interactions inside the system while allowing exchange with external systems. (Hoagland, Dodson, and Mauck 2001)
view Multiple views, each based on a system aspect or concern, are essential to understand a complex system or problem situation. (Edson 2008; Hybertson 2009)
Layer, hierarchy The evolution of complex systems is facilitated by their hierarchical structure (including stable intermediate forms), and the understanding of complex systems is facilitated by their hierarchical description. (Pattee 1973; Bertalanffy 1968; Simon 1996)
network The network is a fundamental topology for systems that forms the basis of togetherness, connection, and dynamic interaction of parts that yield the behavior of complex systems (Lawson 2010; Martin et al. 2004; Sillitto 2010)

The principles are not independent. They have synergies and tradeoffs. Lipson (2007), for example, argued that “Scalability of open-ended evolutionary processes depends on their ability to exploit functional modularity, structural regularity and hierarchy.” He proposed a formal model for examining the properties, dependencies, and tradeoffs among these principles. Edson (2008) related many of the above principles in a structure called the conceptagon, which he modified from (Boardman and Sauser 2008), and also provided guidance on how to apply the principles. Not all principles apply to every system or engineering decision. Judgment, experience, and heuristics (see below) help understand which principles apply in a given situation.

Several principles illustrate the relation of view with the dualism and yin yang principle. An important example is the Holism and Separation of Concerns pair of principles. These look contradictory, but they are dual ways of dealing with complexity. Holism deals with complexity by focusing on the whole system, and Separation of Concerns deals with complexity by dividing a problem or system into smaller more manageable elements that focus on particular concerns. They are reconciled by the fact that both views are needed to understand systems and to engineer systems; focusing on only one or the other does not give sufficient understanding or a good overall solution. This dualism is closely related to the Systems Thinking Paradox described in What is Systems Thinking. Rosen (1979) discussed “false dualisms” of systems paradigms that are considered incompatible but are in fact different aspects or views of reality. In the present context, they are thus reconcilable through yin yang harmonization. Edson (2008) emphasized viewpoints as an essential principle of systems thinking and specifically as a way to understand opposing concepts.

Guidance on how to apply many of these principles to engineered systems is given in the article Synthesizing Possible Solutions as well as in System Definition and other knowledge areas in Part 3 of this SEBoK.

Prerequisite Laws of Design Science

John Warfield (1994) identified a set of laws of generic design science that are related to systems principles. Three of these laws are stated here.

  1. ‘’Law of Requisite Variety’’: A design situation embodies a variety that must be matched by the specifications. The variety includes the diversity of stakeholders. This law is an application to design science of the Ashby (1956) Law of Requisite Variety, which was defined in the context of cybernetics and states that to successfully regulate a system, the variety of the regulator must be at least as large as the variety of the regulated system.
  2. ‘’Law of Requisite Parsimony’’: Information must be organized and presented in a way that prevents human information overload. This law derives from Miller’s (1956) findings on the limits of human information processing capacity. Warfield’s structured dialog method is one possible way to help achieve the requisite parsimony.
  3. ‘’Law of Gradation’’: Any conceptual body of knowledge can be graded in stages or varying degrees of complexity and scale, ranging from simplest to most comprehensive, and the degree of knowledge applied to any design situation should match the complexity and scale of the situation. A corollary, called the Law of Diminishing Returns, is that a body of knowledge should be applied to a design situation to the stage at which the point of diminishing returns is reached.

Heuristics and Pragmatic Principles

A heuristic is a common sense rule intended to increase the probability of solving some problem (WordWeb 2012b). In the present context it may be regarded as an informal or pragmatic principle. Maier and Rechtin (2000) identified an extensive set of heuristics that are related to systems principles. A few of these heuristics are stated here, and each is related to principles described above.

  • Relationships among the elements are what give systems their added value. This is related to the ‘’Interaction’’ principle.
  • Efficiency is inversely proportional to universality. This is related to the ‘’Leverage’’ principle.
  • The first line of defense against complexity is simplicity of design. This is related to the ‘’Parsimony’’ principle.
  • In order to understand anything, you must not try to understand everything (attributed to Aristotle). This is related to the ‘’Abstraction’’ principle.

An INCOSE working group (INCOSE 1993) defined a set of “pragmatic principles” for Systems Engineering. They are essentially best practice heuristics for engineering a system. A large number of heuristics are given. Three examples:

  • Know the problem, the customer, and the consumer
  • Identify and assess alternatives so as to converge on a solution
  • Maintain the integrity of the system

Systems Patterns

This section first discusses definitions, types, and pervasiveness of patterns. This is followed by samples of basic patterns in the form of hierarchy and network patterns, metapatterns, and systems engineering patterns. Then samples of patterns of failure (or “antipatterns”) are presented in the form of system archetypes, along with antipatterns in software engineering and other fields. Finally, a brief discussion of patterns as maturity indicators is given.

Pattern Definitions and Types

The most general definition of pattern is that it is an expression of an observed regularity. Patterns exist in both natural and artificial systems, and are used in both systems science and systems engineering. Theories in science are patterns. Building architecture styles are patterns. Engineering uses patterns extensively.

Patterns are a representation of similarities in a set or class of problems, solutions, or systems. In addition, some patterns can also represent uniqueness or differences, e.g., uniqueness pattern: unique identifier, such as automobile vehicle identification number (VIN), serial number on a consumer product, human fingerprints, DNA. The pattern is that a unique identifier, common to all instances in a class (such as fingerprint), distinguishes between all instances in that class.

The term pattern has been used primarily in building architecture and urban planning by Alexander (Alexander et al. 1977, Alexander 1979) and in software engineering (e.g., Gamma et al. 1995; Buschmann et al. 1996). Their definitions portray a pattern as capturing design ideas as an archetypal and reusable description. A design pattern provides a generalized solution in the form of templates to a commonly occurring real-world problem within a given context. A design pattern is not a finished design that can be transformed directly into a specific solution. It is a description or template for how to solve a problem that can be used in many different specific situations (Gamma et al. 1995; Wikipedia 2012b). Alexander placed significant emphasis on the pattern role of reconciling and resolving competing forces, which is an important application of the yin yang principle.

Other examples of general patterns in both natural and engineered systems include conventional designs in engineering handbooks, complex system models such as evolution and predator-prey models that apply to multiple application domains, domain taxonomies, architecture frameworks, standards, templates, architecture styles, reference architectures, product lines, abstract data types, and classes in class hierarchies (Hybertson 2009). Shaw and Garlan (1996) used the terms pattern and style interchangeably in discussing software architecture. Lehmann and Belady (1985) examined a set of engineered software systems and tracked their change over time, and observed regularities that they captured as evolution laws or patterns.

Patterns have been combined with model-based systems engineering (MBSE) to lead to pattern-based systems engineering (PBSE) (Schindel and Smith 2002, Schindel 2005).

Patterns also exist in systems practice, both science and engineering. At the highest level, Gregory (1966) defined science and design as behavior patterns: “The scientific method is a pattern of problem-solving behaviour employed in finding out the nature of what exists, whereas the design method is a pattern of behaviour employed in inventing things of value which do not yet exist.”

Regularities exist not only as positive solutions to recurring problems, but also as patterns of failure, i.e., as commonly attempted solutions that consistently fail to solve recurring problems. In software engineering these are called antipatterns, originally coined and defined by Koenig (1995): An antipattern is just like a pattern, except that instead of a solution it gives something that looks superficially like a solution but isn’t one. Koenig’s rationale was that if one does not know how to solve a problem, it may nevertheless be useful to know about likely blind alleys. Antipatterns may include patterns of pathologies (i.e., common diseases), common impairment of normal functioning, and basic recurring problematic situations. These antipatterns can be used to help identify the root cause of a problem and eventually lead to solution patterns. The concept was expanded beyond software to include project management, organization, and other antipatterns (Brown et al. 1998; AntiPatterns Catalog 2012).

Patterns are grouped in the remainder of this section into basic foundational patterns and antipatterns (or patterns of failure).

Basic Foundational Patterns

The basic patterns in this section consist of a set of hierarchy and network patterns, followed by a set of metapatterns and systems engineering patterns.

Hierarchy and Network Patterns

The first group of patterns are representative types of hierarchy patterns distinguished by the one-to-many relation type (extended from Hybertson 2009, p. 90), as shown in the table below. These are presented first because hierarchy patterns infuse many of the other patterns discussed in this section.

Table 2. Hierarchy Patterns. SEBoK Original.
Relation Hierarchy Type or Pattern
Basic: repeating one-to-many relation General: Tree structure
Part of a whole Composition (or Aggregation) hierarchy
Part of + dualism: Each element in the hierarchy is a holon, i.e., is both a whole that has parts and a part of a larger whole Holarchy (composition hierarchy of holons) (Koestler 1967). Helps recognize similarities across levels in multi-level systems
Part of + interchangeability: The parts are clonons, i.e., interchangeable Composition hierarchy of clonons (Bloom 2005).

Note: This pattern reflects horizontal similarity.

Part of + self-similarity: At each level, the shape or structure of the whole is repeated in the parts, i.e., the hierarchy is self-similar at all scales. Fractal.

Note: This pattern reflects vertical similarity.

Part of + connections or interactions among parts System composition hierarchy
Control of many by one Control hierarchy—e.g., a command structure
Subtype or sub-class Type or specialization hierarchy; a type of commonization
Instance of category Categorization (object-class; model-metamodel…) hierarchy; a type of commonization


Network patterns are of two flavors. First, traditional patterns are network topology types, such as bus (common backbone), ring, star (central hub), tree, and mesh (multiple routes) (ATIS 2008). Second, the relatively young science of networks has been investigating social and other complex patterns, such as percolation, cascades, power law, scale-free, small worlds, semantic networks, and neural networks (Boccara 2004; Neumann et al. 2006).

Metapatterns

The metapatterns identified and defined in the table below are from (Bloom 2005), (Volk and Bloom 2007), and (Kappraff 1991). They describe a metapattern as convergences exhibited in the similar structures of evolved systems across widely separated scales (Volk and Bloom 2007).

Table 3. Metapatterns. SEBoK Original.
Name Brief Definition Examples
Spheres Shape of maximum volume, minimum surface, containment Cell, planet, dome, ecosystem, community
Centers Key components of system stability Prototypes, purpose, causation; DNA, social insect centers, political constitutions and government, attractors.
Tubes Surface transfer, connection, support Networks, lattices, conduits, relations; leaf veins, highways, chains of command.
Binaries plus Minimal and thus efficient system Contrast, duality, reflections, tensions, complementary/symmetrical/reciprocal relationships; two sexes, two-party politics, bifurcating decision process.
Clusters, Clustering Subset of webs, distributed systems of parts with mutual attractions Bird flocks, ungulate herds, children playing, egalitarian social groups
Webs or Networks Parts in relationships within systems (can be centered or clustered, using clonons or holons) Subsystems of cells, organisms, ecosystems, machines, society.
Sheets Transfer surface for matter, energy, or information Films; fish gills, solar collectors
Borders and Pores Protection, openings for controlled exchange Boundaries, containers, partitions; cell membranes, national borders.
Layers Combination of other patterns that builds up order, structure, and stabilization Levels of scale, parts and wholes, packing, proportions, tilings
Similarity Figures of the same shape but different sizes Similar triangles; infant-adult
Emergence General phenomenon when a new type of functionality derives from binaries or webs. Creation (birth); life from molecules, cognition from neurons
Holarchies Levels of webs, in which successive systems are parts of larger systems Biological nesting from biomolecules to ecosystems, human social nesting, engineering designs, computer software
Holons Parts of systems as functionally unique Heart-lungs-liver (holons) of body
Clonons Parts of systems as interchangeable. Skin cells (clonons) of the skin; bricks in constructing a house
Arrows Stability or gradient-like change over time Stages, sequence, orientation, stress, growth, meanders; biological homeostasis, growth, self-maintaining social structures.
Cycles Recurrent patterns in systems over time Alternating repetition, vortex, spiral, turbulence, helices, rotations; protein degradation and synthesis, life cycles, power cycles of electricity generating plants, feedback cycles
Breaks Relatively sudden changes in system behavior Transformation, change, branching, explosion, cracking, translations; cell division, insect metamorphosis, coming-of-age ceremonies, political elections, bifurcation points
Triggers Initiating agents of breaks, both internal and external Sperm entering egg, precipitating events of war.
Gradients Continuum of variation between binary poles Chemical waves in cell development, human quantitative and qualitative values

Systems Engineering Patterns

Some work has been done on various aspects of explicitly applying patterns to systems engineering. A review article of much of this work is by Bagnulo and Addison (2010), covering patterns in general, capability engineering, pattern languages, pattern modelling, and other SE-related pattern topics. Cloutier (2005) discussed applying patterns to SE, based on architecture and software design patterns. Haskins (2005) and Simpson and Simpson (2006) discussed the use of SE pattern languages to enhance the adoption and use of SE patterns. Simpsons identified three high-level, global patterns that can be used as a means of organizing systems patterns:

  1. Anything can be described as a system.
  2. The problem system is always separate from the solution system.
  3. Three systems, at a minimum, are always involved in any system activity: the environmental system, the product system, and the process system.

Haskins (2008) also proposed the use of patterns as a way to facilitate the extension of SE from traditional technological systems to address social and socio-technical systems. Some patterns have been applied and identified in this extended arena, described as patterns of success by Rebovich and DeRosa (2012). Stevens (2010) also discussed patterns in the engineering of large-scale, complex “mega-systems.”

A common systems engineering activity in which patterns are applied is in system design, especially in defining one or more solution options for a system of interest. See Synthesizing Possible Solutions for a discussion. The more specific topic of using patterns (and antipatterns, as described below) to understand and exploit emergence is discussed in the Emergence article.

Patterns of Failure: Antipatterns

System Archetypes

The system dynamics community has developed a collection of what are called system archetypes. The concept was originated by Forrester (1969), while Senge (1990) appears to have introduced the system archetype term. According to Braun (2002), the archetypes describe common patterns of behavior that help answer the question, “Why do we keep seeing the same problems recur over time?” They focus on behavior in organizations and other complex social systems that are repeatedly but unsuccessfully used to solve recurring problems. This is why they are grouped here under antipatterns, even though the system dynamics community does not refer to the archetypes as antipatterns. The table below summarizes the archetypes. There is not a fixed set, or even fixed names for a given archetype. The table shows alternative names for some archetypes. The references coded in Column 3 of the table are: B—Braun 2002; F1—Forrester 1969; F2—Forrester 1995; F3—Forrester 2009; H—Hardin 1968; M—Meadows 1982; S—Senge 1990.

Table 4. System Archetypes. SEBoK Original.
Name (Alternates) Description Reference
Counterintuitive behavior Forrester identified three “especially dangerous” counterintuitive behaviors of social systems, which correspond respectively to three of the archetypes discussed below: (1) Low-Leverage Policies: Ineffective Actions; (2) High Leverage Policies: Often Wrongly Applied; and (3) Long-Term vs. Short-Term Tradeoffs F1, F2
Low-Leverage Policies: Ineffective Actions (Policy Resistance) Most intuitive policy changes in a complex system have very little leverage to create change, because the change causes reactions in other parts of the system that counteract the new policy. F1, F3, M
High Leverage Policies: Often Wrongly Applied (High leverage, Wrong Direction) A system problem is often correctable with a small change, but this high-leverage solution is typically counterintuitive in two ways: First, the leverage point is difficult to find because it is usually far removed in time and place from where the problem appears; and second, if the leverage point is identified, the change is typically made in the wrong direction, thereby intensifying the problem. F1, F3, M
Long-Term vs. Short-Term Tradeoffs (Fixes that Fail; Shifting the Burden; Addiction) Short-term solutions are intuitive, but in complex systems there is nearly always a conflict or tradeoff between short-term and long-term goals. Thus, a quick fix produces immediate positive results, but its unforeseen and unintended long-term consequences worsen the problem. Furthermore, a repeated quick fix approach makes it harder to change to a more fundamental solution approach later. F1, F3, M, S, B
Drift to Low Performance (Eroding Goals; Collapse of Goals) There is a strong tendency for complex system goals to drift downward. A gap between current state and goal state creates pressure to lower the goal rather than taking difficult corrective action to reach the goal. Over time the continually lowered goals lead to crisis and possible collapse of the system. F1, F3, M, B
Official Addiction – Shifting the Burden to the Intervener The ability of a system to maintain itself deteriorates when an intervener provides help and the system then becomes dependent on the intervener M, S
Limits to Growth (aka Limits to Success) A reinforcing process of accelerating growth (or expansion) will encounter a balancing process as the limit of that system is approached; continuing efforts will produce diminishing returns as one approaches the limits. S, B
Balancing Process with Delay Delay in the response of a system to corrective action causes the correcting agent to either over-correct or to give up due to no visible progress. S
Escalation Two systems compete for superiority, with each escalating its competitive actions to get ahead, to the point that both systems are harmed. B
Success to the Successful Growth leads to decline elsewhere; When two equally capable systems compete for a limited resource, if one system receives more resources, it is more likely to be successful, which results in its receiving even more resources, in a reinforcing loop. S, B
Tragedy of the Commons A shared resource is depleted as each system abuses it for individual gain, ultimately hurting all who share it. H, S, B
Growth and Underinvestment In a situation where capacity investments can overcome limits, if such investments are not made, then growth stalls, which then rationalizes further underinvestment. S, B
Accidental Adversaries Two systems destroy their relationship through escalating retaliations for perceived injuries. B
Attractiveness Principle In situations where a system faces multiple limiting or impeding factors, the tendency is to consider each factor separately to select which one to address first, rather than a strategy based on the interdependencies among the factors. B

Relations among system archetypes were defined by Goodman and Kleiner (1993/1994) and republished in Senge et al. (1994).

Software and Other Antipatterns

Antipatterns have been identified and collected in the software community in areas that include: Architecture, development, project management, user interface, organization, analysis, software design, programming, methodology, and configuration management (AntiPatterns Catalog 2012, Wikibooks 2012). A brief statement of three of them follows; the first two are organization and the third is software design.

  1. Escalation of commitment: Failing to revoke a decision when it proves wrong
  2. Moral hazard: Insulating a decision-maker from the consequences of his or her decision
  3. Big ball of mud: A system with no recognizable structure

A link between the software community and the system archetypes is represented in a project at SEI (2012), which is exploring the system archetypes in the context of identifying recurring software acquisition problems as “acquisition archetypes.” They refer to both types of archetypes as patterns of failure.

Another set of antipatterns in the general systems arena has been compiled by Troncale (2010; 2011) in his systems pathologies project. Sample pathology types or patterns include:

  • Cyberpathologies: systems-level malfunctions in feedback architectures.
  • Nexopathologies: systems-level malfunctions in network architectures or dynamics.
  • Heteropathologies: systems-level malfunctions in hierarchical, modular structure & dynamics.

Some treatments of antipatterns, including Senge (1990) and SEI (2012), also provide some advice on dealing with or preventing the antipattern. Such guidance is a step toward patterns.

Patterns and Maturity

Patterns may be used as an indicator of the maturity of a domain of inquiry, such as systems science or systems engineering. In a mature and relatively stable domain, the problems and solutions are generally understood and their similarities are captured in a variety of what are here called patterns. A couple of observations can be made in this regard on the maturity of systems science in support of systems engineering.

In the arenas of physical systems and technical systems, systems science is relatively mature; many system patterns of both natural physical systems and engineered technical systems are reasonably well defined and understood.

In the arena of more complex systems, including social systems, systems science is somewhat less mature. Solution patterns in that arena are more challenging. A pessimistic view of the possibility of science developing solutions to social problems was expressed by Rittel and Webber (1973) in their classic paper on wicked problems: “The search for scientific bases for confronting problems of social policy is bound to fail, because … they are ‘wicked’ problems, whereas science has developed to deal with ‘tame’ problems.” A more optimistic stance toward social problems has characterized the system dynamics community. They have been pointing out for over 40 years the problems with conventional solutions to social problems, in the form of the system archetypes and associated feedback loop models. That was an important first step. Nevertheless, they have had difficulty achieving the second step: producing social patterns that can be applied to solve those problems. The antipatterns characterize problems, but the patterns for solving those problems are elusive.

Despite the difficulties, however, social systems do exhibit regularities, and social problems are often solved to some degree. The social sciences and complex systems community have limited sets of patterns, such as common types of organization structures, common macro-economic models, and even patterns of insurgency and counter-insurgency. The challenge for systems science is to capture those regularities and the salient features of those solutions more broadly, and make them explicit and available in the form of mature patterns. Then perhaps social problems can be solved on a more regular basis. As systems engineering expands its scope from the traditional emphasis on technical aspects of systems to the interplay of the social and technical aspects of socio-technical systems, such progress in systems science is becoming even more important to the practice of systems engineering.

References

Works Cited

Ackoff, R. 1979. The Future of Operational Research is Past, J. Opl. Res. Soc., 30(2): 93–104, Pergamon Press.

Alexander, C. 1979. The Timeless Way of Building. New York: Oxford University Press.

Alexander, C., S. Ishikawa, M. Silverstein, M. Jacobson, I. Fiksdahl-King, and S. Angel. 1977. A Pattern Language: Towns – Buildings – Construction. New York: Oxford University Press.

AntiPatterns Catalog. 2012. http://c2.com/cgi/wiki?AntiPatternsCatalog.

Ashby, W.R. 1956. Requisite variety and its implications for the control of complex systems, Cybernetica, 1(2):1–17.

ATIS. 2008. ATIS Telecom Glossary 2007. Washington, D.C.: Alliance for Telecommunications Industry Solutions. http://www.atis.org/glossary/definition.aspx?id=3516.

Bagnulo, A. and Addison, T. 2010. State of the Art Report on Patterns in Systems Engineering and Capability Engineering. Contract Report 2010-012 by CGI Group for Defence R&D Canada – Valcartier. March 2010.

Bertalanffy, L. von. 1968. General System Theory: Foundations, Development, Applications. Revised ed. New York, NY: Braziller.

Bertalanffy, L. von. 1975. Perspectives on General System Theory. E. Taschdjian, ed. New York: George Braziller.

Bloom, J. 2005. The application of chaos, complexity, and emergent (meta)patterns to research in teacher education. Proceedings of the 2004 Complexity Science and Educational Research Conference (pp. 155-191), Sep 30–Oct 3 • Chaffey’s Locks, Canada. http://www.complexityandeducation.ca.

Boardman, J. and B. Sauser. 2008. Systems Thinking: Coping with 21st Century Problems. Boca Raton, FL: Taylor & Francis.

Boccara, N. 2004. Modeling Complex Systems. New York: Springer-Verlag.

Braun, T. 2002. The System Archetypes. www.uni-klu.ac.at/~gossimit/pap/sd/wb_sysarch.pdf.

Brown, W., R. Malveau, H. " McCormick, and T. Mowbray. 1998. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley & Sons.

Buschmann, F., R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. 1996. Pattern-Oriented Software Architecture: A System of Patterns. Chichester, U.K.: John Wiley.

Cloutier, R. 2005. Toward the Application of Patterns to Systems Engineering. Proceedings CSER 2005, March 23-25, Hoboken, NJ, USA.

Cybernetics (Web Dictionary of Cybernetics and Systems). 2012. Principle of Parsimony or Principle of Simplicity. http://pespmc1.vub.ac.be/ASC/PRINCI_SIMPL.html

Edson, R. 2008. Systems Thinking. Applied. A Primer. Arlington, VA, USA: Applied Systems Thinking (ASysT) Institute, Analytic Services Inc.

Erl, T. 2012. SOA Principles: An Introduction to the Service Orientation Paradigm. http://www.soaprinciples.com/p3.php

Flood, R. L., and E.R. Carson. 1993. Dealing with Complexity: An Introduction to the Theory and Application of Systems Science, 2nd ed. New York, NY, USA: Plenum Press.

Forrester, J. 1969. Urban Dynamics. Waltham, MA: Pegasus Communications.

Forrester, J. 1995. Counterintuitive Behavior of Social Systems. http://constitution.org/ps/cbss.pdf. Update of original paper in Technology Review, Vol. 73, No. 3, Jan. 1971, pp. 52-68.

Forrester, J. 2009. Learning through System Dynamics as Preparation for the 21st Century. http://www.clexchange.com/ftp/documents/whyk12sd/Y_2009-02LearningThroughSD.pdf

Fuller, B. (1975) Synergetics, 876 pp. New York, USA: MacMillan. http://www.rwgrayprojects.com/synergetics/synergetics.html.

Gamma, E., R. Helm, R. Johnson, and J. Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley.

Goodman, G. and A. Kleiner. 1993/1994. “Using the Archetype Family Tree as a Diagnostic Tool”, The Systems Thinker, December 1993/January 1994.

Greer, D. 2008. The Art of Separation of Concerns. http://aspiringcraftsman.com/tag/separation-of-concerns/

Gregory, S. 1966. Design and the design method, in S. Gregory (ed.). The Design Method. London: Butterworth.

Griswold, W. 1995. Modularity Principle. http://cseweb.ucsd.edu/users/wgg/CSE131B/Design/node1.html

Hardin, G. 1968. The Tragedy of the Commons. Science 162 (13 December 1968) 1243-1248. DOI: 10.1126/science.162.3859.1243.

Haskins, C. 2005. Application of Patterns and Pattern Languages to Systems Engineering. Proceedings of the INCOSE 15th Annual Int. Symp. Rochester, NY, July 10-13, 2005.

Haskins, C. 2008. Using patterns to transition systems engineering from a technological to social context. Systems Engineering, v. 11, no.2, May 2008, pp. 147-155.

Hitchins, D. 2009. "What are the General Principles Applicable to Systems?" INCOSE Insight. 12(4): 59-63.

Hoagland, M., B. Dodson, and J. Mauck. 2001. Exploring the Way Life Works. Jones and Bartlett Publishers, Inc.

Holland, J. 1992. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. Cambridge, MA: MIT Press.

Hybertson, D. 2009. Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems. Auerbach/CRC Press, Boca Raton, FL.

IEEE. 1990. IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990, IEEE, September 1990.

IEP (Internet Encyclopedia of Philosophy). 2006. Yinyang (Yin-yang). http://www.iep.utm.edu/yinyang/

INCOSE 1993. An Identification of Pragmatic Principles -Final Report. SE Principles Working Group, January 21, 1993. http://www.incose.org/productspubs/pdf/techdata/pitc/principlespragmaticdefoe_1993-0123_prinwg.pdf

Kappraff, J. (1991). Connections: The geometric bridge between art and science. New York: McGraw-Hill.

Klerer, S. “System Management Information Modeling,” IEEE Comm, Vol 31:No 5, May 1993, pp 38-44.

Klir, G. 2001. Facets of Systems Science, 2nd ed. New York: Kluwer Academic/Plenum Publishers.

Koenig, A. (March/April 1995). "Patterns and Antipatterns". Journal of Object-Oriented Programming 8, (1): 46–48.

Koestler, A. 1967. The Ghost in the Machine. New York: Macmillan.

Lawson, H. 2010. A Journey Through the Systems Landscape. London, UK: College Publications, Kings College, UK.

Lawson, H. and J. Martin. 2008. On the Use of Concepts and Principles for Improving Systems Engineering Practice. INCOSE International Symposium 2008, The Netherlands.

Lehmann, M. and L. Belady. 1985. Program Evolution. London: Academic Press.

Lipson, H. 2007. Principles of modularity, regularity, and hierarchy for scalable systems. Journal of Biological Physics and Chemistry 7, 125–128.

Maier, M. and E. Rechtin. 2000. The Art of Systems Architecting, 2nd ed. Boca Raton, FL: CRC Press.

Martin, R., E. Robertson, and J. Springer. 2004. Architectural Principles for Enterprise Frameworks. Technical Report No. 594, Indiana University, April 2004. http://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR594.

Meadows, D. 1982. Whole Earth Models and Systems. The Co-Evolution Quarterly, Summer 1982, pp. 98-108. http://www.oss.net/dynamaster/file_archive/040324/48c97c243f534eee32d379e69b039289/WER-INFO-73.pdf.

Miller, G. 1956. The magical number seven, plus or minus two: some limits on our capacity for processing information. The Psychological Review, 63, 81–97.

Newman, M., A.-L. Barabási, and D.J. Watts. 2006. The Structure and Dynamics of Networks. Princeton, NJ: Princeton University Press.

Odum, H.1994. Ecological and General Systems: An Introduction to Systems Ecology (Revised Edition). University Press of Colorado.

Pattee, H. (ed.) 1973. Hierarchy Theory: The Challenge of Complex Systems. New York: George Braziller.

Pearce, J. 2012. The Abstraction Principle. http://www.cs.sjsu.edu/~pearce/modules/lectures/ood/principles/Abstraction.htm [Posting date unknown; accessed June 2012.]

Rebovich, G. and J. DeRosa 2012. Patterns of Success in Systems Engineering of IT-Intensive Government Systems. Procedia Computer Science 8 (2012) 303 – 308.

Rittel, H. and M. Webber. 1973. Dilemmas in a general theory of planning. Policy Sciences, 4:155–169. http://www.uctc.net/mwebber/Rittel+Webber+Dilemmas+General_Theory_of_Planning.pdf.

Rosen, R. 1979. Old trends and new trends in general systems research. Int. J. of General Systems 5(3): 173-184. [Reprinted in Klir 2001]

Schindel, W. 2005. Pattern-based systems engineering: An extension of model-based systems engineering. INCOSE TIES tutorial presented at 2005 INCOSE Symposium.

Schindel, W. and V. Smith. 2002. Results of applying a families-of-systems approach to systems engineering of product line families. Technical Report 2002-01-3086. SAE International.

Sci-Tech Encyclopedia. 2009. Abstract Data Type. McGraw-Hill Concise Encyclopedia of Science and Technology, Sixth Edition, The McGraw-Hill Companies, Inc. http://www.answers.com/topic/abstract-data-type.

SearchCIO. 2012. Abstraction. http://searchcio-midmarket.techtarget.com/definition/abstraction

SEI 2012. Patterns of Failure: System Archetypes. http://www.sei.cmu.edu/acquisition/research/pofsa.cfm

Senge, P. 1990. The Fifth Discipline: Discipline: The Art and Practice of the Learning Organization. New York: Currency Doubleday.

Senge, P., A. Kleiner, C. Roberts and R. Ross. 1994. The Fifth Discipline Fieldbook: Strategies and Tools for Building a Learning Organization. New York: Currency Doubleday.

Shaw, M. and D. Garlan. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall.

Sillitto, H. 2010. Design principles for Ultra-Large-Scale (ULS) Systems. Proceedings of INCOSE International Symposium 2010, Chicago, Ill.

Simon, H. 1996. The Sciences of the Artificial, 3rd ed. Cambridge, MA: MIT Press.

Simpson, J. and M. Simpson. 2006. Foundational Systems Engineering Patterns for a SE Pattern Language. Proc. 16th Annual INCOSE Symposium, Orlando, FL July, 2006.

Stevens, R. 2011. Engineering Mega-Systems: The Challenge of Systems Engineering in the Information Age. Boca Raton, FL: Auerbach/Taylor & Francis.

Troncale, L. 2010. Would a Rigorous Knowledge Base in “Systems Pathology” Add to the S.E. Portfolio? Presented at 2010 LA Mini-Conference, 16 October 2010, Loyola Marymount University, Los Angeles, CA. http://www.incose-la.org/documents/events/conferences/mini/2010/presentations/Troncale.pdf.

Troncale, L. 2011. “Would A Rigorous Knowledge Base in Systems Pathology Add Significantly to the SE Portfolio,” CSER’11 Proceedings, Conference on Systems Engineering Research, April 14-16, Redondo Beach, Ca.

Volk, T., & Bloom, J. W. (2007). The use of metapatterns for research into complex systems of teaching, learning, and schooling. Part I: Metapatterns in nature and culture. Complicity: An International Journal of Complexity and Education, 4(1), 25—43 (http://www.complexityandeducation.ualberta.ca/COMPLICITY4/documents/Complicity_41d_Volk_Bloom.pdf).

Warfield, J.N. 1994. A Science of Generic Design. Ames, IA: Iowa State University Press.

Wikibooks. 2012. AntiPatterns. http://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Architecture/Anti-Patterns.

Wikipedia. 2012a. Modularity. http://en.wikipedia.org/wiki/Modularity

Wikipedia. 2012b. Software design pattern. http://en.wikipedia.org/wiki/Software_design_pattern

WordWeb. 2012a. Dualism. http://www.wordwebonline.com/en/DUALISM.

WordWeb. 2012b. Heuristic. http://www.wordwebonline.com/en/HEURISTIC.

WordWeb. 2012c. Principle. http://www.wordwebonline.com/en/PRINCIPLE.

Primary References

Alexander, C. 1979. The Timeless Way of Building. New York: Oxford University Press.

Bertalanffy, L. von. 1968. General System Theory: Foundations, Development, Applications. Revised ed. New York, NY: Braziller.

Bloom, J. 2005. The application of chaos, complexity, and emergent (meta)patterns to research in teacher education. Proceedings of the 2004 Complexity Science and Educational Research Conference (pp. 155-191), Sep 30–Oct 3 • Chaffey’s Locks, Canada. http://www.complexityandeducation.ca.

Hybertson, D. 2009. Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems. Auerbach/CRC Press, Boca Raton, FL.

Klir, G. 2001. Facets of Systems Science, 2nd ed. New York: Kluwer Academic/Plenum Publishers.

Additional References

Cybernetics and Systems Theory. http://pespmc1.vub.ac.be/CYBSYSTH.html

Erl, T. 2009. SOA: Design Patterns. Prentice Hall.

Erl, T. 2008. SOA: Principles of Service Design. Prentice Hall.

Francois, F. (ed.). 2004. International Encyclopedia of Systems and Cybernetics, 2nd ed. K. G. Saur.

Meyers, R. (ed.). 2009. Encyclopedia of Complexity and Systems Science (10 vol. set). Springer.

Midgley, G. (ed.). 2003. Systems Thinking (4 Vol. Set). Sage Publications Ltd.

Web Dictionary of Cybernetics and Systems. http://pespmc1.vub.ac.be/ASC/indexASC.html


< Previous Article | Parent Article | Next Article >
SEBoK v. 1.9.1 released 30 September 2018

SEBoK Discussion

Please provide your comments and feedback on the SEBoK below. You will need to log in to DISQUS using an existing account (e.g. Yahoo, Google, Facebook, Twitter, etc.) or create a DISQUS account. Simply type your comment in the text field below and DISQUS will guide you through the login or registration steps. Feedback will be archived and used for future updates to the SEBoK. If you provided a comment that is no longer listed, that comment has been adjudicated. You can view adjudication for comments submitted prior to SEBoK v. 1.0 at SEBoK Review and Adjudication. Later comments are addressed and changes are summarized in the Letter from the Editor and Acknowledgements and Release History.

If you would like to provide edits on this article, recommend new content, or make comments on the SEBoK as a whole, please see the SEBoK Sandbox.

blog comments powered by Disqus