How It Works

Background

DSLCore uses a declarative approach.

You define your operational structure, and the system is generated from it. The same structure defines every layer of the system.


The process

1. Define the structure

Describe your operation in terms of:

  • entities
  • relationships
  • workflow constraints

This is written in a simple DSL.


2. Generate the system

From this definition, DSLCore generates:

  • database schema
  • API layer
  • user interface
  • navigation between related data

3. Run and evolve

The generated application is complete and ready to use.

Changes to the model can be applied and the system regenerated as workflows evolve.


Example

A simple inventory structure might be defined as:

Table: Product
  id: int (primary key)
  sku: string (required, unique)
  name: string (required)
  price: decimal (min: 0)

Table: Supplier
  id: int (primary key)
  name: string (required)

Table: Inventory
  product_id: int (foreign key -> Product)
  supplier_id: int (foreign key -> Supplier)
  quantity: int

This definition describes the operational structure.


What is generated

From this model, DSLCore produces a working application:

  • database with relationships and constraints
  • API with standard operations
  • user interface for managing data
  • navigation across related records

System structure

The generated system follows a simple, inspectable structure:

Browser

Web Interface

API Layer

Data Model

Database

Each layer reflects the same underlying model.


Properties of the system

  • structure is explicit
  • relationships are navigable
  • workflow state is visible
  • systems evolve through model changes

Result

  • faster development
  • consistent applications
  • systems that remain understandable over time