JetBrains MPS Community Meetup 2019
Last year we had our first JetBrains MPS Community Meetup which was a great success. Watch the recording of the previous event
This will be a great opportunity to share your feedback with the MPS team.
At the end of the first day, we want to launch our
JetBrains MPS community Meetup is an event organized by JetBrains and itemis.
Please note that the talks will be given in English.
Call for speakers
by the MPS Team
There are a lot of things happening around MPS that we are eager to share with the community.
Since the last community meetup, we’ve rolled out 4 major releases and we want to tell you all about the recently added features. Our community has grown a lot too, and there are insights we want to share about that. We will also talk about the services we offer to help and support our customers in their MPS projects.
It’s not a secret that we have been working on Web MPS, and now we are ready to demo this technology and explore its future with you. Finally, we will outline the roadmap for MPS going forward.
Tackling Security and Safety with MPS
by Klaus Birken from itemis
As the complexity of technical systems is rising, security and functional safety are two cross-topics which are crucial for the success of a product. Appropriate tools are needed to cope with the challenges resulting from those topics, applying mechanisms like abstraction and automation. MPS is a proper platform for building such tools. In the talk, we will demonstrate two solutions itemis has built in order to help customers tackling security and functional safety problems, and how the capabilities and flexibility of MPS support this. These two solutions cover the range from modeling and analyzing distributed systems to weaving patterns into C-code, from end-user RCP product to research prototype, from graphical editors to shadow model transformations.
DSLs with MPS: Big design upfront?
by Kolja Dummann from itemis
As the whole software industry has moved to agile processes we also develop languages in such environments. How can we facilitate agile methods and practices to develop better languages and tools around them? Based on severals past and present projects we will take a look at how we developed DSLs and Tools based on MPS in an agile way. What are the strong points of MPS in such a context and challenges did we encounter on the way? In addition, we will see how iterative language development influences language design to allow users to provide feedback on missing language features or incomplete semantics.
Taming the Computed Tomography Scanners Complexity with Domain-Specific Languages
by Holger Nehls from Siemens Healthineers
Using the potential of projectional editors to switch from generic spreadsheets to a workflow-driven application
Four years ago, Siemens Healthineers started a project to tame the complexity of the specifications for our Computed Tomography (CT) scanners. The result is a domain-specific modeling tool, build with MPS, that replaces the traditional documents based approach for scanners specification.
During the productive use of the first version of our application, we learned that it is a very good idea to separate the editing workflow from the different views on the data. This leads to a complete restructuring of our tooling and the implementation of a workflow-driven application that benefits from the unique capabilities of MPS.
In the talk, I will present the result by a demo and summarize the challenges we faced.
The second part is about our Continuous Integration (CI) chain and the (ongoing) implementation of DevOps principles for the domain-specific tool.
GDF: a Gamification Design Framework powered by Model-Driven Engineering
by Antonio Bucchiarone from Fondazione Bruno Kessler FBK
Gamification refers to the exploitation of gaming mechanisms for serious purposes, like promoting behavioural changes, soliciting participation and engagement in activities, and so forth. In this talk, we present the Gamification Design Framework (GDF), a tool for designing gamified applications through model-driven engineering mechanisms. In particular, the framework is based on a set of well-defined modelling layers that start from the definition of the main gamification elements, followed by the specification on how those elements are composed to design games, and then progressively refined to reach concrete game implementation and execution. The layers are interconnected through specialization/generalization relationships such that to realize a multi-level modelling approach. The approach is implemented by means of JetBrains MPS and has been validated through a gameful system in the Education domain. The layered approach allows to reduce the complexity of game design by separating the different concerns involved in the development, and at the same time discloses the opportunity of reusing portions of a game in other scenarios. Moreover, it enables the definition of monitoring and adaptation routines to trace game evolution and possibly react in front of undesired/unforeseen scenarios.
Finally, a declarative base language for MPS!
by Wim Bast from Modeling Value Group
We will give a demo of DclareForMPS.
by Kemal Soysal from LS IT-Solutions GmbH
In MPS, as dependencies, we use languages, modules, models, and Java stubs from .jar files, among other things in a model. Although we can write our own plugins, we may sometimes need to use plugins from other vendors. We intrinsically need to have knowledge of which plugins need to be preinstalled in our MPS or User Config Folder to open a project. By modeling each dependency in the project itself, we can:
* Adjust the version, type, and location information.
* Integrate into the logical view.
* Load/unload the dependency.
* Introspect its dependencies.
* Navigate to the source or other artifacts.
* Support automatic building.
The core of dependency modules is extensible, allowing users to extend it to their needs.
Are Tax Specialists the New Programmers?
by Diderik Dulfer from Dutch Tax Office
At the Dutch tax administration, we have used MPS to create a tool that supports our DSL RegelSpraak. This language is a controlled natural language to specify the rules for tax calculations. The Dutch tax administration uses this language to implement the Anti-Tax Avoidance Directive (ATAD) adopted by the EU, which contains five legally-binding anti-abuse measures. In the process of specifying rules for the anti-tax avoidance directive, we work closely with tax specialists to specify the rules and the test cases. IT is no longer a black box for them. With the controlled natural language, they find themselves in the driving seat of IT development. And, of course, they know how to program these calculations much better than we do. In this session, we will talk about this project and other projects where we use MPS to support our development. We will show where we have benefited and where we can see improvements.
Embedded software modeling using Capital Software Designer
by Dinesh Kumar Rajamani and Jan Richter from Siemens
Capital Software Designer (CSD) is a solution from Siemens for onboarding embedded software modeling from requirements to architecture enriched by software contracts, which drives integration, verification, and validation activities. It is part of the Capital enterprise solution for defining, designing, producing, and maintaining embedded systems across electrical, electronic, and software aspects. Capital Software Designer is built on the JetBrains MPS language workbench. In this presentation, we give a brief overview of Capital Software Designer's positioning and capabilities, and highlight the following aspects of language engineering beneficially used in CSD. We leverage the projectional editing capabilities of MPS to allow the users to model in textual or graphical notation. The real-time architecture import model comparison helps architects to merge the architecture created from different standards such as SysML, AADL, and Autosar. The APIs exposed for CSD help in accessing and creating the MPS model from any outside environment, thereby making MPS a service.
Workday’s transformation to a new language platform: Developing a full-fledged programming language with MPS
by Bircan Copur, Antonio Gliubich and Alexey Yashin from Workday
Some time ago, at Workday, we set out to supplement and eventually replace our in-house, web-based metadata programming language, XpressO, with a more modern sibling, YP. We sat down to create a DSL but soon found ourselves on the road to developing a general-purpose programming language using MPS. In this talk, we will discuss how we tackled interoperability with 10+ years of legacy XO code. We’ll dive into the specifics of how we tried to solve different problems: from updating instances in an immutable programming language to translating all kinds of text strings into multiple natural languages, as well as implementing generic types with the help of the MPS type-system.
More of the agenda coming soon.
Why is the event not free?
We will put on breakfast, lunch and we had to rent the venue, and the second (and most important) is that, when the event is for free, there is always a significant % of people that register that then decide not to go, so due to the limited capacity in the venue we have to make sure there is enough space for the people who really want to come and take advantage of this event.
Are you going to feed us?
Breakfast, lunch, and snacks will be covered over the two days. Dinner though is on you.
Is it an event for beginners?
We are inviting people who already know about MPS to share their work and experience. This means that some talks may be more technical. Nevertheless, the door is open to everyone, so if you are still curious about the technology you are very welcome to join us.