i. Overview
A research project within Khonraad Software Engineering that doubled as my Master’s thesis — exploring how projectional editing can change the way developers work with business rules.
ii. Language Engineering
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.
- 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.
iii. Innovative Projections
Projection development that intended to revolutionise how developers interact with business rules:
- Created seven distinct projections of varying complexity to visualise and edit Drools rules.
- Implemented advanced tabular projections including a spreadsheet-like editor and a decision table.
- Developed specialised visual aids including rule filtering, colour-coded indicators, and summary projections.
- Engineered wireframes demonstrating circuit-diagram and truth-table visualisations for complex rule logic.
- Built an architecture allowing simultaneous, synchronised editing across multiple projections.
iv. Integration
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.
v. Key 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 visualisation of rule interactions and relationships.
- Demonstrated real-time synchronised editing across different projections of the same rule system.
vi. Research Thesis
The work formed the basis of my Master’s thesis in Software Engineering at the University of Amsterdam, exploring how projectional editing can change the way we work with business rules.