Thursday, June 25, 2009
 

Eclipse, Galileo and oAW

Yesterday was the big day: Eclipse 3.5 Galileo was just released.

I thought I'd use this occasion to give you an update about oAW in this context.

The Galileo release contains what has been known as oAW 5. Over the last year, oAW has been broken down into its constituent components, and the components have been contributed to Eclipse. oAW 5 can thus be considered a distribution, or packaging, of these components.

However, currently there's no real oAW 5 release, specifically the openArchitectureWare.org website does not yet reflect the newest release.

If you want to get the new code, you should simply download the available distributions. You can get the Everything-in-Modeling distribution from here the Eclipse download page or you can get the oAW distribution from itemis' oAW site.

So what's new in the current release?

First of all, Xtext has been completely rewritten, as part of the TMF project. This is why we now call it TMF Xtext. The new version is much more scalable, supports cross-language references well, supports (single) language inheritance and is generally much more flexible. Go to the official TMF Xtext project page to find (the really nice!) documentation and access to newsgroups and mailing lists.

oAW 5 also contains - as you would expect - Xpand, Xtend and Check. These are all wrapped under the M2T Xpand project. Compared to 4.3.1, no major changes have been made; a couple of bugs were fixed and a number of minor adaptations have been made to work better as an Eclipse citizen. There's also a wiki page as well as newsgroups and mailing lists.

Finally, the release also contains the tried and trusted workflow engine. It is now its own EMFT project, with the goal of encouraging other transformation tool developers to write a workflow component to integrate with workflows. Imaging you could simply use an ATL transformation or MOFScript generator as part of your workflow...!?

So you might wonder: what has happened to openArchitectureWare as a whole, now that all its "real stuff" has become Eclipse projects and the downloads are available as part of distros? There is now an oAW Working Group. It has its own mailing list and website, and this is the place where we want to gather oAW users, discuss the tool and coordinate further development in the context of the Eclipse development process. The openArchitectureWare.org website will be adapted soon to act as a redirect to the working group page.

Thanks to all the oAW comitters, specifically the itemis guys in Kiel, for doing a great job with the new release, specifically with TMF Xtext. I am not completely happy with all the decisions they've made, but it is an important and very good step forward!
 
Sunday, June 21, 2009
 

Synchronized editors with TMF/Xtext and GMF

Jan Koehnlein, in his blog talks about creating a system where TMF Xtext and GMF work on the same model. He has a screencast that shows it. Well worth watching.
 
Friday, June 19, 2009
 

Visio, EMF and oAW

A long time ago I built an integration of Visio with openArchitectureWare 3. As version three of oAW went out of use, I didn't have the time and resources to update the tooling for oAW 4 and EMF. Recently some people have asked me about Visio/EMF integration and I had to disappoint them...

However there's good news! Heiko Kern from Leipzig University has built a Visio/EMF bridge that looks really nice! I have not yet used it, but it looks really good.

So, whoever asked me about the Visio/EMF integration recently (I have to admit, I forgot who it was :-( ): why don't you try this out and let me and others know if it works for you?
 
 

CodeGeneration 2009 - a great conference

I spent the last three days at the CodeGeneration2009 conference. I knew it would be good, since it was good the last two years, but this year it was really great.

The good thing is that it really serves as a (european) community meeting for many folks involved in DSLs, MDD and code generation. The best part of the conference, hence, is meeting all the colleagues and friens in this space.

Also, this was the first conference in a long time where I spend almost every slot in a session: I was in Eelco Visser's Stratego/XT tutorial, in a panel or two, and in two goldfishbowls (I love the format!) about the relationship between DSLs and programming languages, and modeling vs. programming in general.

I had the pleasure of keynoting the event this year, together with Metacase's Steve Kelly. We never did a talk together, but I think our two co-presented keynotes on best and worst practices in DSLs and MDD went really well - at least that's what the audience feedback sounded like.

The talk on MPS with Konstantin Solomatov was also a great success. I started out by presenting a bunch of slides about the idea of programming == modeling and projectional editing, and then Konstanting gave an impressive demo of MPS. You could see a bunch of open mouths in the audience while he was showing off the tool (people told me that mine was also open :-)). After he finished his demo with the words "I think that's all I wanted to show" the audience spontaneously applauded.

I think tools like MPS and Intentional's Domain Workbench have a great future - even if currently they still have a couple of rough edges. Who cares if you have to wait another year for a revolution :-) ?

