Language Engineering

Advanced Language Engineering and Visualization Platform

Overview

In 2021, I conducted innovative research on improving business rules comprehensibility through projectional editing techniques. This work addressed a critical challenge in the software industry: as business rules grow in number and complexity, they become increasingly difficult to understand and maintain. Using JetBrains MPS and the Drools business rules language, I developed a prototype demonstrating how projectional editing can transform how developers interact with and understand complex rule systems.

Projectional Editing Overview

Technical Achievements

Language Engineering & Implementation

Acting as a Language Engineer, I developed sophisticated solutions for business rule representation:

  • Designed and implemented two Drools-based languages in JetBrains MPS: a proof-of-concept "Really Simple Drools" and a more comprehensive "Drools-Lite"
  • Created a non-invasive extension architecture allowing different projections to be combined without modifying the core language
  • Successfully implemented complex language features including rule variables, constraints, restriction values, and right-hand side Java integration
  • Developed a reference framework demonstrating how projectional editing can be applied to business rule languages
  • the following diagram is the Really Simple Drools proof of concept language
Language Implementation Architecture

Innovative Projections Development

My work in projection development intended to revolutionized how developers interact with business rules:

  • Created seven distinct projections of varying complexity to visualize and edit Drools rules
  • Implemented advanced tabular projections including a spreadsheet-like editor and a decision table
  • Developed specialized visual aids including rule filtering, color-coded indicators, and summary projections
  • Engineered wireframes demonstrating circuit diagram and truth table visualizations for complex rule logic
  • Built an architecture allowing simultaneous, synchronized editing across multiple projections
  • Note that the example below is not an application, but a fully functional programming language projected as a table
Multiple Rule Projections

Technical Integration Solutions

I delivered integration solutions that aimed to enhance the development experience:

  • Successfully integrated Drools semantics with the MPS BaseLanguage (Java) for comprehensive rule implementation
  • Designed and implemented intelligent code completion with context-aware suggestions
  • Created a cross-referencing system allowing rules to reference facts and properties
  • Constructed scope constraint systems to streamline the editing experience
  • Built substitution mechanisms to allow rapid rule creation and modification
  • Note that the example below is a more compact version of the same fully functional drools language
Technical Integration Architecture

Key Technical Contributions

  • Developed a novel way to represent and edit business rules using projectional editing
  • Created an alternative base language for model-to-model transformations in the MPS ecosystem
  • Implemented a more compact and intuitive way to enter and edit rules compared to traditional text-based approaches
  • Enabled dynamic visualization of rule interactions and relationships
  • Demonstrated real-time synchronized editing across different projections of the same rule system

Technologies & Skills

  • JetBrains MPS language workbench
  • Language engineering and DSL creation
  • Abstract syntax tree manipulation
  • Projectional editing technologies
  • Drools business rules language
  • Model-driven engineering
  • User interface design for developer tools
  • Smart reference implementation
  • Scope and constraint systems

Research Publication

As well as being a reasearch project within Khonraad Software Engineering, this project also formed the basis of my master's thesis in Software Engineering, exploring how projectional editing can revolutionize the way we work with business rules.

Download Thesis PDF Download Master's Thesis

Transforming how developers interact with business-critical code through innovative language engineering