Joseph Sifakis's Keynote Speech at the 15th Computing in the 21st Century Conference co-hosted by Microsoft Research Asia and the University of Science and Technology of China (USTC) on November 1, 2013.
The focus of computing has been continuously shifting from programs to systems over the past decades. Programs can be represented as relations independent from the physical resources needed for their execution. Their behavior is often terminating, deterministic and platform-independent. On the contrary, systems are interactive. They continuously interact with an external environment. Their behavior is driven by stimuli from the environment, which, in turn, is affected by their outputs.
Modern computing systems break with traditional systems, such as desktop computers and servers, in various ways: 1) they are instrumented in order to interact with physical environments; 2) they are interconnected to allow interaction between people and objects in entirely new modes; 3) they must be smart to ensure predictability of events and optimal use of resources. Currently, we lack theory methods and tools for building trustworthy systems cost-effectively.
In this talk, I will advocate system design as a formal and accountable process leading from requirements to correct-by-construction implementations. I will also discuss current limitations of the state of the art and call for a coherent scientific foundation of system design based on a three-pronged vision: 1) linking the cyber and the physical worlds; 2) correctness-by-construction; 3) adaptivity.
I will conclude with general remarks about the nature of computing and advocate a deeper interaction and cross-fertilization with other more mature scientific disciplines.