Dresden, Jun. 21st 2011 – There have been some really nice presentations at the democamp in Dresden again.
Jan Köhnlein from itemis AG started with a demonstration of Xtext 2.0. Xtext is a language development framework that you can use to create your own programming language or domain-specific language (DSL). It generates an editor that’s integrated in Eclipse providing all the features you would expect from an IDE: syntax highlighting, code completion, validation and quick fixes, outline support, and indexer for searching elements of your models.
With Xtext 2.0 a couple of new features are introduced. Some of them are:
- rename refactoring
- hovers (generated from JavaDoc-like comments)
- the generator language Xpand now bases on the expression language Xbase
- the generator automagically generates on the fly if you create a “src-gen” source folder in your Xtext-nature enabled project that contains you model files
Arne Wiggers (itemis AG) demonstrated the development toolkit applause for mobile business applications. Applause bases on Xtext and allows programing your app with a DSL that can generate application code for various platforms such as iOS, Android, Blackberry, and the like.
The break was used to cease hunger, have a drink, and chat with eachother. It’s always to little time to talk with everyone long enough so we decided to have an extended chat with a beer later after the democamp.
Steffan Herrmann (GK Software) recently became JDT committer. He reminded everyone of how embarrassing NullPointerExceptions (NPE) actually are, but that we got used to them so much, that most of us don’t care about writing null-safe code anymore. He uses his new committer role to improve Eclipse’s java compiler to find potential NPEs in the code at compile time. This is done via introducing the very intuitive annotations @Nullable and @NonNull that can be placed in method signatures before return type and parameters. Methods annotated that way then provide a contract that must not be broken and that can be evaluated at compile time
- when the method is called from anywhere else
- when the return value of that method is returned within the method
Details about installing and using this experimental package are available on this eclipse wiki page.
Lars Martin (itemis AG) demonstrated how you can integrate your Xtext-based model editors into the ProR requirements engineering platform. His demonstration featured a screen containing an editable cell of a table. Double clicking that cell resulted in a dropdown editor view containing the just developed Xtext editor for a monitor language.
Again, the last talk was given by Mirko Seifert (Freelancer) about debugging executable DSLs that are based on EMFText. With a great portion of humor and the help of the dude he demonstrated how EMFText already generates debugger support for your DSL, how you can extend that to expose certain variables to the variable view in the debugger, how to set a break point, how to write a simple interpreter for your executable DSL, and how to debug your DSL finally.
To sum it up: The sponsors itemis AG and GK Software did a great job of selecting very interesting demo talks. Thanks for the sandwiches and drinks during the break, too!
After the demo camp we met for a beer in the Paul Rackwitz bar and had further chats about the talks and especially modeling in general.