Is your drone Turing complete?


28 June 2017

What if this ransomware business, which is going on again on a global scale today, is used in connection with moving things, as opposed to "merely" stationary computers?

Don't know about you but I'm thinking about drones, self-driving cars, and smart phones that blow up (e.g. due to ill-designed batteries).

As Edsger Dijkstra said in an interview in the late 1980s: some things are simply *not makeable.* It would be great to hear computer professionals express similar concerns today with regard to our Internet of (Moving) Things.  These reservations could perhaps be taken as a sign of a discipline coming of age, not unlike the laws of thermodynamics.

Also in the news today: Britain's newest warship runs Swiss Cheese OS.  This story is of course no surprise to specialists in the field; similar complaints can be made about nuke submarines and other military systems (including one that I was fortunate enough to have a look at as a safety engineer).


Like the Laws of Thermodynamics

  • Law 1: Every digital system deployed today contains bugs.

For a confirmation, see some youtube videos from Nancy Leveson. This includes digital systems deployed in outer space, i.e. systems that have been designed as carefully as possible.

  • Law 2: Every digital system deployed today has security vulnerabilities.

Implication: avoid connecting devices if safety is your sole measure of success (which is of course not the case in practice).

  • Question: What about the systems that we will design and implement tomorrow?
  • For some answers: see my latest book Turing Tales and the many references in my book.


Some Quotes from History

Due to lack of time, I will just provide some peculiar quotes that I have gathered in the past months:

  • "A computer program can be regarded as a complicated mathematical and logical function, and the running of the program is equivalent to applying the function with the given data as arguments." Christopher Strachey in 1964
  • "I am delighted to find that some useful theorems are at last emerging in the field on programming language theory." Christopher Strachey in 1971
  • "In my own personal view the whole subject of computing is intellectually at a pretty low level and it has no real right to call itself a science yet." Christopher Strachey in 1975
  • "We are captured by a historic tradition that sees programs as mathematical functions and programming as the central practice for translating these functions into working systems." Peter J. Denning in 2004
  • "We are becoming captured by a tradition that only sees programs as partially computable functions, thereby ignoring several Turing INcomplete languages, in the name of the Halting Problem and so-called scientific progress." Edgar G. Daylight in 2017
  • "Is your drone Turing complete?" The average (ill-informed) computer science student in 2020