Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
mbeddr & MPS overview
Search
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
170
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
新卒PdEのリアル
ryu1013
1
480
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
140
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
640
アクセシビリティから考える情報設計
high_g_engineer
0
350
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
140
信頼性の目標を誰も求めてない
shubox
0
500
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
910
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.9k
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
490
業務時間外もAIに働いてもらう話
colorful12
3
10k
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Agile that works and the tools we love
rasmusluckow
331
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Practical Orchestrator
shlominoach
191
12k
The Spectacular Lies of Maps
axbom
PRO
1
990
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
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?