'''Pattern Name:''' ModelYourSelf '''Aliases:''' Self-Inspection, Check Your Pulse, Feel Your Forehead '''Context:''' Probably no-one knows the whole system. Localized concerns dominate normal functions. '''Problem:''' Normal system functions are impaired. '''Forces:''' System functions have finally reached a level of complexity that produces unexpected results. Anomalies occurred only infrequently in the past but were dealt with on a case-by-case basis. '''Solution:''' Create a model of all the know sub-systems in the whole system. Trace the flows of interaction between the parts. Establish an audit trail and performance metrics that reveal the details of operations such that breakdowns in key procedures and relationships are clearly identified. Adjust internal structure and function as necessary. '''Resulting Context:''' Management of normal functions are made smoother, and exceptional cases can considered in the scope of the entire system. Adjustments can be made that take advantage of the new centralized knowledge of the system. '''Design Rationale:''' When systems exceed certain thesholds of complexity, chaotic behaviors sometimes emerge even though "nothing has changed." This is because sensitivity to conditions in complex systems is very high. If stabilizing elements of the system do not limit the state space of the system, then the interactions and combinations of conditions become impossible to manage. Building a model of one's self may not completely reflect one's true inner state, but it yields useful information that can be used to restructure relationships and interactions that have become chaotic or imbalanced. '''Examples:''' Charter or Constitution (models of organizations or legal systems), Cultural Mythologies and Cosmologies (models of the psyche) Business Model, Enterprise Model '''Related Patterns:''' ModelYourEnvironment Written by DavidCymbala ---- Sticking with biological metaphor, is not having such a model of a system's inner state one of the things that gave organisms with a nervous system that could sense pain (among other things) a leg up on ones w/o one? Nervous systems are handy for modelling the environment too, of course. Sometimes I think I've been studying reflection too long :-). A dynamically accessible/changeable model of yourself a hallmark of reflective architectures. -- BrianFoote ---- ''Check out Marvin Minsky's "Society of Mind" to see a rather in-depth look at societies of agents, and how they model themselves and their environment in a 'reflective' way. -- David''