We interviewed Jos Warmer, who is taking part in the LIonWeb Initiative.

An initiative to create an ecosystem of interoperable components for building language-oriented modeling tools on the web.

We believe that a lively ecosystem will facilitate the adoption of language engineering and modeling solutions by reducing vendor lock-in. Development of advanced solutions will be accelerated by mixing and matching components, potentially sourced from different vendors or open-source initiatives. It will also foster innovation, as incremental improvements can be defined on top of the existing libraries and components.

Federico Tomassetti: today we have the first interviews with one of the core contributors to LIonWeb. You may wonder what LIonWeb is. So LIonWeb is an initiative for facilitating interoperability between language engineering components. The idea is that you can use components built by different parties, with different languages, and possibly distributed on the web. That means that, for example, you could combine things like editors, model repositories, code generators and other things to build a complex solution.

And today, we are lucky enough to have a Jos Warmer with us. Of course, if you’re being involved with language engineering, you already know about him. But in case you’re new to the field, there are a couple of things that you may want to know about Jos. First of all, he has been the main contributor to the Object Constraint Language (OCL) standard and a contributor to the UML standard. Another important contribution that he made in the field was working on the Mendix web modeler. Mendix is a relevant success story for the modeling field as a having being sold for $600 million. So quite a success story.

For the last few years, Warmer has been working on Freon, which is an evolution of Projectlt. This is a project that he has been working on with Anneke Kleppe. Freon is a toolkit to build languages running in the browser, and I’m sure we will have a chance to discuss it more. So thank you so much Jos for for joining us today.

Jos Warmer: Thank you very much.

Federico Tomassetti: So first of all, I will start with the first question. Well, I guess this is the right order, and so why did you decide to join the LIonWeb initiative?

Jos Warmer: Um, well, the reason actually came from a customer project where we build the language using MPS, but the customer wants to widen it out, make it more accessible, make it more connectable, etcetera. So that was a point where LIonWeb seemed to fit in pretty well, and at that point, I knew what line where I was not really involved, but I started to see all the benefits of it, and I got involved. Because we have a lot of tools in the language engineering community, but they’re all basic stand-alone islands and being able to connect them through some common interface would make us doing things for customers much, much more powerful.

Federico Tomassetti: So it’s good that your interest started from a real case. So this is not just something abstract and academical. And I was wondering how do you think that language engineering, in general, could benefit from LIonWeb?

Jos Warmer: Um, I think language engineering is a very small community if you look at the IT world. And apart from being very small, we are also divided in very little subgroups, each one with its own tooling, each own things, each own way of doing things, and it’s very hard to connect all of that. And I think a huge benefit is to be able to connect these communities. So we will have a larger group which can work together in a sensible way. And that way I think or maybe I’m just hoping, I don’t know, we’ll see in the future that we might get enough critical mass actually to make it a more feasible solution to other people.

Federico Tomassetti: Can you also tell me about how do you think that you specifically could benefit from LIonWeb and you have already made an example about a concrete project, but maybe you can also tell us a bit more about maybe how Freon can benefit from LIonWeb.

Jos Warmer: Yeah, yes, I can. There’s a lot to say about it. For Freon our goal is not to provide one toolkit that does everything for everyone. My experience is that such a thing doesn’t exist. A lot of tools are built in a way that they assume that they are the center of the world and the rest of the world revolving around it, which is not true for any tool.

So, we tried to create a very open environment where the idea was we don’t even do everything ourselves. We expect that we can connect with other tools or that people can replace part of what we delivered in Freon with other things through well-defined interfaces. Um, so it can connect with other tools in an open way to leverage all the knowledge and all the work that other people are doing. And basically, Freon is currently done by two people with a little bit of help from some others, and it’s very clear we can’t do everything ourselves. So being open means we need to connect to other tools and having LIonWeb which defines a protocol on how different tools connect with each other actually fits perfectly with the vision we have for Freon. We need something like this, and we were already in the process of defining our own protocols. Which people can connect, which is nice, but still very specifically for him. And LIonWeb we’ll just offer much more. And the other way around: through LIonWeb, we hope we can use other tools to complement the functionaries that LionWeb has that Freon needs. In Freon we do not really put effort in repositories or model storage or whatever. We have a very, very, very, very simple model storage which just use a JSON file and that’s it. So being able through LIonWeb to connect to repositories should bring much much more and more powerful functionality. Is a user benefit something that we hoped would arrive at some point, so I’m very happy that it’s actually getting there.

Federico Tomassetti: Yeah, so, if I understand correctly, an advantage for you and other that are building tools in this field is that you don’t need to necessarily build yourself every different aspects of the entire solution. You can reuse components and focus on the things where you are great at instead of maybe build, you know, a model repository with the limited time available for this.

