Sunday, February 14, 2010

Dringende Buchempfehlung: Gunter Dueck's "Aufbrechen"

Ich bin ja nicht unbedingt ein Fan der früheren Dueck-Bücher. Ich finde sie teils etwas zu philosophisch und langatmig. Aber das neue, "Aufbrehen - Warum wir eine Exzellenzgesellschaft werden müssen" ist absolute Pflichlektüre für jeden der Deutsch versteht.

Dueck beschreibt wie sich die klassische Dienstleistungsgesellschaft aufgrund zunehmender Automatisierung dem Ende nähert. Der einzige Weg für ein Land (und die darin lebenden Menschen) relevant zu bleiben ist Exzellenz: also richtig gut sein bei dem was man tut. Mit anderen Worten: wir sollten dringend in Bildung und zukunfsfähige Infrastrukturen investieren. Ich will aber gar nicht mehr erzaehlen. Für jeden der sich schon mal die Frage gestellt hat wie das mit diesem Land eigentlich so weiter gehen soll, ist das Buch dringend lesenswert.

Übrigens hat Dueck auf der OOP 2010 über dieses Thema geredet und ich habe ihn im Vorlauf im Rahmen des OOP Podcasts dazu interviewt. Nach dem Interview war mir klar, dass ich das Buch lesen werden müsste. Vielleicht geht's Euch beim Hören des Interviews ja auch so :-)
Tuesday, February 09, 2010

MPS/C/Lego Showcase at Embedded World 2010!

I am glad to report that I will have the chance to show the MPS/C/Lego showcase at this year's Embedded World conference. itemis have a booth there, and I will be at the booth Wednesday and Thursday to help communicate itemis' story about model-driven development, DSLs and embedded systems - including Eclipse Modeling and Xtext, Yakindu and also the MPS/C/Lego showcase.

So if you're at Embedded World, be sure to drop by :-)
Monday, February 08, 2010

There's nothing more motivating than cool technology, Part 2

Of course I had to show the MPS/C/Mindstorms thing to my girlfriend. She works with embedded software for BOSCH. So in some very real sense, she would be a user of what we are building here. Together we built a simple "dancing robot" example. With a statemachine and a task. She said she really liked what she saw! Very encouraging! (Typically she is rather sceptical about the "magic" stuff I work on) We added some product line variability to create two versions of the "dance". Just a matter of minutes.

The cool thing was: except for a little bug in the statemachine generator, the new program (built with my own language) worked out of the box!!

This stuff is really A LOT of fun!

There's nothing more motivating than cool technology!

I spent the last couple of days and the weekend working on the Lego Mindstorms MPS showcase together with Bernhard Merkle. I extended my C implementation on MPS with state machines, tasks, bit patterns and other neat stuff useful for embedded programming and the Lego Mindstorms showcase.

It's hard to overstate how much fun it was! It is literally a matter of hours to extend a programming language (C) with new, domain-specific concepts that integrate completely into the programming experience - including the IDE and the type system.

MPS is really an unbelievably powerful tool, and it is surprisingly mature. Very little "strange behaviour". The only thing missing for a complete experience is an extendible debugger - and that will come with the next release (1.2).

There's only one problem: Using MPS effectively requires quite a bit of learning. The learning curve is significant. It's hard for most people to cough up the time and effort to work through the learning curve - I could not have done it without the wonderful support from Jetbrains' Konstantin Solomatov. The only thing I can say is: it's really worth it. It's a perfect environment for language development and integration, and clearly plays in the same league as Xtext and Intentional's Domain Workbench, with each of the tools having their own strong points and weaknesses.

Go, take a couple of weeks, and dig into it! It's really cool!

PS: I will blog about hte actual showcase later.
Friday, February 05, 2010

Helios Xtext coming along nicely

If you're an Xtext user you should take a look at the New and Noteworthy for Helios M5. The itemis team in Kiel is making good progress and the feature set for Helios is shaping up nicely.

I guess there's no point in repeating what the New and Noteworthy says, but I want to point out one feature specifically: the Builder infrastructure results in a "global model space". In other words you don't have to explicitly import resources (files) to be able to refernece an element. You can do it like Java and work with logical namespaces or packages or something. In the M5 release the guys added a feature which makes this facility perfect: Ctrl-Shift-Z opens a dialog where you can enter a the name of a model element and you can directly jump to that element. This completes the "Java IDE feeling" for your own DSLs. Very nice :-)

If you want to try it out get the M5 distro. It contains a bunch of examples that showcase the new features.

DSL Best Practices Video

The folks from the JAX conference have published the video of one of my talks at last year's JAX: DSL/MDSD Best Practices. It's german and I have a cold, but I guess it's still worth watching if you're into these topics.

(you can also read most of what I said in English in this article)

back to

This is Markus Voelter's Blog. It is not intended as a replacement for my regular web site, but rather as a companion that contains ideas, thoughts and loose ends.

December 2005 / January 2006 / February 2006 / March 2006 / April 2006 / May 2006 / June 2006 / July 2006 / August 2006 / September 2006 / October 2006 / November 2006 / December 2006 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / September 2007 / October 2007 / November 2007 / December 2007 / January 2008 / February 2008 / March 2008 / April 2008 / May 2008 / June 2008 / July 2008 / August 2008 / September 2008 / October 2008 / November 2008 / December 2008 / January 2009 / February 2009 / March 2009 / April 2009 / May 2009 / June 2009 / July 2009 / August 2009 / September 2009 / October 2009 / November 2009 / December 2009 / January 2010 / February 2010 / April 2010 / May 2010 / June 2010 / July 2010 / August 2010 / September 2010 / October 2010 / November 2010 / December 2010 / January 2011 / March 2011 / April 2011 / May 2011 / June 2011 / July 2011 / October 2011 / November 2011 / December 2011 / January 2012 / February 2012 / October 2012 / January 2013 /

You can get an atom feed for this blog.