Operational and Managerial Independence

System of Systems (SOS) is a collection of dedicated systems who share their resources and capabilities. As a collection, they exhibit the behaviors of complex systems. So to counteract this complexity, a  combination of eight traits are recommended. This blog will focus on two of those traits, which are operational  and managerial independence.

The reason for this is there is diversity in SOS. The network connects a wide range of different organizations with their own unique needs. These needs are satisfied by software companies with specific verticals to support specific industry needs.

These verticals differentiate from the immediate competitors through features. Features are driven from different stakeholders with varying needs. These needs originate from such sources as the customer base, government regulations, and the vision of the Management Group. There is a need to select features from a list of priorities to keep their development within the confines of a budget. Common practice is to have releases, where software updates are released on a specific date to update their entire user base.

The SOS is in constant evolution. To manage such evolution, the SOS delegates the management of change to its elements which are the software verticals. The elements are given their independence to operate on their own and manage the change within their own systems. Thereby, giving the element the complete control of managing their release schedules.

The Brainet platform is a building block within the SOS. This platform is composed of collection of Network Threads. A Network Thread is simply a program which allows sharing of data. Together, all the Network Threads within the platform are connected and act as a single intelligence.  The platform supports this mindset of Operational and Managerial Independence. The vertical system is connected to a Network Thread on the platform. This connection exposes the system’s internals. Therefore,  allowing its data and operations to be shared in the platform.

The connection of a system is a two part process. The first is the mechanics of delivering data. The Network Thread’s connection has a specific port address. The tread is specialized to support a specific API on how the message data is to be formatted. If an API is standard, such as SOAP or a  JDBV driver, only an association to a library function is needed. If the API is customized, then a solution needs to be programmed to properly format the data. The second part of the process is translating the stream of data into the model . The model mirrors the source system. The model consists of data, data relationships and behavior. The advantage of this approach is that the Network Thread for a specific system can be built once. This plug-in can be reused within multiple infrastructures.

 

The analogy is that the platform is a multi-lingual translator. Each plug-in is its own language. The intelligence in the platform is programmed to translate between languages(models). Specifically what is being done is mapping one model to another. Mathematically the model is represented by a graph. The nodes of the graph are classes[1]. Each arc in the graph is a class relationship. So the first step is transforming the image of one graph to the graph of a corresponding model. Then through mapping, copying the contents of the individual properties. If the definition of the property is different, then a transformation or calculation is required to normalize the form.

The models are running on different network threads which means physically they might not be on the same computer or in the same location. But the models are logically connected through the distributive features of the platform. The sending of messages are a feature in the platform. With a single command, one can marshal, send and unmarshal a package of data. Furthermore, the graphs on a Network Thread has the capability to make a relationship with another graph. Thereby combining all the individual graphs into a superior graph representing the entire platform.

Our Brainet platform is a building block with SOS. The platform allows the interconnection of external systems. These external systems can be operated and managed independently from the larger network which operate. The advantage is that platform avoids tightly coupling systems. Its encapsulation allows for code reuse. And its abstraction allows for simplification of the problem set.

 

 

[1]  Definition of Class…A class is the basic building block of an object-oriented language such as Java. It is a template that describes the data and behavior associated with instances of that class.