MPS day in MODELS 2018

Tuesday, October 16, 2018
9:00 AM - 12:30 PM (local time)
Copenhagen, Denmark
IT University of Copenhagen
MPS day in MODELS 2018
JetBrains MPS is a tool for creating your own domain-specific languages (DSLs). If you're asking, “Why do I need a DSL?” or “Why make DSLs with MPS?”, then this event is for you.

A domain-specific language can significantly increase the productivity of a business by utilizing the potential of automation. During the event, our speakers will give you some real-life examples, insight into DSLs that are being used effectively within many different industries and we will finish with some hands-on coding to show you how MPS works.

MPS Day is part of the ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS) and registration is required.

Please note that the talks will all be given in English.

Agenda

9:00 - 10:00

Why modern language workbenches matter? - by Vaclav Pech
People often develop dialects and domain-specific lingo that let them describe things accurately and communicate effectively. Language workbenches bring the same flexibility into the world of programming languages. The need for high-level computer domain-specific languages is universal and can be identified both in academia and in industry. JetBrains MPS is an open-source language workbench that clients from many industries have chosen to implement their DSLs.
Why do companies invest in DSLs? What are the key benefits for them? How are these DSLs implemented in MPS? I want to answer these fundamental question during this practical session.
10:00 - 10:30
Biological knowledge base project - by Alexander Shatalin
In this session, Alexander will present an overview of the Biological Knowledge Base project. Recently started by JetBrains, this project is based on a set of DSLs covering the area of Biological research and knowledge. Historically, MPS has been used at JetBrains primarily in the Software Development domain. At the same time, the power of the tool may help people in other areas that are very different from mainstream software development. During this talk, Alexander will present a number of examples of MPS-based DSLs and describe how they form the core of the project.
10:30 - 11:00
Coffee Break
11:00 - 12:30
Coding a Language Extension with MPS - by Markus Volter
The best way to get to know a tool is to see it in action. This is why this presentation has no slides, it consists only of live demos. In particular,
I will implement a simple language extension for a functional programming language. The session showcases language aspects such as structure, notation, type system, generator, interpreter and IDE features. Modular language extension is idiomatic in MPS: this way you can incrementally grow a language towards a particular business domain while retaining modularity.
17:45 -
18:15
Registration
17:45 -
18:15
Welcome Words
17:45 -
18:15
IntelliJ IDEA-based IDEs Tips & Tricks
Mikhail Vink / Hadi Hariri

An IDE is so much more than an editor, yet people still seem to compare one to another. This session looks at IntelliJ IDEA and shows tips and tricks that will make you a more efficient and productive developer (most of the tips’n’tricks are also applicable to all IntelliJ IDEA-based IDEs, such as WebStorm, PhpStorm, PyCharm, and others). From searching for symbols to having a smooth workflow when working with version control, the presentation examines all the aspects that make it possible to have a pleasurable development experience. You’re guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask whether they did.
17:45 -
18:15
Registration
17:45 -
18:15
Welcome Words
17:45 -
18:15
IntelliJ IDEA-based IDEs Tips & Tricks
Mikhail Vink / Hadi Hariri

An IDE is so much more than an editor, yet people still seem to compare one to another. This session looks at IntelliJ IDEA and shows tips and tricks that will make you a more efficient and productive developer (most of the tips’n’tricks are also applicable to all IntelliJ IDEA-based IDEs, such as WebStorm, PhpStorm, PyCharm, and others). From searching for symbols to having a smooth workflow when working with version control, the presentation examines all the aspects that make it possible to have a pleasurable development experience. You’re guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask whether they did.
17:45 -
18:15
Registration
17:45 -
18:15
Welcome Words
17:45 -
18:15
IntelliJ IDEA-based IDEs Tips & Tricks
Mikhail Vink / Hadi Hariri

An IDE is so much more than an editor, yet people still seem to compare one to another. This session looks at IntelliJ IDEA and shows tips and tricks that will make you a more efficient and productive developer (most of the tips’n’tricks are also applicable to all IntelliJ IDEA-based IDEs, such as WebStorm, PhpStorm, PyCharm, and others). From searching for symbols to having a smooth workflow when working with version control, the presentation examines all the aspects that make it possible to have a pleasurable development experience. You’re guaranteed to leave this session knowing things you probably didn’t even know existed and were afraid to ask whether they did.
Ab, assumenda consectetur, consequatur cum cumque dolor doloribus laboriosam, laborum perferendis quae quis sunt temporibus vero. Impedit molestias nemo officia quis sint. Amet architecto autem ea, fuga iusto nihil sequi.

Speaking to you

Václav Pech
Václav is passionate about programming in all its forms and flavours. He's keenly interested in server-side Java technologies, distributed and concurrent systems, modern programming languages and DSLs. He has joined JetBrains on a mission to empower developers with top-notch development tools. He's currently involved in the MPS project, developing a projectional DSL workbench and building customized DSLs.
Alexander Shatalin
Alexander Shatalin leads the JetBrains MPS project. He has developed and supported various subsystems of MPS project since 2009. Having a good understanding of the platform architecture as well as future plans of the project, Alexander tries to apply MPS to different domains using modern language engineering ideas and approaches.
Markus Volter
Markus works as a language engineer, bridging the gap between industry and business domains to software systems. He analyses domains, designs user-friendly languages and supporting analyses, and implements language tools and IDEs, architects efficient and reliable backends based on interpreters and generators. He also works on formalisms and meta-tools for language engineering.
Langgaards Vej 7, 2300 Copenhagen, Denmark