This article was originally posted in 2020 on the OpenSignals website, which is now defunct.
When designing observability and controllability interfaces for systems of services, or any system, it is essential to consider how it connects the operator to the operational domain regarding the information content, structure, and visual forms. What representation is most effective in the immediate grounding of an operator within a situation? How efficiently and accurately can the information be communicated, playing to perceptual and cognitive strengths? Here is where situational awareness plays a critical part.
While an abstraction hierarchy consists of multiple layers, it relates to the same operational domain, like situational awareness or service level management. A new model of terms, concepts, and relations is introduced at each layer. An observer of such a hierarchically organized system can decide which particular layer of information and interaction is most suitable for the task (or goal) based on their expertise and knowledge of the system. Layers in the abstraction hierarchy regulate lower layers through constraints and conditions, whereas lower layers stimulate state changes in higher layers.
An operator increases their understanding of the system by crossing the layered boundaries. Moving from bottom to top, the operator obtains a greater awareness of what is significant in terms of the system’s functioning and goals—in contrast, moving from top to bottom, a more detailed explanation and exploration of how a system brings about higher layers’ goals and plans – dynamics surface at the top and data at the bottom. There must be some traceability and relatability in moving in either direction.
Stimulus to Signal
In thinking about a layer, several internal processes and functions occur as information flows upwards from a lower layer, passing through before being translated and transformed into something more significant and relevant at a layer above. It starts with some stimulus deemed as a happening, an event, originating within either the environment or a lower layer if one is present. A recurring stimulus becomes a signal. Then, depending on sensitivities, much of the noise is eliminated to prioritize what is signified by signaling.
Following significance, sequence recording, recalling, and recognition synthesize meaningful patterns. It starts with measurement, passes through to the model, and ends with the memory of such. Finally, the new information produced is propagated upwards to the next layer of abstraction in the hierarchy, typically in a far more condensed form that gives utmost attention to changes in patterned or predicated behavior relevant to the means employed in achieving the higher-level goal(s).
With Humainary, a minimum of three layers of abstraction to the hierarchy can be present: referent, signaling, and inference.
The first layer of abstraction pertains to the machine world’s spatial and state aspects, where a stimulus is sensed – the referent layer. Here services (or endpoints) within a distributed system of executing processes are mapped to a model consisting of Context, Environment, Service, and Name elements.
The next layer above, the signaling layer, is where executing instrumented code is transcribed into a series of Signal firings on references within the layer below. In this second layer, code execution’s complicated nature across service boundaries entailing failure, retry, and fallback mechanisms are translated into a standard set of signs. The small collection of signs is akin to the RISC design.
In the last minimum layer, the inference layer, the model is tuned to track registered and signaling services’ Status values.
Like the signaling layer below, this layer allows for event Subscription management. As an Observer moves up layers in the hierarchy, the frequency of events emittance is reduced. The meaning and relevance of each element and possibility in the model relate closer to the overall goal. In this top layer, the model’s observation, analysis, and controllability centers around the switches in the transitions between Status values, the sequencing and scoring of such over periods, and the possibility of predicting near future states of the system.
The scale of analysis also changes, from the signaling and operational status inference of a single service to how changes in the status of a system of (interconnected) services cascade and ripple in unexpected ways through the network of contexts – both locally and globally. The same processes are involved at all layers – seeing, sensing, signifying, sequencing, scaling, and synthesizing higher-order information for representation, reduction, recognition, recording, recollection, reasoning, retrospection, reinforcement, regulation, and rectification.