Difference between revisions of "Patterns of Systems Thinking"
Line 253: | Line 253: | ||
==References== | ==References== | ||
===Works Cited=== | ===Works Cited=== | ||
− | |||
− | |||
Alexander, C. 1979. ''[[The Timeless Way of Building]]''. New York: Oxford University Press. | Alexander, C. 1979. ''[[The Timeless Way of Building]]''. New York: Oxford University Press. | ||
Line 260: | Line 258: | ||
AntiPatterns Catalog. 2012. http://c2.com/cgi/wiki?AntiPatternsCatalog. | AntiPatterns Catalog. 2012. http://c2.com/cgi/wiki?AntiPatternsCatalog. | ||
− | |||
− | |||
ATIS. 2008. ''ATIS Telecom Glossary 2007''. Washington, D.C.: Alliance for Telecommunications Industry Solutions. http://www.atis.org/glossary/definition.aspx?id=3516. | 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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
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. | 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. | ||
− | |||
− | |||
Boccara, N. 2004. ''Modeling Complex Systems''. New York: Springer-Verlag. | Boccara, N. 2004. ''Modeling Complex Systems''. New York: Springer-Verlag. | ||
Line 284: | Line 274: | ||
Cloutier, R. 2005. Toward the Application of Patterns to Systems Engineering. ''Proceedings CSER 2005'', March 23-25, Hoboken, NJ, USA. | Cloutier, R. 2005. Toward the Application of Patterns to Systems Engineering. ''Proceedings CSER 2005'', March 23-25, Hoboken, NJ, USA. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Forrester, J. 1969. ''Urban Dynamics''. Waltham, MA: Pegasus Communications. | Forrester, J. 1969. ''Urban Dynamics''. Waltham, MA: Pegasus Communications. | ||
Line 298: | Line 280: | ||
Forrester, J. 2009. Learning through System Dynamics as Preparation for the 21st Century. http://www.clexchange.com/ftp/documents/whyk12sd/Y_2009-02LearningThroughSD.pdf | Forrester, J. 2009. Learning through System Dynamics as Preparation for the 21st Century. http://www.clexchange.com/ftp/documents/whyk12sd/Y_2009-02LearningThroughSD.pdf | ||
− | |||
− | |||
Gamma, E., R. Helm, R. Johnson, and J. Vlissides. 1995. ''Design Patterns: Elements of Reusable Object-Oriented Software''. Reading, MA: Addison-Wesley. | 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. | Goodman, G. and A. Kleiner. 1993/1994. “Using the Archetype Family Tree as a Diagnostic Tool”, ''The Systems Thinker'', December 1993/January 1994. | ||
− | |||
− | |||
Gregory, S. 1966. Design and the design method, in S. Gregory (ed.). ''The Design Method''. London: Butterworth. | Gregory, S. 1966. Design and the design method, in S. Gregory (ed.). ''The Design Method''. London: Butterworth. | ||
− | |||
− | |||
Hardin, G. 1968. The Tragedy of the Commons. Science 162 (13 December 1968) 1243-1248. DOI: 10.1126/science.162.3859.1243. | Hardin, G. 1968. The Tragedy of the Commons. Science 162 (13 December 1968) 1243-1248. DOI: 10.1126/science.162.3859.1243. | ||
Line 316: | Line 292: | ||
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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Hybertson, D. 2009. ''[[Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems]]''. Auerbach/CRC Press, Boca Raton, FL. | Hybertson, D. 2009. ''[[Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems]]''. Auerbach/CRC Press, Boca Raton, FL. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Kappraff, J. (1991). ''Connections: The geometric bridge between art and science''. New York: McGraw-Hill. | Kappraff, J. (1991). ''Connections: The geometric bridge between art and science''. New York: McGraw-Hill. | ||
− | |||
− | |||
− | |||
− | |||
Koenig, A. (March/April 1995). "Patterns and Antipatterns". ''Journal of Object-Oriented Programming'' 8, (1): 46–48. | 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. | Koestler, A. 1967. ''The Ghost in the Machine''. New York: Macmillan. | ||
− | |||
− | |||
− | |||
− | |||
Lehmann, M. and L. Belady. 1985. ''Program Evolution''. London: Academic Press. | Lehmann, M. and L. Belady. 1985. ''Program Evolution''. London: Academic Press. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
Odum, H.1994. Ecological and General Systems: An Introduction to Systems Ecology (Revised Edition). University Press of Colorado. | Odum, H.1994. Ecological and General Systems: An Introduction to Systems Ecology (Revised Edition). University Press of Colorado. | ||
− | |||
− | |||
− | |||
− | |||
Rebovich, G. and J. DeRosa 2012. Patterns of Success in Systems Engineering of IT-Intensive Government Systems. ''Procedia Computer Science'' 8 (2012) 303 – 308. | 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. | 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. | ||
− | |||
− | |||
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. | ||
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. | 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. | ||
− | |||
− | |||
− | |||
− | |||
SEI 2012. Patterns of Failure: System Archetypes. http://www.sei.cmu.edu/acquisition/research/pofsa.cfm | SEI 2012. Patterns of Failure: System Archetypes. http://www.sei.cmu.edu/acquisition/research/pofsa.cfm | ||
Line 386: | Line 322: | ||
Shaw, M. and D. Garlan. 1996. ''Software Architecture: Perspectives on an Emerging Discipline''. Prentice Hall. | Shaw, M. and D. Garlan. 1996. ''Software Architecture: Perspectives on an Emerging Discipline''. Prentice Hall. | ||
− | |||
− | |||
− | |||
− | |||
Simpson, J. and M. Simpson. 2006. Foundational Systems Engineering Patterns for a SE Pattern Language. ''Proc. 16th Annual INCOSE Symposium'', Orlando, FL July, 2006. | Simpson, J. and M. Simpson. 2006. Foundational Systems Engineering Patterns for a SE Pattern Language. ''Proc. 16th Annual INCOSE Symposium'', Orlando, FL July, 2006. | ||
Line 400: | Line 332: | ||
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). | 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). | ||
− | |||
− | |||
Wikibooks. 2012. AntiPatterns. http://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Architecture/Anti-Patterns. | Wikibooks. 2012. AntiPatterns. http://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Architecture/Anti-Patterns. | ||
− | |||
− | |||
Wikipedia. 2012b. Software design pattern. http://en.wikipedia.org/wiki/Software_design_pattern | Wikipedia. 2012b. Software design pattern. http://en.wikipedia.org/wiki/Software_design_pattern | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Primary References=== | ===Primary References=== | ||
Line 423: | Line 345: | ||
Hybertson, D. 2009. ''[[Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems]]''. Auerbach/CRC Press, Boca Raton, FL. | Hybertson, D. 2009. ''[[Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems]]''. Auerbach/CRC Press, Boca Raton, FL. | ||
− | |||
− | |||
===Additional References=== | ===Additional References=== |
Revision as of 19:06, 6 August 2012
This article forms part of the Systems Thinking Knowledge Area. It identifies systems systems patterns as part of the basic ideas of Systems Thinking. The general idea of patterns and a number of examples are described. A brief conclusion discusses the maturity of systems science from the perspective of principles and patterns.
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.
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).
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:
- Anything can be described as a system.
- The problem system is always separate from the solution system.
- 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.
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.
- Escalation of commitment: Failing to revoke a decision when it proves wrong
- Moral hazard: Insulating a decision-maker from the consequences of his or her decision
- 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
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.
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.
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.
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.
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
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.
Gregory, S. 1966. Design and the design method, in S. Gregory (ed.). The Design Method. London: Butterworth.
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.
Hybertson, D. 2009. Model-Oriented Systems Engineering Science: A Unifying Framework for Traditional and Complex Systems. Auerbach/CRC Press, Boca Raton, FL.
Kappraff, J. (1991). Connections: The geometric bridge between art and science. New York: McGraw-Hill.
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.
Lehmann, M. and L. Belady. 1985. Program Evolution. London: Academic Press.
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.
Odum, H.1994. Ecological and General Systems: An Introduction to Systems Ecology (Revised Edition). University Press of Colorado.
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.
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.
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.
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).
Wikibooks. 2012. AntiPatterns. http://en.wikibooks.org/wiki/Introduction_to_Software_Engineering/Architecture/Anti-Patterns.
Wikipedia. 2012b. Software design pattern. http://en.wikipedia.org/wiki/Software_design_pattern
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.
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
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