PadumaTechnology

Describe the system.
Run the description.

Paduma builds the languages and tooling that turn a formal description of software into the software itself — validated in CI, reviewed in merge requests, and never out of date. And we do the same kind of work for other people: platforms, distributed systems, and models that do not go stale.

hand.state.yaml

machine: mahjong.handinitial: dealing states:  dealing:    on: { wall_dealt: discarding }  discarding:    on:      claim: melding      hand_complete: scoring  melding:    on: { resume: discarding }  scoring:    on: { settled: dealing }

derived machine

wall_dealtclaimresumehand_completesettleddealingdiscardingmeldingscoring
The declarationWhat it runs

What we are

Two things at once, and we would rather say so

We are a consultancy that builds self-hosted delivery platforms and works on distributed systems that have to hold up under load. We are also aproduct company building formal languages for describing software.

The consulting funds the products and is meant to shrink as they earn. That is why our engagements are scoped to finish — a hand-over or a date — rather than to continue indefinitely.

The two halves are not separate. The platform we would build for you is the one we run. The language we would sell you already builds a service of ours that real people use.

Services

  • Software engineering

    A bounded project, with a dated end

    Architecture and delivery for systems that have to hold up under load

    Architecture-led work on distributed, event-driven and legacy-modernisation problems on the JVM, sold as bounded projects.

  • DevSecOps environments

    Set up and hand over

    A complete, self-hosted delivery platform — set up, proven, and handed over

    We build the whole automated environment a team needs to ship software safely on infrastructure it controls, then hand it over.

  • Architecture modelling

    A bounded engagement, or a method your team keeps

    Models that a machine can check, instead of diagrams that quietly go stale

    Enterprise and solution architecture modelling governed by a meta-model, so a model cannot drift into meaning whatever its author wanted.

The through-line

One idea, three products

Architecture diagrams drift from the systems they describe. State charts get drawn once and then diverge from the code. The gap between a description and the thing described is where the errors live.

Every product we build closes that gap the same way: you write a declaration in a formal, version-controlled language, and the tooling derives the artifact from it. There is no second copy to keep in sync, because there is no second copy.

Products

  • LotusTable

    Nearest to launch

    Online multiplayer mahjong, with nine rulesets

    A real-time multiplayer mahjong platform covering nine rulesets, and the system that proves the rest of our engineering under live load.

  • Statelume

    Load-bearing in production

    Behavioural state machines, declared

    A declarative language for behavioural state machines that generates Java — and already builds a production service.

  • Topos

    In development — deployed, and modelling our own estate

    Architecture models as code

    Describe your architecture in a version-controlled language that a machine can check, and render it from that same source of truth.

Work with us

Tell us what you are building

If your system falls over when it gets busy and nobody can say why, if you are trying to move off a cloud bill and the operating model is the part nobody has staffed, or if your architecture lives in diagrams nobody trusts — we would like to hear about it.

Get in touch