The fundamental problem of today's machine logic

1.2 The core problem of today's machine logic

The central problem of modern machine controls is not a lack of technology and also not a lack of programming competence.

The core problem is that machine logic today exists predominantly implicitly.


Implicit logic

In classical controls logic arises:

  • distributed across many code locations

  • as a combination of conditions, linkages and side effects

  • often dependent on order and context

Machine states are:

  • not explicitly defined

  • not formally described

  • only indirectly derivable from the code

This means:

The machine “knows” what it is doing – but no one can clearly read it off.

Logic exists, but it is not visible.


Code ≠ Documentation

Traditionally it is assumed:

“The code is the documentation.”

In simple systems that may be true. In complex machines, however, this assumption leads to a rupture.

Typical symptoms:

  • Documentation describes an ideal state

  • the code continues to evolve

  • deviations are not propagated

  • Comments explain how, but not why

The code shows:

  • current signal linkages

  • implementation details

It shows not:

  • which states are intended

  • which conditions are mandatory

  • what behavior is expected

Code describes implementation – not meaning.


Lack of traceability

From implicit logic and lacking formal documentation a fundamental traceability problem arises.

Typical questions are hard to answer:

  • What state is the machine currently in?

  • Why is it waiting?

  • What is missing for the next step?

  • Why is a movement being prevented?

  • Which condition currently has priority?

Answers to that:

  • depend on the person

  • require experience or code knowledge

  • are often not unambiguous in case of error

This has concrete consequences:

  • diagnosis becomes vague

  • changes become risky

  • safety becomes hard to argue

  • responsibility can hardly be demonstrated


The actual deficit

The actual deficit is not the code.

The deficit is:

the absence of an explicit, formal model for the expected machine behavior.

As long as behavior exists only implicitly:

  • it cannot be verified

  • it cannot be automatically diagnosed

  • it cannot be reliably documented


Transition to the stance

The consequence of this finding is clear:

machine logic must visible, unambiguously and be verifiable .

This demand is the starting point of the Selmo stance.

Last updated

Was this helpful?