User Tools

Site Tools


emergence

This is an old revision of the document!


Emergence

What?

“Emergence” is defined in terms that seem at first to dance around rhetorical redundancy. Aristotle (384–322 BC) is recognized as the first to describe emergence :

On Aristotle’s view, human beings, like other “secondary” substances, arise from a distinctive 
arrangement of the four material elements. While the mental powers of human beings require and 
are necessitated by such an arrangement, these powers are distinct from, and downwardly causally 
efficacious with respect to, any non-mental powers.

Let's bring this wording forward about 2300 years. Consider a system composed of elemental parts. The elemental parts are considered to be well-known in their properties and interactions. As this complex system increases in complexity, the total system can be observed to exhibit additional behaviors, which are unique and distinct from the total properties exhibited by the elemental components. Furthermore, the newly exhibited behaviour of the complex system cannot be explained through any logical examination of the component elements. The new behaviour has “emerged” from the expanded complexity of the system of elemental components.

Darwin used the idea of emergence to describe new behaviours of living beings that, although possibly explained by evolutionary incremental response to the being's external environment, nevertheless exhibited behaviour to adapt that could not have been predicted in any logical way from analysis of the preceeding environment and changes.

Emergent Technology

We technologists, especially of the software engineering kind, discuss emergence most often in context of SystemArchitecture (and EnterpriseArchitecture). Our systems are built of components, often independent services, which we have created to have very specific, Mathematically complete, API's. Functions of those API, their methods, which we call “behaviour”. This system grows in complexity as we add other component-service to it, accomplishing more and greater processes. At some point, as we continue to observe the operation of this system in real-time, we begin to observe interactions of the system with client-callers that are beyond the original definition of the system nor any of it's component-services. This behaviour has emerged by it's complex composition, exhibiting a behaviour that previously was not predicted. Most often, this new behaviour is often surprising and could not have been predicted by any logical analysis of the component-services and their API functions.

Emergent //Code//

The code we write, within a single library, or _application_,

CleanCode version

MonkeysAtKeyboards

Embrace

emergence.1620530567.txt.gz · Last modified: 2021/05/08 23:22 by 127.0.0.1