Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mbeddr & MPS overview
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kolja Dummann
March 14, 2014
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
mbeddr & MPS overview
A high level overview about mbeddr and the Meta Programming System bei JetBrains
Kolja Dummann
March 14, 2014
More Decks by Kolja Dummann
See All by Kolja Dummann
Fsharp
coolya
0
1.1k
Android insights
coolya
0
160
IoT with extensible C - Democamp
coolya
0
160
Internet of thing with extensible C
coolya
0
160
What if we could change programming languages?
coolya
0
2.8k
mbeddr on aruino
coolya
0
300
Other Decks in Programming
See All in Programming
Built Our Own Background Agent at LayerX
layerx
PRO
9
5k
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.6k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
220
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
590
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
「人を評価する AI」の設計と実装
ryoyanara
0
180
yield再入門 #phpcon
o0h
PRO
0
980
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
140
VibeCodingからAgenticWorkflowへ
starfish719
0
310
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
350
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Paper Plane
katiecoart
PRO
2
52k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
330
Visualization
eitanlees
152
17k
Six Lessons from altMBA
skipperchong
29
4.4k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Site-Speed That Sticks
csswizardry
13
1.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Transcript
mbeddr & MPS A high level overview
Meta Programming System
Open Source Language Workbench
Developed since 2003
Apache 2.0 License
Projectional Editor
int i = 42 + 23;
int i = 42 + 23;
LocalVarDecl Name = i int i = 42 + 23;
LocalVarDecl Name = i IntType Type int i = 42
+ 23;
LocalVarDecl Name = i IntType Type Plus Init int i
= 42 + 23;
LocalVarDecl Name = i IntType Type Plus Init NumberLiteral Name
= 42 Left int i = 42 + 23;
LocalVarDecl Name = i IntType Type Plus Init NumberLiteral Name
= 42 Left NumberLiteral Value = 23 Right int i = 42 + 23;
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Abstract Syntax Tree Concrete Syntax
Samples for projectional editors • Word (word processors) • Drawing
tools (Photoshop etc) • DTP Tools • Webbrowsers
PROS
Mixing different notations
Mixing different notations
Mixing different notations
Mixing different notations
CONS
Harder to archive copy and paste Harder to make it
behave like expected
http://mbeddr.com
A Open Source Collection of integrated languages for embedded software
engineering
None
Core Plain C
Core Plain C Ext Components Statemachines Units
Core Plain C Ext Components Statemachines Units CC Requirements Documentation
PLE
Core Plain C Ext Components Statemachines Units CC Requirements Documentation
PLE Debugger
Core Plain C Ext Components Statemachines Units CC Requirements Documentation
PLE Analyses Debugger
Core Plain C Cleaned up C hidden pre processor enhanced
typesystem
Ext Components Statemachines Units Modularization of software decouple specification and
implementation improve testability
Ext Components Statemachines Units model state based behavior on its
natural abstraction improve readability due to less clutter verifiable with model checking
Ext Components Statemachines Units typesystem integration with C user defined
units no runtime overhead
CC Requirements Documentation PLE prose description of the system arbitrary
DSL to for structured data traceability with any mbeddr artifact
CC Requirements Documentation PLE LaTeX, HTML or Word documents form
requirements easy integration with real code
CC Requirements Documentation PLE support for feature models FM instances
are validated any artifact can be adapted to a variant
Debugger debug on the semantics of the DSL
How it works
None
Code
Code Generator
Code Generator
Code Generator Text (C)
Code Generator Text (C) Compiler
Extensibility
Possible Domains
Questions?