GitHub
Hero Image
FOSS@Porsche · 2025MetaBNF
The Porsche Engineering community has introduced MetaBNF, a free and open-source (FOSS) project that significantly accelerates the creation of domain-specific languages (DSLs).
Tell us a little bit more about your team and what topics drive you at Porsche EngineeringThe software developers of Porsche Engineering have worked on a variety of software projects over the past years. Recently, they had the opportunity to collaborate with the VW group and discovered the full power of JetBrains MPS (Meta Programming System). This experience with MPS has been eye-opening and inspired the team to dive deeper and come up with various new usages of this technology.
Software developers checking content on a tablet
Can you please explain MPS in a nutshell?Jetbrains MPS is a versatile tool for developing Domain Specific Languages (DSLs) that empowers domain experts to describe their fields more intuitively, thus reducing the time to reach common goal. It is fully customizable and can be tailored to meet the unique needs of any user or project.
Integration with Git and CI/CD pipelines works seamlessly, supporting modern development workflows. However, the key feature is the model transformation capability: maintaining a single source of truth while generating multiple output formats such as Word, JSON, XML, or even C code.
Building a tool with MPS and integrating various components into a unified development environment reduces tool fragmentation and handovers, making your team more efficient and accelerating development cycles.
Data on app screen in car
This is probably where your new open-source project comes into play, right?Exactly! MetaBNF is a domain specific language that enables developers to describe and generate another DSLs using an extended Backus-Naur Form (BNF) notation. With MetaBNF, you define your own project-specific languages in a familiar grammar-like syntax. These domain-specific languages can be applied to represent complex systems such as vehicle dynamics or electro-chemical reactions.
Beyond language creation, MetaBNF addresses language architecture documentation challenges. By defining concepts clearly and visualizing them through diagrams, it helps manage complexity, avoid cyclic dependencies, and reduce repetitive work — common hurdles for language designers working on complex projects.
Laptop showing project concept
By publishing MetaBNF as an open-source project, you’ve made a big step ahead in our FOSS movement. What was your initial motivation to take this path?Open-source contribution is still an emerging topic at Porsche Engineering, but we see its potential clearly. For us as a team, the main benefit of publishing MetaBNF under an open-source license was gaining hands-on experience with the open-source process, establishing key contacts, and understanding how open-source works in practice — paving the way for future contributions.
A significant part of MPS’s strength comes from its open-source community, and MetaBNF is an opportunity to contribute back. By providing such a versatile tool, we hope to inspire others to join the MPS open-source community, bringing fresh ideas and building new features that will benefit everyone.
Engineering team discussing ideas
With a glimpse into the future: What are your further plans regarding FOSS Contributions? Who would you like to see next joining our FOSS Contributor community?The team is moving forward, continuously improving DSL development efficiency and tool performance. We also encourage more Porsche Engineering teams, whether developing basic tools or complex platforms, to contribute to open source. Encouraging cross-team collaboration and inviting external experts to contribute will definitely help us and further drive innovation across Porsche and beyond.
Female developer smiling at her desk
MetaBNFThe Porsche Engineering community dedicated to the Meta Programming System (MPS) has introduced MetaBNF, a free and open-source (FOSS) project that significantly accelerates the creation of domain-specific languages (DSLs) to address complex challenges in various technical domains.