Project

The OOML project

OOML is developed as an open-source specification. The project aims to provide a technology-independent foundation for reusable object models and to encourage an ecosystem of model libraries, validators, visualizers, generators and integrations around that foundation.

The language is intentionally independent of any particular modelling tool, storage platform, programming language or vendor.

Status

What exists today

Being candid about this matters more than appearing established. OOML is a draft specification with a small amount of supporting tooling.

The specification

A complete draft of the language in nineteen sections, including normative validation rules and an ABNF grammar.

View ↗

A JSON Schema

Structural validation for OOML class and global attribute documents, published at a stable URL.

View ↗

A reference validator

A command-line tool that checks a file or directory of artefacts against the schema.

View ↗

A schema.org importer

A utility that transforms the schema.org vocabulary into OOML class artefacts — a worked demonstration that an existing vocabulary can be expressed in OOML at scale.

View ↗

What does not exist yet

Generators
Nothing yet produces JSON Schema, SQL DDL, Protobuf, OWL, UML or source code from an OOML model. The language is designed to make such generators possible; none has been written.
A registry
There is no service for publishing or resolving OOML artefacts. The specification deliberately leaves distribution out of scope, and no separate registry specification has been published.
Full semantic validation
The reference validator checks structure. The cross-artefact rules — inheritance, use, metadata and dependency resolution — are specified but not yet implemented.
Standard metadata profiles
No governance, provenance or ontology profiles have been standardised. The mechanism exists; shared profiles do not.
Where this site describes a projection into another technology — JSON Schema, OWL, UML, SQL — it is describing an architecture the language permits, not a capability that ships today.

Governance

OOML is currently an open-source specification under active development, maintained by Bitlife AS. Formal governance structures may evolve as the contributor and implementer community grows.

Decisions are currently made by the maintainers, in the open, through the issue tracker and pull requests on the specification repository. There is no standards body, working group or formal voting process, and this page will say so until there is.

Contributing

Contributions to the specification are welcome, particularly from people modelling real domains who find the language insufficient or awkward.

Open an issue first

Discuss a proposed change before submitting a pull request. Changes affecting language semantics, validation rules or the grammar require particular care.

State the version impact

Indicate which version component your change would increment — MAJOR, MINOR or TRIVIAL — and why. This is how compatibility stays visible.

Report what does not work

A domain the language cannot express cleanly is more useful feedback than a feature request. Bring the model that gave you trouble.

Repositories

ooml-org/ooml ↗
The specification, its JSON Schema and the reference utilities.

Licence

The specification is published under the BSD-3-Clause licence, copyright © 2026 Bitlife AS.

It may be used, implemented and redistributed — including commercially — provided the copyright notice and disclaimer are retained and the copyright holder’s name is not used to endorse derived products.