Notes from inside language engineering.
Technical articles from F1RE engineers on Model-Driven Engineering, Domain-Specific Languages, JetBrains MPS, LionWeb and SysML v2.
Quieting JUL Warnings That Maven Tags as [ERROR]
In a Maven+Ant build using MPS, harmless JUL warnings appear as [ERROR] entries in the CI log. This post describes the cause and two possible fixes with their trade-offs.
Published
Caching MPS Build Output in GitHub Actions
This post will follow a checklist for caching MPS generated output in GitHub Actions, and a summary of the gotchas we hit along the way.
Published
Good method names
Everybody wants well-named methods — but what does that mean? We discuss the purpose of method names, guidelines for choosing them, and look at good and bad examples.
Published
SysML v2 language in LionWeb
In this blog post I describe how I transferred the SysML v2 language from its EMF implementation into MPS and Freon language workbenches, using the LionWeb protocol
Published
F1RE Partners with Freon for Web-Based DSL Development
Weβre excited to announce that F1RE is partnering with Freon, a platform for web-based domain-specific language (DSL) development.
Published
Model First, AI Second: The F1RE Approach
We describe the envisioned approach of F1RE when integrating AI into systems
Published
Domain Specific Languages
What are domain specific languages (DSLs) and language workbenches? Here is a small introduction on why, what and how of DSLs.
Published
Implementing LionWeb in Rascal
Recently I have been working on the implementation of the LionWeb protocol in Rascal.
Published
Different ways of implementing enumerations in MPS and why they matter
We go over the different techniques for implementing enumerations in MPS and go over the advantages and disadvantages.
Published
π οΈ Exploring the World of DSLs: Crafting Custom Solutions π
In this example we explain how a DSL could be of use, with example of an artist and his specific needs
Published
π Unlocking the Power of Domain-Specific Languages in Tax Law π
In this example we explain how a DSL could be of value in the domain of Tax Law
Published
F1RE Season pass
Expertise when you urgently need it.
Published
Consulting Expertise
Our way of working explained.
Published
Single Source of Truth Validation
DSLs use at its fullest potential.
Published
Celebrating Three Years of F1RE: Our Journey So Far
As F1RE turns three, I wanted to reflect on a journey filled with growth, challenges, and progress. Building a consultancy company specializing in Model-Driven Software Engineering and Language Engineering is...
Published
Architectural views for software design
Architectural views for software design, a classification for software specifications
Published
My Thoughts on LangDev 2023
The LangDev 2023 conference, hosted by the Belastingdienst, in Utrecht, was all about web integration.
Published
JetBrains MPS Build Script Creation and Debugging Checklist
We will specify a checklist of steps for creating build scripts and one for fixing issues with them.
Published
Presentation at MPS Community MeetUp about NSD Tool
We gave a talk "Communicating Complex logic with ease" at the 2023 MPS Community MeetUp in Munich.
Published
Presentation at LangDev Conference about MPS Interpreters
We gave a talk "Fast, integrated and debuggable Interpreters in MPS and beyond" at LangDev conference.
Published
Adding smart references using transformation menus
This post will follow a user friendly way of creating nodes, adding them to a location of our choice and referring to them from a smart reference, from the transformation menu of a smart reference.
Published
My impressions on JetBrains MPS Advanced Course
Navigating through MPS is a tough ordeal when you are a beginner. Luckily there are resources for us that can help us with the process of learning to manipulate the tool. This post is my opinion on one such material - the MPS Advanced Online Course.
Published
MPS language design patterns: Multiple generators for same language
If we need more than one generator for the same language, things can become complicated. With help of generation plans, we can sort generators apart cleanly, and let the user decide which ones to engage.
Published
MPS Generators
Introduction to MPS Generators, and an explanation of the Loop macro statement.
Published
What is Model Driven Engineering
In this post we will explain what model driven engineering and what a domain specific language is.
Published
Welcome to F1RE and our technology blog
On these pages we share our accumulated knowledge within the model driven software engineering domain. We share some insights and useful content here.
Published
JetBrains MPS Shortcuts
In this post we will explain the best and most useful shortcuts MPS has, in what context they are used and a little bit more.
Published
JetBrains' MPS Getting Started Part II
Part two of the Getting started with JetBrains' MPS DSL development series where we will extend a library language with behavioural aspects.
Published
JetBrains' MPS Getting Started Part I
Part one of the Getting started with JetBrains' MPS DSL development series where we will create a basic DSL that will simulate a library.
Published
MPS language design patterns: Externalized names (and other common attributes)
We often want to intermix referred names and defined names. This works best if we plan ahead for this situation, and have a shared abstraction for both of them from the beginning.
Published