Jos Warmer: Yes, well, so another area where we basically have done nothing yet and we don’t plan to, is Code Generation. There’s lots of quite mature tools which you can use for code generation, so we don’t think building another one makes sense, but we do like to have a way to easily connect with them so people can just use them. And we already see in customer projects that projects are using, for example, with MPS code generation using Xtend. And then, they have to build their own interface to make sure that you could actually each represents models, and use in Xtend would have helped in such project to have LIonWeb.

Federico Tomassetti: Yeah, so, because building these interfaces is typically not the most fascinating part.

Jos Warmer: It’s it’s boring boilerplate code, but it’s a lot of work. And I personally prefer to do some more interesting work.

Federico Tomassetti: Ok, so so we have seen how LIonWeb allows you to focus on certain components and reuse potentially other components, but maybe we can now discuss about what you are working on at the moment.

Jos Warmer: Umm, in the beginning of the year I’ve been working with other members of the LIonWeb group on several proof of concepts of connecting Freon with other tools. And other tools in this case means, we had a proof of concept with Modelix with StarLasu along with MPS, or connected them through Freon, all in a rather ad-hoc way. So what I’m currently working on is getting all the code we wrote for those proof of concepts and moving that into the core of Freon. Basically, we want to support Freon as the native interchange format and interchange protocol and, sorry use LIonWeb as the native interchange protocol for correct. Ohh, that’s where the focus is on now.

Federico Tomassetti: It’s it’s nice to hear that there are already some PoC for that, and what do you think we need to make LIonWeb successful because the initiative is ambitious.

Jos Warmer: One thing we need which is obvious, we need more than one tool to implement LIonWeb. Umm. In the UML world that sets a long time ago we had a Diagram Interchange Format standard. And there was one company who implemented it. Ever. That’s not successful, so in LIonWeb we need a number of tools that will implement it so people can actually use the different tools with each other and the more the better. And the other thing we need, and that’s probably a direct… we need enough critical mass, we need enough critical loss. I mean, we need enough people actually start using it so it will getting speed.

The other thing we didn’t talk about yet is: it needs to be simple. Used to follow the KISS principle. If we create LIonWeb and create a protocol that is very much defined in terms of meta, meta, meta, meta stuff, then yes, you can understand it, I can, and probably a few dozen people in the world, but it won’t make any impact because most people won’t understand it. So we need to create protocols and interfaces that are understandable and usable by well by just developers who are not into meta stuff or language engineering. And that’s that’s pretty hard because in LionWeb we are all meta-meta people. And we have to make sure that it is usable. Because one of the things I see is not just connecting the different language engineering tools, but also if a company builds a language for part of its business, the tools, and the language need to interoperate with all the other systems that the customer have. So it must be easy enough for all the developers in the company to just get access to the models and connect them with the other systems so they can integrate in their environment. Uh, and that’s something which I think is crucial because otherwise companies might have solutions with languages, but if they keep being an island inside a company, then on the longer term it’s. doubtful what the system can be used for.

Federico Tomassetti: Good. So we have some work to do.

Jos Warmer: We have a lot of work to do, but wow. Interesting work.

Federico Tomassetti: Yeah, definitely. And who else, do you think should look into LionWeb?

Jos Warmer: Um, I think that basically everyone in the language engineering area should take a look, should see how they can connect their tools, from both people building their own tools. Connect with LIonWeb and try to find how they can benefit from it. I mean it is work to connect it all to LIonWeb but you should really look at how can it help me because you might be able to leverage the work of other. You can focus on your piece, and in that respect I also think that also the academic community should take a look because a lot of the research I see people are building their own environment from scratch. And they do a lot of very hard and very boring grind work to build up a base on which the real research takes place. Um, if you use LIonWeb you might be able to leverage all the infrastructure that other people built and actually spend all your time on the interesting research which is good for researchers because that’s what they like to do. It also means that the research that that you can connect more easily to the business worlds, so that would be a very big with miss situation.

Federico Tomassetti: Yeah, that is a very good point. They often think that people are working on their master thesis, they spend like maybe two months and a half doing the boring bits and then they have 15 days left to do the interesting part, but maybe with LIonWeb, we can change the proportion.

Jos Warmer: It would be nice to turn it around and actually focus everything on the interesting side.

Federico Tomassetti: Good, good. So thank you very much Jos. I think we gave an initial introduction to LIonWeb and we start you know sharing this vision with others and hopefully creating this critical mass that you were talking about. So thank you.

Jos Warmer: Great. Thank you very much.