So, I guess, you should really consider going to Code Gen 2010 next year if you're into DSLs. Not the usual introductory stuff - really interesting content!

Thanks Mark Dalgarno!
 
Wednesday, June 17, 2009
 

Flying with the Cambridge Gliding Club

Bernd Kolb and I spent yesterday evening with the Cambridge Gliding Centre. We are currently both at the Code Generation 2009 conference. Andrew Watson, also at the conference, and gliding instructor at Cambridge, invited us to join him for the Tuesday evening flying - thank you very much for this, Andrew!

Gliding really is the same everywhere, so once you are on an airfield, you can give everybody a hand and help out. And pilots are also a very nice bunch of folks, so it was easy to feel comfortable there. Bernd and I also both got a ride in one of their ASK-21's, a training plane both Bernd and I have a lot of exprience in. We did a winch take-off, and because it was evening already, it was only a five minute hop. I hadn't done a winch take-off for a long time, so it was also good exercise!

Thanks to the evening crew for their hospitality, and to Andrew to taking us along!
 
Friday, June 12, 2009
 

GMF is still awful

Today we had a GMF workshop at a customer (I was a participant, not the presenter). And I have to say I am still seriously underwhelmed by GMF ... I hadn't looked at it for a year or so. It is still basically unusable: awful editors, bad diagnostics and a lot of duplication.

Obviously, having a tool for defining graphical editors is a good thing. However, I think GMF really fails at delivering. It is too low level, and too brittle.

I wonder when somebody will build a decent (textual) language that supports simple creation of (GMF-based) graphical editors. York's Epsilon Eugenia is a step in the right direction.
 
Thursday, June 11, 2009
 

I hate travelling, continued

I am currently in Norway for a customer. Last night I was in the Ambassador Hotel in Drammen. I sucked - stay away! First I was in a room that was extremely loud, the trucks practically drove through the room. I asked for another room a minute after I arrived and they said they had no other room. Two hours later, after I tried in vain to sleep, I called the reception: "I want another room or I will leave the hotel". Then they had one....! I changed.

Of course I forgot my notebook power cord in the room, which meant I had to go back to the room the next morning. I asked at the reception to have them go into the room and grab the cable - they refused: "there's somebody else in there". I knocked at the room door 10 times, no reaction. They still said "somebody in there" and refused to let me in, "the person must be at breakfast". I asked everybody at breakfast. Nobody was in the room. After a long while I convinced a cleaning lady to let me in. It was empty. I got my cable. Of course I missed the train to the customer....

Next day, better hotel, Scandic Hotel in Asker. Nice room. Quiter. Of course at 21:40 a group of guests started dancing and singing outside the hotel in front of my room. No sleep, again.

I HATE TRAVELLING!!! I guess I really have to make sure that I have to travel less. The plan was to travel <= 50% as part of my work for itemis. However, as a consequence of the current economic situation I guess I have to travel more (again...).

Next year will be different! I promise (to myself)!
 
Tuesday, June 09, 2009
 

Keynote at Practical Product Lines 2009

I am happy to report that I will be giving a keynote at this year's Practical Product Lines conference. This is a new conference on PLE organized by Mark Dalgarno, who is also the person behind the very successful Code Generation conference series.

Now I just have to come up with a good topic/talk :-)
 
Thursday, June 04, 2009
 

MPS Beta 3

MPS Beta 3 is available for download. Important new features include a new, more text-flow-like editor layout as well as a facility to build custom MPS distributions/packages that only include your own languages.
 
Wednesday, May 20, 2009
 

SoftwareArchitekTOUR Podcast

I just wanted to let you know about a new (german language) podcast on software architecture called SoftwareArchitekTOUR. It is hosted at heise.developer, supported by Microsoft, IBM, itemis, innoQ and Siemens.

The shows are hosted by Stefan Tilkov, Michael Stal, Christian Weyer and myself.

In contrast to SE Radio, we won't do many interviews, but we'll try to build a real community by encouraging feedback and audience interaction.

Go, give it a try and let me know what you think!
 
Tuesday, May 19, 2009
 

Microsoft Axum: "Erlang for .NET"

Microsoft has just started talking about a new .NET language called Axum. People have described it as "Erlang for .NET". To stick with this classification, one could also call it "Erlang with a more mainstream syntax".

