Holarchy preliminary concepts
- 1 Preliminary concepts
- 1.1 Free market
- 1.2 Object-oriented programming
- 1.3 Software design patterns
- 1.4 Production rules
- 1.5 Continuous improvement
- 1.6 Feedback loops
- 1.7 The body schema
- 1.8 Enactment and embodiment
- 1.9 Evolution
- 1.10 Self-organising systems
- 1.11 Memes
This article introduces some preliminary concepts that the rest of the material relates to. Each concept is introduced followed by a short description of how it relates to holarchy.
The free market dynamic, when actually free (i.e. transparent and unmanipulated), permits a harmonious balanced resource allocation system. The most fundamental systemic aspect of a biological organism is its bio-economy. The market dynamic cannot achieve this harmonious potential alone, it needs to be balanced with the integrative behaviour of the shared ontology.
- in the context of organisation, ecosystem and exchange is needed
- knowledge from the edges
Object-Oriented programming (OO) is a paradigm that structures code around abstract entities called objects, encapsulating their data and behaviour. It promotes modularity, code reusability, and a more intuitive representation of real-world concepts, making it a fundamental and widely used approach in software development.
An object has a public interface and a private implementation. All interaction from the outside must occur via the public interface. The implemented within expresses some kind of agency that is responsible for presenting itself through the public interface. The agency can also perform services in its environment which involves organisation within. Examples of such agency are a program execution environment, an API, a large language model (LLM) or a user.
The main distinguishing factor between different types of OOP concerns how the system manages the "packaging" and deployment of commonly used functionality. We refer these packages "classes", and all OO is essentially a different functionality-packaging methodology. We use a class approach called "mixins" which is focused on composition of classes rather than inheritance.
- class is an abstract package of usable knowledge
- instance is the executional flow and scope in accord with patterns
Holons exhibit all of the fundamental aspects of the OOP paradigm and so can be considered as an OO variant. Koestler's fixed-ruled and flexible-strategies are class and instances in a holon. The self-assertive behaviour relates to the local scope, state and execution of an OO object operating according to its purpose. The integrative behaviour in our model extends the concept of classes to include a global evolutionary ecosystem and marketplace of classes and variations.
Software design patterns
Design patterns are tried-and-tested solutions to common software design problems. They represent best practices, not in terms of writing specific lines of code, but in terms of organising object interactions to achieve certain design goals. Think of them as templates or blueprints that can be adapted to individual needs, irrespective of the specific technology or language being used.
For example, consider a scenario where multiple parts of a software system need to be updated when an object's state changes. Instead of hard-coding each of these updates, the "Observer" design pattern suggests a model where objects can "subscribe" to another object's state and get notified of changes, ensuring a decoupled and efficient design.
The beauty of design patterns is that they provide a shared vocabulary for developers. When someone mentions a "Singleton" pattern, it instantly communicates the idea of a class that ensures only one instance of itself can be created, regardless of the specific implementation or language. By leveraging design patterns, developers can avoid reinventing the wheel, instead relying on proven solutions that enhance code modularity, readability, and maintainability.
Design patterns can be thought of as applying OO principles to the OO software development process. The design pattern paradigm within the context if OO can be seen as a reflective process of applying OO to itself, representing the OO ecosystem of patterns and projects as an instance itself. The is what the holarchy is, a kind of singleton instance structure undergoing evolutionary development from within.
The patterns operate hierarchically from the largest scale to the smallest. Local regions are best suited to know what more specific patterns are most appropriate in the own region. This is the same in the instance tree.
The integrative behaviour of the holon is a loosely equivalent concept to design patterns.
The blackboard pattern
This pattern of collaborative organisation is a popular software design pattern called the blackboard pattern which can be explained metaphorically explained as follows.
A group of specialists are seated in a room with a large blackboard. The specialists are working as a team to brainstorm a solution to a problem, using the blackboard as the workplace for cooperatively developing the solution. The session begins when the problem specifications are written onto the blackboard. The specialists all watch the blackboard, looking for an opportunity to apply their expertise to the developing solution. When someone writes something on the blackboard that allows another specialist to apply her expertise, she records her contribution on the blackboard, hopefully enabling other specialists to then apply their expertise. This process of adding contributions to the blackboard continues until the problem has been solved.
A blackboard system enables this flexible brainstorming style of interaction between diverse software specialists. Each of these specialists scans the changes to the blackboard, and posts an updated partial solution based on the state of the blackboard whenever its own internal conditions for doing so are met. These partial solutions cause other knowledge sources to update their portions of the solution on the blackboard until eventually an answer is found. In this fashion, the specialists work together to solve the problem.
The blackboard system is declarative which means all interaction is in terms of the shared space, the organisational methodology itself, such as workflow or queues, does not need to be discussed. The participants are loosely coupled which means that participants don't need to co-ordinate directly with each other, enabling individual independence and flexibility.
Production rules provide a powerful means to represent systems and knowledge. A production rule consists of two essential parts: conditions (or antecedents) and actions (or consequents). These rules follow a simple "if-then" structure, where the "if" part specifies the conditions that need to be met, and the "then" part defines the actions to be taken when those conditions are satisfied.
Rules can be composed into complex work-flow structures, allowing for the expression of complex logical relationships. It is widely used in expert systems, business rules engines, and knowledge-based applications.
Production rules play an important role in automating decision-making processes, enabling systems to make reasoned choices, offer recommendations, and adapt to changing circumstances based on the knowledge encapsulated in these rules.
The control-flow is not referred to by the rules, rather it is entirely determined by the structure of rule composition.
- needs updating for new position in intro
The nature of the four quadrant threads operating together also yields a continuous improvement loop like the PDCA loop. In the PDCA loop the four phases form a definite repeating cycle, whereas in our system the order is more abstract, because all the quadrants are continuous independent threads (all sharing the same instance scope as described above).
But in both cases, the result is an iterative pattern of continuous development, progress or improvement.
Adaptation is also specialisation, and the source of evolutionary change (although we could say the operation phase is the source since that's where the request emerges, but then maybe its the booking of that activity... etc...).
- iterative (standardisation/releases/adaptation)
- ratchet example of increasingly beneficial foundations
- adaptation is the key phase in the cycle (the creation of a new foundation locked in), which depends on virtual instantiation
- software development = production-rule ecosystem development, scrum is an example of a development loop
- the "sides" (ie. process aspect not state "ends") of the feedback loop for our purposes are the objective deterministic side that operates in class-scope and the subjective agentic connection performed in instance-scope. Not active/passive, not TD/BU, all our loops sit half in each scope.
A feedback loop is a fundamental aspect of existence and change. It's a pattern that recurs in different forms across all scales and contexts, from the smallest quantum interactions to the largest cosmic processes.
Feedback loops are a fundamental component for building systems, we just refer to them as "loops" in this document.
In the context of software engineering they're called control loops. and they're a fundamental aspect of virtually all computer programs. Control loops are repeating patterns of control flow phases that allows the program to operate continuously responding to events, resolving problematic conditions and guiding the system towards a more desirable state.
Loops are constituted from two complimentary sides in two different ways. An active side and a receptive side and an initial and derived side. It's the latter that is most important in the context of the holon, because it's the causal flows that we build our systems from.
In our diagrams such as the one to the right, we use red to represent the initial cause and blue to represent the resulting effect derived from it.
Their specific meanings are context dependent, but the loop's sides are always complimentary. Some example are input and output, condition and action, stimulus and response, problem and solution. The loops are iterative with the active side making some kind of change, and the receptive side informing the next action.
The cybernetic loop
The cybernetic loop is one particular form of feedback loop. It represents a dynamic process where a system continuously monitors its output, compares it to a desired target state, and then adjusts its actions to minimise the difference, or error, between the two. This loop is also called a control loop, error-correction loop or negative-feedback loop in some disciplines.
This iterative loop enables systems to self-regulate and maintain stability by making continuous adjustments based on incoming information, ensuring that they remain on course or adapt to changing conditions. From simple thermostat-controlled heating systems to complex AI algorithms, the cybernetic loop plays an essential role in various fields, facilitating effective control, adaptation, and optimisation of processes and systems.
The cybernetic loop can be seen as a generalised continuous version of a production rule. Rather than a simple discrete action in response to an assessed condition, the condition is continuously monitored and incorporates the concept of a target state from which it differs. The action is continuously applied in feedback to reduce this difference.
Loosely-coupled feedback loops
Feedback loops may be tightly coupled loops like the cybernetic loop or other control loops, where the feedback is based directly on the current state, and directly determines a responding action. Tightly coupled loops usually have a linear relationship between their two sides.
Feedback loops can also be loosely coupled, where the initial and derived sides have no direct causal connection with each other. In loosely-coupled loops, the two sides are usually in a non-linear relationship with each other. Their still a causal connection but there's a medium between them.
An interesting consequence of loose coupling is that the two sides can operate in parallel. This is of particular importance in the context of a holon, because feedback loops are central to the system, and they're all loosely-coupled due to the system's basis in the aforementioned Blackboard pattern.
The body schema
Another example of a complex hierarchical version of the cybernetic loop is the mental representation of our own bodies in our minds, called the body schema.
This internal representation and awareness that individuals have of their own bodies, includes their size, shape, position in space, and the relative positions of body parts. It plays a critical role in our ability to perceive and interact with the external world.
At its core, the body schema involves a continuous feedback loop where sensory information from the body, such as proprioception (awareness of body position) and tactile feedback, is constantly processed and compared to a mental representation of the body. This representation is adjusted based on the incoming sensory data to ensure an accurate perception of one's body and its relationship to the environment. This process can be hierarchical, involving multiple levels of abstraction, and it allows us to perform tasks with precision, adapt to changes in our body's state, and navigate the world effectively.
In essence, the body schema embodies a sophisticated form of the cybernetic loop. A holon has an information data structure that operates in this same pattern in accord with the cybernetic loop, but we refer to it in this context simply as the "representation".
The representation includes not only the current state, but also the future (objectives) and the past. The future is incorporated by acting as objectives for how the representation should be, the representation serves as an interface... it is an ontological representation of reality allowing it to be organised. Such representations of reality (the problem domain) are called declarative knowledge.
It's a lot easier to make the connection between the body-schema and the holon representation when we consider that our body-schema extends beyond our bodies in the form of tools and technology. And even beyond that into the wider culture and society as our values and property become part of our body-schema control structure.
Enactment and embodiment
Enaction, in the context of cognitive science, is the perspective that cognition arises through a dynamic interaction between an organism and its environment. This perspective is closely linked to the idea of embodied cognition, which asserts that cognitive processes are deeply rooted in the body's interactions with its environment.
Instead, enaction emphasises the role of the body in shaping the mind and argues that cognition is fundamentally embodied, meaning cognitive processes are deeply influenced by the body's interactions with its perceived world. Enaction theory suggests that an organism's perception and understanding of the world are actively constructed through the cybernetic loop.
Evolution can be boiled down to an extremely simple dynamic in its general form. David Deutsch describes it as "the creation of knowledge through alternating variation and selection".
Human culture is evolutionary knowledge. It depends on, builds on, and consists of, other knowledge, and is always evolving in diversity and complexity. Knowledge and evolution go hand-in-hand, they're interdependent concepts.
The complexity we see in evolutionary systems (such as life) is due to the evolutionary dynamic itself, which tends towards ever more diversity and complexity. But the underlying dynamic responsible for all this complexity remains unchanged.
The nature of knowledge is to evolve in diversity and complexity. It's not just inert information, it's a dynamic process involving subjective values and application within diverse conditions.
Our genes, our culture, our society and our own minds are all structures of evolutionary knowledge, even though their media and selection mechanisms differ.
This evolutionary knowledge aspect of evolution is a class-instance system which we call the objective aspect. The selection and creation of variations takes place in an execution or cognition context which we call the subjective aspect of the holon.
- self-organising system, tangled-hierarchy, both sides co-evolve in complexity together
The concept of a meme was coined by Richard Dawkins in his 1976 book "The Selfish Gene". It refers to an idea, behaviour, or cultural element that spreads and replicates through imitation and cultural transmission. Just as genes carry biological information, memes carry cultural information, evolving and propagating as they're passed from one individual or generation to another. Memes can encompass a wide range of cultural phenomena, including customs, rituals, fashion trends, catchphrases, and more, playing a crucial role in the evolution of human culture and society. As we've seen in recent years, the internet has allowed memes to spread and evolve much more rapidly, and AI promises to multiply this still more.
Memes are a very similar concept to our idea of a representation (in the body-schema sense) within a holon which is effectively a "behaviour package" (a rule-set). Adaptation and evolution are enabled by all instances of the same class form a community which aggregates metadata about the packages and is automatically shared.
The network of all memes taken as a whole is the culture and is analogous to the ontology of all classes in our system.
This is the same as molecules, proteins and cells that make up an organism all being in flux around form determined by the organism's DNA. Likewise, our own mental cognitive symbols are in flux around forms within the collective unconscious.
- This concept diverges from traditional views of cognition that treat the brain as a mere information-processing unit, isolated from the world.
- Even those four categories have common roots in the same structure.