Modelleren, modelgedreven
MDA (model-driven architecture) betekent: uit het model ontstaan formulieren, API's, databaseschema en code — niet andersom.
De hele keten
Vanwege het modelgedreven karakter beschrijft Omnium niet alleen het canonieke model, maar de hele keten eromheen. Overal worden dezelfde begrippen gebruikt.
- Uit het canonieke model ontstaan schermen en formulieren.
- Gebruikers en use cases beschrijven hun flows in termen van het canonieke model.
- Processen (BPMN) en beslisregels (DMN) gebruiken dezelfde begrippen.
- Sequentiediagrammen leggen de koppeling naar code en API's.
- API's (OpenAPI, GraphQL) en het databaseschema worden afgeleid uit het canonieke model.
Transformaties
Een afleiding is in Omnium geen verborgen stuk code, maar een leesbare regelset, van profiel naar profiel: OpenAPI naar canoniek, canoniek naar GraphQL, Mermaid naar use case. Een lezer haalt de bron op, de regelset beschrijft de vertaling, een toepasser maakt het resultaat.
Lineage en traceerbaarheid
Elementen in verschillende modellen zijn met elkaar verbonden. Je ziet waar een begrip uit het canonieke model terugkomt, in een proces, een API, een formulier of het databaseschema, en wat een wijziging raakt. Die kruisverbanden leg je nu vast in een koppelingenmatrix; de trace van een transformatie automatisch bewaren is in opbouw.


Modeltalen
Om compleet te zijn, kent Omnium vrijwel alle gangbare manieren van modelleren. Stand oktober 2026:
canoniek UML · UML (klassen, objecten, composite structure, component en deployment, activiteiten, sequentie, communicatie, state machine, use case) · MIM 1.2 · SysML · ERD · ArchiMate · BPMN · CMMN · DMN (DRD) · business- en requirementsmodel · formulier · OpenAPI 3.1 · GraphQL · XSD · WSDL · toegangsregel.
Daardoor leest Omnium ook een model uit Sparx Enterprise Architect in met al zijn diagramtypen.
Een eigen modeltaal
Elke modeltaal is in Omnium een profiel: een beschrijving van de elementen en regels van die taal. Een nieuwe notatie toevoegen is dus een profiel schrijven, geen nieuw programmeerwerk. De Studio heeft daarvoor een profiel-ontwerper, zodat je zelf een modeltaal kunt beschrijven.
Dat volgt de vier metaniveaus van de MOF (Meta Object Facility) van de OMG, dezelfde standaardenfamilie als UML en XMI. M0 zijn de gegevens zelf, M1 het model, M2 de modeltaal (in Omnium: het profiel) en M3 de taal waarin modeltalen worden beschreven.
Formulieren
Formulieren definieer je vanuit het canonieke model, met een visuele weergave van hoe het formulier eruitziet. De velden zijn de gegevenselementen uit het model, dus een formulier spreekt dezelfde taal als de API en de database. Conditionele blokken, die alleen verschijnen als een eerder antwoord dat vraagt, staan gepland.
AI-ondersteuning
Omnium krijgt AI-ondersteuning bij het modelleren. Het plan is daarvoor een soeverein taalmodel te gebruiken, via Fundament, de Nederlandse overheidscloud, zodat modellen en gegevens niet buiten die omgeving komen. Dit is in voorbereiding.