!!An Integrated Theory of Informatics?
__Wolfgang Reisig, Humboldt University Berlin __ \\ \\


__General __ \\ \\


The century long efforts of the physics community to achieve a unifying theory as a basis for all branches of physics provides an impressive paradigm of substantial scientific progress. More recently, biology likewise started to invest much effort into research towards a reasonable notion of "theoretical biology". \\ 


In the 1980ies there were occasional attempts to establish informatics as a science of the technically supported handling of information, and as a science that would provide systematic foundational concepts for many other sciences. Those attempts eventually failed. "Theoretical computer science" referred to a narrow branch of computability and complexity. Attempts to integrate, in a formal framework, more aspects of the handling of information, never gained much support. Instead, informatics became an amazing success story with quickly evolving application layers. It became economically extremely successful also without an integrated underlying theory. Informatics thus turned into a technical application science, comparable to civil engineering. \\

 
This contribution supports the thesis that this waiver of developing a self-contained, integrated theoretical framework of informatics eventually will decisively limit the scope for the design of informatics-based systems. \\



__The paradigm of physics __ \\ \\


As a paradigm for an integrated theory of informatics, it is useful to study the 2500 years of development of science, in particular physics and astronomy. There we observe an amazing harmony between physics and mathematics (Mario Livio in [1] vividly describes this). One of the reasons for this phenomenon is the readiness of physicist to accept intuitively not too obvious and not at all self-evident conceptions and notions, provided they contribute structurally simple and quantifiable explanations of physical phenomena. An example is the notion of energy. This notion is fairly abstract, but it helps to relate and to quantify phenomena that otherwise could not be related and measured at all. For example, assume a stagnant car, to be driven and smashed at a wall. A certain amount of energy is involved in this process, first hidden in the gasoline, then in the acceleration, and finally in the deformation of metal sheet. In addition, the amount of energy can be quantified. Summing up, the abstract notion of "energy" is extremely useful because it provides a quantifiable invariant for dynamic processes. This kind of invariants, represented as "laws of nature", provide the backbone of science. (Further examples include Keppler's law on the movement of the planets, and equations of substance in chemical processes). \\



__Invariants __ \\ \\


There is a familiar notion of invariants in informatics, in particular Hoare's loop invariants [2]. Loop invariants are invariants as discussed above, indeed. However, they draw a bow over a quite narrow area, viz. over the values of the variables of a program. I suggest searching for much more general invariants. To discuss examples, such invariants may explain what remains invariant during garbage collection of an operating system, while booking a journey, soliciting money from a cash point, controlling a rocket, etc. \\


It may be useful to strive at a notion of "information", much richer and abstract as usually thought of so far. A fundamental invariant may be a "constant amount" of information in a system as long as the system re-arranges information in its interior, but neither receives nor dispatches information. This, in turn may be achievable by means of atomic actions that are "reversible". \\



Though mere speculation so far, this way of thinking may help to better understand derived notions such as privacy, safety, security, reliability and other notions that are extremely important but so far 
quite difficult to grasp. This likewise applies to fundamental problems of refinement and composition of systems. Of course, all this is not to be discussed on the level of programs, but on the level of specifications. \\ \\


[1] Marion Livio: Is God a Mathematician?, Simon & Schuster, NY, 2009\\ 
[2] C.A.R. Hoare: An axiomatic basis for computer programming. ACM 12, Number 10, Oct. 1969, pp.576-583\\