Skip to content
Mustafa Tarhan

Design-Pattern DSL with Editor Support

A domain-specific language for describing design patterns, with validation in VS Code and PlantUML generation.

Language engineering · course project2026Complete
Role
Course project in the master's programme at HTW Berlin.
Patterns
4 in grammar
Tests
Parsing + validation
Stack
TypeScript, Langium, VS Code extension API, Node.js, Vitest, PlantUML

What it does

A textual language built with Langium for modelling classes, interfaces and design patterns (Observer, Strategy, Factory, Chain of Responsibility). A semantic validator checks references, inheritance and whether each participant's role fits its pattern; a VS Code extension shows errors while typing; a CLI compiles models into PlantUML class diagrams.

  1. Language
    • Langium grammar
    • Validator
  2. Tools
    • VS Code extension
    • CLI
  3. Output
    • PlantUML diagrams

The hard part

Semantic validation beyond the grammar: resolving cross-references and checking that each role is valid for its pattern type.