It is an agent based language, which means that communication is asynchronous and message-based, and agents (cf, the Actors model) are considered active, i.e. they have their own thread or process. Data in messages is typed and can be (deeply) serialized to make remote message sending (i.e. agent distribution) possible and more or less transparent. Axum comes with integration into WCF.

Communication between agents happens via Channels. A channel is a kind of "asynchronous interface", i.e. channels define which messages can be sent into it and received from it. Agents "implement" Channels as a way of defining the kinds of messages it can handle.

Since the timing and sequencing in asynchronous applications can be hard to understand, Axum supports the definition of protocol state machines (yeah!!) for channels. So if you send something in the wrong order, you don't get a strange crash or a deadlock, but rather a meaningful error message. I *love* that part!

Axum comes with powerful operators to define dataflow networks. You can say things like: "wait until a message arrives in this channel and in that other channel, then combine the two messages in an array, forward them to the agent xyz and forward the result to these other two channels, in an alternating way". You can define things like that with concise expressions. Very cool!

Axum has a controlled way of handling side effects. Specifically, the "units of functionality" can be declared as functions, which means they have no way of accessing state (this is checked by the compiler). The point of this is, of course, to be able to run parts of dataflow networks in parallel. This is where the big benefit of agent-based/dataflow-oriented systems comes in.

I have to say, this stuff looks *really* interesting! Because it is based on the .NET platform you get interop with other .NET stuff more or less for free. There's also an integration with VisualStudio. It is really interesting to see how Microsoft, after "renovating" and "mainstreaming" Haskell to F# they now adress Erlang and pimp it up to Axum. Very cool!
 
Sunday, May 10, 2009
 

Afrikanische Ostern

(sorry for the German language...) An Ostern 2009 war segelfliegerisch das absolute Hammerwetter. Das kam so unerwartet und hat mich derart begeistert, dass is beschlossen habe, mal ein paar Eindrücke zu Papier zu bringen. Das 9 Megabyte PDF ist jetzt fertig. Viel Spass beim Lesen :-)
 
Tuesday, May 05, 2009
 

Cool Customers, Part 2

More work with interesting customers. Recently I was working with the folks at Schlumberger. They develop and operate oil drilling equipment, specifically directional drills. It's amazing what goes into such seeminly simple devices...

Today I am returning from DFS, the German air traffic management organization. I did some MDSD and PLE consulting with their R&D branch. Since I am a pilot myself, and consequently a "DFS customer" (a little bit, at least...) it was very interesting to talk to the people there and the future challenges of air traffic control. I also did an interview for omega tau.
 
Tuesday, April 28, 2009
 

I am on Twitter now!

I gave up my resistence. You can follow me at @markusvoelter.
 
Friday, April 24, 2009
 

Practical Product Lines 2009

Mark Dalgarno, the "curator" of the Code Generation website and conference has created a new conference on product lines. In contrast to SPLC it is intended to be much more practice-oriented (hence the title). It will happen in October in Amsterdam.

If it will as good as the Code Generation conference - which I am certain it will - then this is certainly going to be worth attending.
 
 

My DSL Devcon Talk is online

The video of my talk on Textual DSLs and Code Generation with Eclipse Tools is now available. Since I had only 45 minutes I had to compress things down quite a bit, making it a very brief and succinct presentation about the topic.
 
 

JAX 2009 slides online

The slides from my talks at JAX 2009 are now online.
 
 

Intentional Update, II

I guess I have to be a little bit clearer.

In case you wondered why I have been so enthusiastic about what Intentional is doing, you really need to watch this video. It's the kind demo I always wanted them to give while I was working with them - at that time they felt the system wasn't ready.

Now they actually show (to a reasonable extent) how their stuff works. I have seen much of this before and couldn't talk about it, now you see a lot of it in this video.

If you're into DSLs, you *have* to watch this video. It clearly shows the potential. Give ISC a little bit more time to polish the system, and this is going to be a revolution!
 
 

Intentional Update

As you know (if you read my blog) I was at the DSL Devcon last week. Among other things, the Intentional guys gave a demo (video here) of their Intentional Domain Workbench. At the time of the demo I was already on the way to the airport, but they gave me a private update about what has changed since I stopped working with them. In the meantime they have released version 1.0 (to their customers) and I have seen quite a bit of progress since when I left. Nice!

Instead of describing some of the details myself, I recommend you read Martin Fowler's blog post on this topic. As usual, he does a much better job than what I would do, so I defer to him.
 
