ADR 018: Decide vor Modelling Component and Interfaces
Date: 2025-11-05
Status: Reviewed
Decision Makers: @luckey, @DerLinne
Context
This ADR evaluates approaches for implementing the modeling component within the CIVITAS/CORE architecture. The modeling component is responsible for transforming, linking, and managing models originating from various domains and formats (UML/XMI, XSD, JSON Schema, etc.), and ensuring their persistence and discoverability within the model-centric data flow.
Related decisions:
- Model persistence: Apicurio Registry (OSS, supports XML/XSD, Kafka-based)
- Model creation: Portal Frontend (UML) editor (UML 2.5.1 XMI interface, including a simplified tabular editor)
- Portal Backend: Custom-developed backend exposing UML/XMI endpoints to Frontend and handling authorization/authentication. Passes through models to modelling component.
The modeling component must:
- Provide a unifying metamodel for model transformation and linking
- Persist and publish models through Apicurio (Kafka integration)
- Integrate with the portal backend service using standard XMI UML interface
- Enable referencing across heterogeneous model types