Residuality Theory, random simulation, and attractor networks (Category Architecture)
I recently read this one. whitepaper Barry O'Reilly, which he wrote at the time. 2022 year. I decided to study this whitepaper after two of the author's talks I've talked about before.
- An Introduction to Residuality Theory
- The Philosophy of Architecture I found his speeches on his resudiality theory interesting and read the paper I want to talk about briefly below.
- Barry came up with a new approach to software architecture that focuses on building systems that can adapt to unforeseen challenges and complexities.
- Previous approaches were mostly based on requirements management and risk management, which were supposed to convert unknown unknowns into something more manageable, but certainly could not.
- The author’s approach includes random simulation as a key component for identifying and solving potential problems in advance.
- Random simulation involves modeling various random stressors to observe patterns and predict potential “residues” or new states arising from those stressors. (Monte Carlo)
- The analysis of stressors goes something like this: engineers identify and analyze random stressors that software may encounter in the intended environment. This helps in the design of systems that can cope with unexpected events or situations.
- Under the influence of various stressors, the system tends to stable states, attractors. Identifying these attractors helps us understand how the system will behave in different environments.
- Hyperliminality is described as an orderly system. (soft) living inside a disordered (business environment). This concept involves understanding the transition from the current state to the new state. (residue) because of the stressor. The author defines hyperliminality coupling as
If two nodes in a network each have a relationship with a third node, then those two nodes are very likely to have a relationship. Therefore, if a stressor in the wider hyperliminal system interacts with two software components, then those two components can be considered coupled. 8 ) If you briefly describe the main statements of the author’s theory, they look like this.
- Enterprise software systems are ordered systems that live in disordered environments - hyperliminal systems.
- These systems will experience stress that they have not been designed for because the disorderedenvironment is by definition unpredictable.
- The system’s future is a function of residue, whatever is left over after it is stressed.
- Barry's architecture is described by Boolean Networks (Kauffman Networks)where there are three parameters of NKP (N is the number of nodes, K is the largest number of node connections in the network, P is bias towards a specific result in signal processing.). Barry's gonna play it on software architecture.
- N - refers to the program component n K describes connections or calls between components P increases when using contracts, schemes, policies, or reducing code complexity (branchage) In fact, these parameters determine which attractors will be on the network and how many will be. To describe all this good you need adjacency matrices for mapping components of the same type among themselves, as well as incidence matrices, which describes the mapping of stressors to components.
- The process of using the approach looks like First you need to design a naive architecture and run a random simulation for it. Next, use incidence matrices to display stressors relative to residues, processes, threads, and software components. It is worth dividing stressors into training and test kits to validate the design process and calculate the residuality index. (Ri).
In general, residuality theory aims to create more sustainable software by anticipating and solving future problems in addition to considering functional requirements.
#Architecture #Software #SystemDesign #Engineering #DistributedSystems