DSL Forge 0.9.0 is Out!

dslforge-header

DSL Forge v0.9.0 is based on Eclipse Neon packages, with RAP 3.1.0 and Xtext 2.10. ANTLR v3.3 with JavaScript target has been patched for Java 8. This version comes with core refactorings on the generators. Mainly, the ACE/ANTLR Generator has been extracted from the Xtext/RAP Generator, which has been enhanced with new features. The Xtext content assist feature has been ported to RAP with very localized changes. The difficulty is not in porting the Xtext interfaces, but rather to manage the dependencies to JFace (no web support) and the adherence to the Eclipse JDT. Well, the Xtext team have refactored their features since version 2.9.x and the dependencies are now managed much better.

The Xtext/RAP Generator produces now 3 projects. For example, if you have the following RCP plugins:

  • /org.eclipse.xtext.example.statemachine
  • /org.eclipse.xtext.example.statemachine.ui

The generator outputs 3 projects:

  • /org.eclipse.xtext.example.statemachine.web
  • /org.eclipse.xtext.example.statemachine.web.build
  • /org.eclipse.xtext.example.statemachine.web.target

The web plugin to package with RAP, a Maven/Tycho project to actually build and package the editor as a web application archive (war), and the target platform on top of which to compile and build the web application.

4 Steps to get your DSL deployed on the web!

Step 1: Generate a web editor from an existing Xtext grammar.

Step 2: Set up the debug configuration and launch the web application from Eclipse.

Step 3: run the Maven build to get a web application archive ready to be deployed.

Step 4: Deploy the web archive on Tomcat

Limitations

Xbase is out of scope for now, as its adherence to the JDT cannot be satisfied in the current scenario. Moreover, Xtext grammar inheritence is not yet translated into ANTLR grammar inheritence, so if your grammar imports other grammars, generate the editor from the main grammar then copy the rules from the original Xtext files to the ANTLR file. Contact the professional support for additional details.

Download P2 Sites

Tooling: http://dslforge.org/downloads/tooling/repository/

Runtime: https://dslforge.org/downloads/runtime/repository/

Get the Source Code

https://github.com/plugbee/dslforge

Report issues

GitHub: https://github.com/plugbee/dslforge/issues

mailto: team@dslforge.org

dslforge

Pirate Robot: A Cool Application of Domain-Specific Languages!

As a case study, we used DSL Forge to build an e-learning platform for teaching kids the basics of computer programming. There is a blog post on Modeling-Languages.com which describes the use case in details. The Adventures of the Pirate Robot is an online and publicly available coding game which aims to teach kids computational thinking by coding the progression of a pirate robot in a game canvas. The technologies used to build the game (RAP, EMF, Xtext, Xtend) are traditionally used in the industry to build advanced RCP platforms for software and systems engineering. What we have done is to apply these technologies in the unusual context of online education and gamification.

Pirate Robot

Pirate Robot

This use case will be demonstrated during the next EclipseCon France 2016 as an application of DSLs for gamification, do *not* miss the talk!

Aknowledgement

Special thanks to Jabier Martinez for his contribution to the design of the game canvas, something I wouldn’t be able to do better than him given my lack of experience with sprite sheets and the short time we had.

Modeling and The Cloud

MoDELS 2014 Conference, in Valencia-Spain, was a very interesting opportunity to meet with researchers from academia and from the industry, and by the way discover the latest model-driven approaches and tools. “Modeling” technologies and the “Cloud” were quite recurrent terms. The buzz word was used in posters, demonstrations, and some talks as well. A satellite event called CloudMDE was organized in parallel, the proceedings are available here. Cool, so this is good news! The Cloud is gaining more attention in the Modeling community, and that’s normal; a lot of areas of computer science are seeking the Cloud, and Modeling is a part of it. The event was also an opportinuty to demonstrate DSLFORGE in front of a big audience (more than 400 conference attendees)… that was a great moment!

There is a plenty of reasons why people seek the browser approach. One interesting discussion was on how to use DSLFORGE as a front-end for demonstration purposes. Indeed, many people work remotely with customers, and they don’t necessarily want to impose to decision makers a full fledged IDE to see their latest achievements.

My focus this time was more on tools naturally, looking for some advanced techniques to do modeling online. At a first glance, modeling online seems today possible, there were some interesting demos indeed such as Umple and Txture. The former allows to update textual representations from UML diagrams, the latter allows to update textual representations using forms. None of the demonstrated tools allows to edit directly textual editors. There is a lack of technology support to get the working online wokbench you dreamt of, still a lot of challenges to come across before being able to see such next generation tools. I’m more convinced now that what we’ve done in DSLFORGE is a big step ahead.

I’ve been asked whether the tool is available for download… well the code is not open-sourced yet, however there is a mailing list if you want to get notified about the latest news. Please fill in your contact information below, you can unsubscribe at any time simply by sending an email to team@dslforge.org