Thursday, April 18, 2013

Release of Whole Language Workbench - CG2013 Edition

At this year Code Generation conference and Language Workbench Challenge, we previewed the upcoming release of the Whole Language Workbench.

Today, we are pleased to announce that the new milestone release is publicly available.
Please note that the examples include both the LWC assignment solution and the CG hands-on session material.

As usual, both binaries and source code are available:

  • SourceForge archives here.
  • GitHub Platform source here and Examples source here.

Friday, April 12, 2013

Whole Platform hands-on session at CG2013


The main subject of the session was the demonstration of a DSL focused on facilitating the introduction of domain abstractions into an existing code base.

We started by showing a few examples of the Patterns DSL applied to different domains such as JavaFX, code reuse, SWT, and GEF. In a few of them we completely replaced the underling code while in others we only abstracted parts of it.



JavaFX code abstracted
JavaFX patterns



Patterns and Models abstracted

Reuse patterns


SWT patterns


GEF code abstracted
GEF patterns

During the hands-on part of the session we started from scratch to introduce abstraction into a Java code base.
Using a set of Java classes we built an artifacts model representing our modeled starting point.
Then we applied a few refactoring such as "Introduce Patterns in Pattern Language", "Extract Patterns", "Extract scattered Pattern" to progressively gain the ability to use in our model patterns like "Property", "JavaBean", "JavaBeanModel", and "JavaProject".
First pattern introduced

Java Beans patterns

Java code without and with new abstractions 

Thursday, April 11, 2013

Whole Platform Solution to LWC 2013


If you missed the demonstration of our solution to the LWC 2013 assignment, here are some screenshots to get an idea.


The composable Metamodels of QL and QLS (see Foreign Type Relations)
An example of a model instance using both languages
The semantics used to generate code and validate the model instance

The resulting SWT application being generated

Finally the tooling and the tests

Sunday, April 7, 2013

Whole Platform team already in Cambridge

In order to attend to the CodeGeneration conference, the Whole Platform team has already established its headquarters in the two most productive places of Cambridge: the Starbacks and the Castle Inn.


Enrico is putting its final touch to our solution for the LWC13 assignment. You can watch the whole-examples repository to have an early preview.

I am working full time for the hands-on session Incremental engineering of DSLs from Software Prototypes. Come to the session for touching how much the development of languages can be sped up.
The new technology will be disclosed as an exclusive preview for Code Generation 2013: so no screenshots to show in advance!

Thursday, April 4, 2013

Whole Platform at Code Generation 2013

We are pleased to invite you at our hands-on session at Code Generation 2013 titled Incremental engineering of DSLs from Software Prototypes.

During the session you'll be able to experiment with an innovative technology that greatly simplifies the derivation of a DSL by capturing patterns found in the code.

Don't miss the opportunity to meet the core team of the Whole Platform during the conference!