When we are dealing with development, there is a great temptation to present it as an evolutionary development, that is, having some global, emergent properties, when a set of independent processes indirectly influence each other through some kind of implicit algorithms. Of course, such an approach is nothing more than a metaphor, a real real evolution is inherent only in living nature, however, it seemed to me a curious idea of ​​information technologies as an evolving medium, as well as conducting a conditional comparative analysis between a living organism and information.
I intend to consider software and hardware, as well as information technologies using them, as evolving “organisms”, the totality of which forms some connected space, which is analogous to the biosphere. Such an approach is not an innovation; attempts to extend the phenomenology of evolutionary processes to social processes are constantly appearing; one very significant attempt to apply an evolutionary approach to computer science was made by futurologist Stanislav Lem back in 1966 in Summa Technologies. Most often, “evolution” is used as a synonym for the notion of development in general, which is convenient to use when retrospectively analyzing various systems that undergo serious qualitative changes. However, a comparative analysis of the biological evolution and evolution of information systems shows that we have a fairly accurate and adequate similarity, which allows us to treat the evolutionary model in computer science with greater seriousness, at least as a solid analogy.
Evolution, in fact, is very convenient to apply to the processes of non-linear development of complex systems. Recall that evolution is characterized by the following factors:
- The existence of a “struggle for existence” due to the limited common resource for existence;
- The presence of mechanisms of variability, due to which a species change occurs (mutations);
- The presence of selection mechanisms, which is often called “natural,” suggests that “artificial” selection is a whim of fancy human needs.
The selection mechanisms are based on the general organization of the whole set of organisms (environment), which is extremely important, because some competitive quality is not an absolute characteristic, but exists only in relation to the structure of the environment and other organisms. For the objects of technogenesis and informational organisms, the above evolutionary features will remain unchanged. The struggle for existence will be fully realized through the mechanisms of the existence of markets, the use of certain resources, the consumption of certain decisions. The competitiveness of decisions will be determined not only by their internal qualities, but also by the entire aggregate infrastructure, even a separate term borrowed from biology - ecosystems, as well as social technologies and even subjective factors has emerged. Of course, the “mutation” of information systems does not occur as accidentally as is attributed to biological evolution. Rather, the properties of the systems are chosen consciously, as a result of an analysis of needs and current trends. But as already noted, the totality of the factors taken into account is much more than the ability of their rational analysis, so it is logical to predict the appearance of software “hit”.
')
The only difference that we find in the biological and informational evolution is the mechanisms of self-reproduction (reproduction). Known rabbits from Kentucky cope with the task of copying themselves without special tools such as a flash drive or recorder. (To be fair, we note that the mechanisms for the development of a living organism based on DNA copying rather closely resemble the usual “computerized” copying using non-magnetic carriers.)
An even greater surprise is the similarity of biological and informational organisms.
- Composition. Organisms consist of a collection of typed elements.
Information organisms have a very high typification. Recall that their appearance computers are obliged to the assumption of equivalence of data and programs for their processing. Information organisms are discrete, at the lower level all elements of information systems are decomposed conditionally up to a bit (0 | 1). Information organisms are deterministic - any program is a set of algorithms. All this gives the right to say that typing for information organisms reaches its highest level — the possibility of fully formalizing the entire information space.
- Organization. Organisms consist of special functional units, specialized in structure and specializing functionally.
Organization is the central aspect of the existence of organisms, including informational ones. Its presence provides all the vital functions described below. For information organisms, we have a highly developed organization, which with the advent of global networks and component technologies has become one of the key points in the implementation of information systems. Modern programming is to a lesser extent the development of algorithms, and to a greater extent the development of interfaces and their architecture.
- Exchange of matter and energy. Organisms are open systems that make a constant exchange of matter and energy with the environment.
A direct analogy between data (information) and a substance that suggests itself is not quite correct, but it is appropriate, especially if we consider information systems in isolation. A much more accurate way "matter and energy" for information organisms will be the same types of resources that are used in modeling social and economic systems - finance, material resources, goods, labor, etc.
- Irritability and mental function. Organisms have the ability to respond to certain external influences with specific manifestations (reactions). The stimulus-response combinations can accumulate in the form of memory.
Under the irritability of information systems can be understood very many things. It has the full right to view the information system as a certain function, which is very difficult to organize and has control mechanisms. And as a “reaction” to “stimuli”, there are abilities to react in a specified way to user requests, implicative processing modules that implement branching of threads depending on certain conditions, event processing. And in a broad sense - any dialogue, any interface, any procedure or module.
We will separately distinguish expert systems, semantic and neural networks, in which attempts are made to imitate the accumulation of “knowledge” about some subject areas, realizing the ability of the system to develop its “mental” functions.
- Homeostasis (regulatory systems). The body maintains its dynamic equilibrium with the environment, it behaves as if it wants to preserve its existence and uniqueness.
The problem of integrity (integrity) is central to the existence of information systems. To date, no technologies have been created that allow the system to automatically maintain its integrity; on the contrary, most systems are born extremely unstable. The development of mechanisms to maintain the system in working condition so that no impact will lead to the destruction of the system, there is a major task in the design and development. The classic idea of ​​integrity (for example, in relational databases) defines it at the data level, but client-server technologies extend this property higher, including the integrity of business logic in corporate systems. The integrity of distributed cloud-based systems is always a separate and complex task.
- Inheritance. Individual characteristics (properties) of the body are transmitted using special carriers.
Analyzing this feature, it is impossible to resist and not point out that it is the “inheritance” mechanism in object-oriented programming that created the level of efficiency that ensured the existence of information technologies as an independent social factor. In a broader sense, by inheritance we can understand the consolidation of successful decisions in the version update of programs by manufacturers.
- Ontogenesis (individual development). A new organism arises in the course of individual development processes, in which the specialization of elements leads to the formation of organs of different functionalities.
Considering the system development process, especially in the design, we will be able to distinguish the characteristic stages when the system, becoming more complex from the black box level (input - processing - output), acquires an architecture corresponding to the tasks set. Modules gain specialization, dialogues - elaborated scenarios.
- Phylogenesis (evolutionary development). Organisms are entities that arise through the natural selection of their predecessors and give new types of descendants.
This analogy is obvious, we talked about it from the very beginning.
We must point out that the evolutionary approach and the concept of objects as organisms are applicable to the description of any objects of technogenesis and human subject activity, as well as to the description of social systems of various levels of generality (including production systems), but a detailed analysis of this, unfortunately, goes beyond the format this article.
In fairness, it should be noted that a unified theory of evolution currently simply does not exist. Therefore, to apply "in the forehead" any model that could be considered a classic one fails. However, using the totality of modern concepts, it can be said with a high degree of confidence that the evolutionary process is characterized by four main phases:
- The formation of a basic branch is the appearance of an organism with fundamentally new properties and characteristics, the totality of which is a certain species space of further evolution;
- The “explosion” of species diversity is almost a one-time emergence of a huge number of new species, whose properties differ significantly, but are located within the borders of the base one;
- The selection of the most viable species is the consolidation of new species in the chains of consumption of life-support resources, the formation of some new integrity, the stability of which is ensured by all the elements included in it;
- The transfer of the evolutionary front as a sustainable existence of a new basic branch and the manifestation of its competitive advantages.
Evolutionary branches develop independently of each other. However, ideal situations in which the body would develop in isolation does not exist. We are always dealing with a “community” of organisms, if you like, a meta-organism, a macro-organism. In biological systems, these are geobiocenoses; for the information space, social organization and business organization. Therefore, we always have a coordinated development of systems of various types, when in this development we can distinguish stages, generations, epochs. Conditional “Paleozoic” with personal computers and office packages, “Kainaza” with an emphasis on corporate solutions, modern “Holocene” processes, where personal information technology markets from thin clients go to mobility. There can be a lot of such clusterings and divisions, in fact, this is a matter of taste, the environment is so diverse and bizarre.
In conclusion, I can not help but try not to draw a portrait of the system, which may appear on the next evolutionary turn, I will talk about the corporate system (this subject is closer to me). At the same time, corporatism involves not so much the functional coverage of the tasks of an enterprise as the information processing of links between a large number of elements, when the informational interpretation of activity is a structured space of interdependent solutions. At this level, the complexity of the conditioned behavior is the effectiveness of the decisions, and therefore their competitiveness. This efficiency for an Object that has a corporate business support system consists of the timeliness of generating control signals, the possibility of coordinating the execution of tasks by various departments according to these signals, monitoring the quality of execution of these tasks according to some standards; and the possibility of adapting the life cycle when new, previously unknown tasks appear.
A system whose work is aimed at providing control must be active, i.e. signal about the status of certain work areas and their indicators in case of deviations from a specified range of values ​​or abnormal user behavior in the system.
The activity of the system is an aspect of fundamental importance; from this point on, the system becomes a full participant in industrial activity, and not just a complex calculator with memory. Such a system will internally store a “view” of the ideal production cycle and have the ability to process planned and actual performance indicators, compare them, track the dynamic changes of each type of resource, as well as the possibility of alternative development modeling. If there is a well-established electronic settlement infrastructure, one can imagine a situation where the system “independently” purchases materials and components, as required, makes settlements with consumers and pays taxes.
This implies the following property of the information system of the future - the primacy of event processing. The data supplied to the system, processed by the system and generated by the system as resulting, will have a pronounced temporal component, the system logic will look like a structure of possible events, with the appearance of the concept of "future" in the system, i.e. the availability of facilities for modeling an Object, predicting its development and developing alternative planning options.
Both of these properties make it possible to talk about the possibility of a new mode of operation with the system - monitoring activities, when we have in the system means of displaying information "dynamics", presenting information in the clearest form, updating it as it changes on different areas of work.
Selection in the "ideal" model of decision areas, for example, when some critical indicators or other aggregate conditions are reached, with activation of requests to Individuals, Decision Makers or experts, will allow to achieve the required speed of the system's response to external and / or internal events. In this case, feedbacks in the system (implemented in the capabilities described above) allow dynamically modifying the object's life cycle model, i.e. the system begins to have the ability to self-learn.
And this ability to learn, the ability of the system to store and process knowledge is the most important part of it. But this topic is a completely different article.