SlideShare a Scribd company logo
Markus Völter
voelter@acm.org
www.voelter.de
@markusvoelter
What‘s
missing?
Realtime
Incremental
Transformations
1
What is Shadow Models?
Functional transformation language with
support for fixpoints
Incremental execution upon change of input
model
Unidirectional, but with first-class support for
lifting results
Fully integrated into MPS IDE
Code: https://github.com/JetBrains/MPS-extensions/tree/master/code/shadowmodels
Docs: https://jetbrains.github.io/MPS-extensions/extensions/shadowmodels/
Mechanics
Input Model
Shadow Model
...
‚
User edits the input model
A delta is propagated into the
transformation engine
A change on the shadow model
is produced
This triggers analysis or update
of results in Shadow Model
Results/messages are lifted
back to input level
Results are annotated to the
input model
Mightbestacked
Current State (March 2019)
Still under active development.
Primarily by Sascha Lisson.
Used for initial use cases at itemis Stuttgart.
Kf2
Core
Interpreter Generator Verifier
Sugar
DSL1 DSL2 DSL3
ShadowModels
• Minimal, Expressive Core
• Functional
• Reactive
• Sugar on top
• Interpter, Generator
and Verifier below
• Realtime-Trafo with
Shadow Models
Example Input
Example Shadow
Example Use Cases
• Mapping of system models to model checkers for
interactive verification of temporal properties
• Flattening of component hierarchies for type checking
• Flattening of hierarchical feature models for path
expression evaluation
• Weaving in of safety concerns into C code.
• Desugaring of business DSLs to a core functional
language; that core language would then feature an
interpreter, a compiler and an integration with an SMT
solver
Use Case: Safety Patterns
Use Case: Safety Patterns
+
Use Case: Safety Patterns
+
=
Use Case: Interactive FM Specialization
Klaus Birken
Use Case: Interactive FM Specialization
Klaus Birken
Uncheck
Hybrid
Use Case: Interactive FM Specialization
Klaus Birken
Check
Combustion
Use Case: Interactive FM Specialization
Klaus Birken
Check
RearCamera
Guidance
2
Applications Modeling Toolvs.
But not like that!
Novice Users need Guidance!
Applications Modeling Toolvs.
Novice Users need Guidance!
What am I working on?
What should I do next?
How complete is my model?
What is the quality of my model?
Roles
Tasks, Workflow
Model States
Metrics
Defined jointly with the language.
Semantics
3
Semantics
Spec
Interpreter
Compiler
Verifier
Functional + Imperative
K + FunCons
Must be understandable by an engineer,
not a mathematician!
Semantics
Grow on (imperative) C
KernelF
Semantics
Solver
Model
Checker
Rules
Engine
Functional
Interpreter
Reactive
Interpreter
Several
Projects / DSLs
Lots of ideas J
Grow on other Foundations!
Grow on functional KernelF.
Debuggers
4
Debuggers
Different ones for different language paradigms
Functional => Tree
Imperative => Stepping
Declarative => ?
Debuggers
Different ones for different language paradigms
Functional => Tree
Imperative => Stepping
Declarative => ?
Often the (semantic reverse) of generation
it has to recover DSL semantics for watches, views, breakpoints
Related to simulators and „model animators“
No good tool support for building them!
Realtime vs. Post Mortem
Liveness
5
Beyond Balls and Trees
Not too much has happened since the legandary demo.
Overlay program execution data
Run tests and illustrate results in the background.
Instance-based programming (Jonathan Edwards)
That‘s it?
What else can we do?
Which LWB-support can be build?
Explain
Communicate
Convince
6
Maybe more important!
!
Markus Völter
voelter@acm.org
www.voelter.de
@markusvoelter
?

More Related Content

PDF
The Design, Evolution and Use of KernelF
PPTX
Intro flash cards
PPSX
Intro flash cards
PPTX
A DSL for Your API
PDF
Breaking the language barrier: how do we quickly add multilanguage support in...
PDF
Java and effective programming. Is it possible? - IAESTE Case Week 2016
PPTX
Programming Paradigm & Languages
PDF
Effective programming in Java - Kronospan Job Fair 2016
The Design, Evolution and Use of KernelF
Intro flash cards
Intro flash cards
A DSL for Your API
Breaking the language barrier: how do we quickly add multilanguage support in...
Java and effective programming. Is it possible? - IAESTE Case Week 2016
Programming Paradigm & Languages
Effective programming in Java - Kronospan Job Fair 2016

What's hot (17)