Friday, April 17, 2009
 

SPLC 2009 Tutorial: Using Domain Specific Languages for Product Line Engineering

I am happy to announce that I got a tutorial accepted for SPLC 2009: Using Domain Specific Languages for Product Line Engineering

Domain specific languages together with code generation or interpreters (a.k.a. model driven development) are becoming more and more important. Since there is a certain overhead involved in building languages and processors, this approach is especially useful in environments where a specific set of languages and generators can be reused many times. Product lines are such an environment. Consequently, the use of DSLs for SPLE is becoming more relevant.

However, to exploit DSLs in the context of product lines there is more than
just defining and using languages. This tutorial explains the differences as
well as commonalities between MDD and in SPLE and shows how the two approaches can be combined. Topics include when to use configuration over customization, how to combine domain specific languages and feature modeling, and how to build variability into code generators as an additional means of implementing variability.

All the concepts will be illustrated with open source tools based on Eclipse.
 
 

Microsoft DSL DevCon

I am currently at the Microsoft DSL DevCon. It's actually a quite nice and interesting gathering that provides a very good overview over many things DSL. From Oslo and M to internal DSLs in Groovy and F# to Eclipse Modeling and oAW (my talk :-)). The audience seems to be quite well versed in terms of DSL. Although travelling to the US for two days is a bit insane, I think it was worth it! Thanks Chris for inviting me :-)
 
Sunday, April 05, 2009
 

Workshop: Model-driven Approaches in Software Product Line Engineering (MAPLE 2009)

If, like myself, you are convinced the model-driven development and product line engineering go together really well, they you should consider the following two things: (1) going to SPLC this year, and (2) submitting a paper and participating in the MAPLE 2009 workshop.

It will certainly be a great workshop!
 
Thursday, March 26, 2009
 

New German Article: Werkzeuge für DSLs

Abstract: "Domänenspezifische Sprachen werden als Teil der modernen Softwareentwicklung immer wichtiger, die dazugehörige Tool-Landschaft entwickelt sich spürbar weiter. Die neuesten Kandidaten sind Microsofts Oslo sowie MPS von JetBrains, die in Konkurrenz zu den bewährten Werkzeugen der Eclipse-Welt, MetaEdit+ und Microsofts DSL Tools treten.". more...
 
 

Charles in Space - Take 2

Charles Simonyi, formerly of Microsoft and now of Intentional Software is about to take off for his second flight to ISS via a Russian Sojus craft.

He will be the first non-professional astronaut to fly into space twice!

People always say that money doesn't make you happy. I guess that's true. But having enough of it to pay for your trips to space can certainly be a positive aspect in a person's live :-)
 
Thursday, March 19, 2009
 

SEACON 2009 - Programme Available

The programme for the SEACON 2009 conference in June in Hamburg is now available.

Since Bernd Oestereich, Jochen Meyer and myself consitute the programme committee for this conference, I of course like and recommend the conference :-)
 
Tuesday, March 10, 2009
 

A revoultion, if it works

Once again, if this stuff works, it will be a revolution. And Stephen Wolfram certainly isn't known to be a talker - he is usually able to do what he's talking about. Here's another article, and even something on spiegel.de
 
Monday, March 09, 2009
 

Semantics for Xtext Languages

Many languages defined with oAW Xtext have aspects in common. One way of exploiting this is to modularize language definitions and then composing specific languages from these modules. However, because of limitations of the current (4.3.1) version of Xtext, this is not necessarily a very viable approach.

The semantic annotation toolkit provides support for another approach. Languages are built from scratch (i.e. there is no reuse between grammar fragments), but the semantics of various language building blocks are still reusable. By annotating grammar elements with semantic annotations, the necessary Xtext infrastructure can be generated to make those grammar elements behave in a specific way.

Technically, this is implemented by generating extensions and checks as well as by model transformations and extensions of the meta- model.

Take a look at the latest documentation on the download page or watch this introductory screencast.

Labels: ,

 
Friday, March 06, 2009
 

Code Generation 2009 - Programme Available

The programme for the 2009 edition of the Code Generation conference is available. I will to a keynote there together with Steven Kelly, and I will also do a talk on MPS together with JetBrains' Konstantin Solomatov.
 
 

MPS Beta 2 available

... with a couple of new features.
 

back to voelter.de

ABOUT ME
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.

ARCHIVES
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 /

FEED
You can get an atom feed for this blog.