The story of changing the basement.

"Our calling.. is in fact never to stop building but rather to push what we have received ever higher, to enlarge, to adorn, to move upward.
Why take the time and the trouble to descend and
contemplate anew uncongenial things that were settled long ago?
And so I must apologise for conducting the reader on a
necessary trip back to the basement"

Robert Rosen, Life Itself

Going back to the basement

Here, we propose changing the the basement to more directly reflect what we intend to build on top of it.

We demonstrate that by changing the basement, many complex problems are reframed as significantly simpler ones—and questions that previously had no clear answers suddenly begin to yield them.

Rather than coding business logic using a programming language (frameworks, or low-code tools) we suggest formalizing the relevant parts of the business domain with DCM.

The new basement in detail

Here, we attempt to answer the question of how the old basement actually worked, and trace its problems back to their root causes.

Problems with the old basement

Here, we showcase the DCM approach by defining a trade and building an executable model that implements the settlement process.

The main goal of this example is to highlight the relatively small size of the solution and the speed with which the model can be built.

Equally important is the fact that DCM code can be understood by non-coders and subject matter experts, while remaining both formal and executable.

Due to limited resources, this demo does not include a UI that would present the DCM code much more naturally as diagrams.

Building on the new basement

What are the questions that keep coming up over and over when building enterprise software, and that justify going down to the basement in search of answers?

Problems building larger systems

In search of the root causes of these problems, we need to go down to the basement—uncovering foundational assumptions that are often left unexamined. The basement represents traditional coding practices involving programming languages, which are contrasted here with an alternative approach to highlight that many of these foundational assumptions are neither explicitly justified nor grounded in deliberate reasoning.

Changing the basement

Here, we delve into what the new basement consists of—and what makes it so fundamentally different from the old one that it avoids many of the problems we've grown accustomed to when building on the traditional foundation.