PPTX
Introduction to computer science
PPTX
Portrait of professional developer 2.0
PPT
Interpreters & Debuggers
PDF
Design concerns for concrete syntax
PPTX
PDF
Testing Neural Program Analyzers (ASE-LBR 2019)
PPTX
Language processor
PPTX
What is programming what are its benefits
PDF
Implementing DSLs in practice
PPTX
Introduction To Aspect Oriented Programming
PPSX
Ic lecture8
PPTX
Aspect Oriented Programing - Introduction
PDF
Functional Reactive Programming. What does it solve? Does it solve things? Le...
PPT
Wipro technical interview questions
PPTX
Introduction to Aspect Oriented Programming
PPT
Programming Methodology
PDF
Generate Test Cases for GCC Compilers (ASE-LBR 2019)
Introduction to computer science
Portrait of professional developer 2.0
Interpreters & Debuggers
Design concerns for concrete syntax
Testing Neural Program Analyzers (ASE-LBR 2019)
Language processor
What is programming what are its benefits
Implementing DSLs in practice
Introduction To Aspect Oriented Programming
Ic lecture8
Aspect Oriented Programing - Introduction
Functional Reactive Programming. What does it solve? Does it solve things? Le...
Wipro technical interview questions
Introduction to Aspect Oriented Programming
Programming Methodology
Generate Test Cases for GCC Compilers (ASE-LBR 2019)
Ad

Similar to What's Missing in Language Workbenches (20)

PDF
Envisioning the Future of Language Workbenches
PPTX
Incremental Model Queries for Model-Dirven Software Engineering
PDF
Model Driven Developing & Model Based Checking: Applying Together
PDF
IncQuery Labs Models 2020 MIP Talk
PPTX
Incremental Queries and Transformations for Engineering Critical Systems
PPTX
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
PDF
Model-Driven Software Verification
PPTX
FESCA 2015 keynote
PDF
Integrative Parallel Programming in HPC
PDF
overview.pdf
PDF
Model Checking as a Service: Towards Pragmatic Hidden Formal Methods
PDF
Fusing Modeling and Programming into Language-Oriented Programming
PPTX
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
PDF
SERENE 2014 School: Incremental Model Queries over the Cloud
PDF
SERENE 2014 School: Daniel varro serene2014_school
PPTX
EMF-IncQuery presentation at TOOLS 2012
PDF
Dynamic Binary Analysis and Obfuscated Codes
PDF
Directive-based approach to Heterogeneous Computing
PDF
Modelling Systems Practical Tools and Techniques in Software Development 2nd ...
PDF
Close Encounters in MDD: when models meet code
Envisioning the Future of Language Workbenches
Incremental Model Queries for Model-Dirven Software Engineering
Model Driven Developing & Model Based Checking: Applying Together
IncQuery Labs Models 2020 MIP Talk
Incremental Queries and Transformations for Engineering Critical Systems
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
Model-Driven Software Verification
FESCA 2015 keynote
Integrative Parallel Programming in HPC
overview.pdf
Model Checking as a Service: Towards Pragmatic Hidden Formal Methods
Fusing Modeling and Programming into Language-Oriented Programming
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Daniel varro serene2014_school
EMF-IncQuery presentation at TOOLS 2012
Dynamic Binary Analysis and Obfuscated Codes
Directive-based approach to Heterogeneous Computing
Modelling Systems Practical Tools and Techniques in Software Development 2nd ...
Close Encounters in MDD: when models meet code
Ad

More from Markus Voelter (20)

PPTX
Consulting
PDF
Build your own Language - Why and How?
PDF
Deklarative Smart Contracts
PDF
Using language workbenches and domain-specific languages for safety-critical ...
PDF
How Domains Shape Languages
PDF
Why Modeling Suck Sucks
PDF
The future of DSLs - functions and formal methods
PDF
Lessons Learned from building mbeddr
PPTX
Architecting Domain-Specific Languages
PPTX
Generic Tools - Specific Languages (PhD Defense Slides)
PPTX
Language-Oriented Business Applications
PPTX
Generic Tools, Specific Laguages
PPTX
Domain Specific Language Design
PPTX
From Programming to Modeling And Back Again
PPTX
Faszination Segelfliegen
PPTX
Introduction To MDD
PPTX
Professional Podcasting Guide
PPTX
DSL Best Practices
PPTX
Fundamentals Of Software Architecture
PPTX
Architecture As Language
Consulting
Build your own Language - Why and How?
Deklarative Smart Contracts
Using language workbenches and domain-specific languages for safety-critical ...
How Domains Shape Languages
Why Modeling Suck Sucks
The future of DSLs - functions and formal methods
Lessons Learned from building mbeddr
Architecting Domain-Specific Languages
Generic Tools - Specific Languages (PhD Defense Slides)
Language-Oriented Business Applications
Generic Tools, Specific Laguages
Domain Specific Language Design
From Programming to Modeling And Back Again
Faszination Segelfliegen
Introduction To MDD
Professional Podcasting Guide
DSL Best Practices
Fundamentals Of Software Architecture
Architecture As Language

Recently uploaded (20)

PDF
Digital Strategies for Manufacturing Companies
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administraation Chapter 3
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
System and Network Administration Chapter 2
PPTX
history of c programming in notes for students .pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
Digital Strategies for Manufacturing Companies
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Which alternative to Crystal Reports is best for small or large businesses.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PTS Company Brochure 2025 (1).pdf.......
Odoo POS Development Services by CandidRoot Solutions
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administraation Chapter 3
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
How to Choose the Right IT Partner for Your Business in Malaysia
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
System and Network Administration Chapter 2
history of c programming in notes for students .pptx
top salesforce developer skills in 2025.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
VVF-Customer-Presentation2025-Ver1.9.pptx

What's Missing in Language Workbenches