Sample Repository Structure

The repository of the modelix samples is a single gradle project to make building everything at once easy. The examples are organized by the technology they use into the various sub-folders:

Components/Tech Description Status Folder

MPS + cloud-plugin

MPS language definition that is used by all examples. The MPS language structure is used to generate a Java API consumed by all examples.

mps

MPS, metamodel-generator

Generated Kotlin API from the MPS language.

mps/metamodel

OpenAPI

A hand-crafted OpenAPI specification that defines domain-specific REST endpoints which expose the model contents.

openapi

model-server + Quarkus

An implementation of the OpenAPI that exposes the model contents REST. Obtains model data from a running model-server.

rest-api-model-server

ligh-model-server+ ModelQL + Ktor

An implementation of the OpenAPI that exposes the model contents REST. Obtains model data from a running the light-model-server MPS plugin.

rest-api-model-ql

Angular via REST

A single page app that realizes a read-only dashboard. Can connect to either of the OpenAPI implementations.

spa-dashboard-angular

Each component documentation with component specific content.