<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Heiko Behrens (Blog) &#187; Eclipse</title>
	<atom:link href="http://HeikoBehrens.net/category/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://HeikoBehrens.net</link>
	<description>11:60 p.m. - my plain thoughts</description>
	<lastBuildDate>Fri, 16 Mar 2012 23:29:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Breaking New Ground</title>
		<link>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/</link>
		<comments>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 12:25:03 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[BeamApp]]></category>
		<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1788</guid>
		<description><![CDATA[After nearly three years with itemis I decided to found my own startup and to create a product in the mobile area. I like to think back of the awesome time with the Xtext team and later the newly founded mobile division at itemis. It&#8217;s been a pleasure to do consulting for demanding customers and [...]]]></description>
			<content:encoded><![CDATA[<p>After nearly <a title="Working for itemis" href="http://HeikoBehrens.net/2008/10/02/working-for-itemis/">three years with itemis</a> I decided to found my own startup and to create a product in the mobile area. I like to think back of the awesome time with the <a title="Xtext won Eclipse Community Award!" href="http://blog.efftinge.de/2010/03/xtext-won-eclipse-community-award.html">Xtext team</a> and later the newly founded <a title="Itemis' Mobile Division" href="http://mobile.itemis.com/">mobile division</a> at itemis. It&#8217;s been a pleasure to do consulting for demanding customers and to advocate model-driven development with Eclipse at <a href="http://heikobehrens.net/speaking/">international conferences</a>. I learned a lot over this time and want to thank all of my colleagues within itemis &#8211; Thank you for a great time!</p>
<div id="attachment_1792" class="wp-caption aligncenter" style="width: 460px"><a href="http://getBeamApp.com"><img class="size-full wp-image-1792 " title="BeamAppBanner" src="http://HeikoBehrens.net/wp-content/uploads/2011/08/BeamAppBanner.png" alt="" width="450" height="225" /></a><p class="wp-caption-text">My startup BeamApp builds a consumer product for mobile users</p></div>
<p>I was carrying the idea of building a &#8220;real&#8221; product for quite some time. So, after extensive discussions with friends, colleagues, other entrepreneurs and the directors of itemis I finally decided to leave my efforts in &#8220;consulting services&#8221; behind and to create my own business. It&#8217;s called <a href="http://getBeamApp.com">BeamApp</a> and focusses solely on building a consumer product for the growing market of mobile users.</p>
<p>As <a href="http://hackfwd.com/companies#beamapp">HackFwd reports</a>:</p>
<blockquote><p>With BeamApp, you can pass your current context from one device to another to continue an ongoing task with the gadget that fits best. A hassle-free, wireless setup and a seamless integration for dialing, texting, surfing, directions or music simplifies your mobile life. It works on iPhone, Android and BlackBerry with any laptop, netbook and tablet that runs Windows, Mac OS X or a browser.</p></blockquote>
<p>Thanks to <a href="http://en.wikipedia.org/wiki/Lars_Hinrichs">Lars Hinrichs</a> I got funded by <a href="http://hackfwd.com/">HackFwd</a> for roughly a year. From here, I will concentrate on the minimal viable product first, so please apologize the poor artwork and lack of promotion at the moment. If you want to stay up to date, follow <a href="https://twitter.com/#!/beamApp">BeamApp on Twitter</a> and subscribe at <a href="http://beta.getBeamApp.com/">BeamApp&#8217;s teaser page</a>.</p>
<p>You do not believe how excited I am about this step!</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/9863c8560baa4ac7b403b2a019f041b1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1788&amp;md5=f5142e964bca3077b82c8eedb8941b6e" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>New Website: Xtext 2.0 Indigo, CSS3 + HTML5</title>
		<link>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/</link>
		<comments>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 22:47:49 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1758</guid>
		<description><![CDATA[There&#8217;s been a major redesign of the Xtext website. Not only, it leverages the modern Eclipse Indigo look in different variations. Similar to Xtext itself, it comes with some cool new features whereas others had been polished and could be improved. You will find a completely overhauled documentation and dedicated areas for the infamous Xbase and [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a major redesign of the <a href="http://eclipse.org/Xtext/">Xtext website</a>. Not only, it leverages the modern<a href="http://www.eclipse.org/indigo/"> Eclipse Indigo</a> look in different variations. Similar to Xtext itself, it comes with some cool new features whereas others had been polished and could be improved. You will find a <a href="http://www.eclipse.org/Xtext/documentation/2_0_0/010-xtext-in-5-minutes.php">completely overhauled documentation</a> and dedicated areas for the infamous <a href="http://www.eclipse.org/Xtext/#xbase">Xbase</a> and <a href="http://www.eclipse.org/Xtext/#xtend2">Xtend 2</a>.</p>
<div id="attachment_1761" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.eclipse.org/Xtext/"><img class="size-full wp-image-1761" title="website" src="http://HeikoBehrens.net/wp-content/uploads/2011/07/website.png" alt="" width="550" height="411" /></a><p class="wp-caption-text">The new Xtext website comes with many cool features</p></div>
<p>When you first open the new website you will notice an extensive realignment compared to the <a href="http://heikobehrens.net/2010/01/07/recent-updates-of-the-xtext-website/">previous version</a>. The site leverages various CSS3 features such as animations (look at the subtle &#8220;2.0&#8243; glow), smooth hover effects or a slider-based navigation at the top.</p>
<p>In addition to <a href="http://www.eclipse.org/Xtext/#LatestNews">various news streams</a> that collect blog posts, tweets or commit statistics, there are randomly drawn quotes from happy Xtext users. Talking about mashups and happiness: The documentation now integrates with <a href="http://disqus.com/">Disqus</a> (at the bottom of every page) so you can give direct feedback on any topic or provide useful code snippets to others!</p>
<p>From a technical perspective, the &#8220;Install Now&#8221; button at the top is the most interesting enhancement: It supports the <a href="http://ianskerrett.wordpress.com/2011/04/06/drag-and-drop-install-is-coming-to-eclipse/">new Eclipse Marketplace Drag&amp;Drop installation</a> feature that comes with Indigo. Still, if you just click on the button, you will be guided to the classic Xtext download page (thanks to some JavaScript). Both alternatives are explained with an HTML5-powered animation (read: NO FLASH) that appears once you hover over the button. Yes, there&#8217;s definitely some <a href="http://tumultco.com/hype/">hype</a> going on&#8230;</p>
<p>Unfortunately, I couldn&#8217;t contribute much code to the Xtext project over the last two years. Working on the Xtext website once a year is my attempt to say: &#8220;Thank you, Xtext team. Your work is great!&#8221;</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/ddab09664a804d4f989065d60733aa9a" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1758&amp;md5=cce643233f6035c3578a3ea3eb02a1dd" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nudity on the Web</title>
		<link>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/</link>
		<comments>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 15:59:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1565</guid>
		<description><![CDATA[Today, I am switching off the styling of my blog to celebrate the Naked CSS Day 2011. Similar to last year, I am participating in this annual event to promote web standards and proper, semantic markup. Not only do web standards such as Cascading Style Sheets (CSS) build the solid foundation of every browser-based endeavor. On a [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I am switching off the styling of my blog to celebrate the <a href="http://naked.threepixeldrift.com/" target="_blank">Naked CSS Day 2011</a>. Similar to <a title="Let’s get naked" href="http://HeikoBehrens.net/2010/04/09/lets-get-naked/">last year</a>, I am participating in this annual event to promote web standards and proper, semantic markup.</p>
<div id="attachment_1651" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1651" title="Comparison" src="http://HeikoBehrens.net/wp-content/uploads/2011/04/Comparison.png" alt="Comparison between Style and No-Style" width="550" height="248" /><p class="wp-caption-text">My blog&#39;s front page with and without cascading style sheets.</p></div>
<p>Not only do web standards such as <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">Cascading Style Sheets</a> (CSS) build the solid foundation of every browser-based endeavor. On a political level their existence encouraged the community and vendors of different origins to consolidate their work over time, eventually to the advantage of us &#8211; the online citizens.</p>
<p>For years, the <a href="http://www.acidtests.org/" target="_blank">Acid tests</a> let users discuss how standard compliant their browsers (with respect to CSS) were. Recently, the <a href="http://www.w3.org/html/logo/" target="_blank">HTML5 logo initiative</a> came up and tries to make the technology huddle easier to understand for mere mortals. And this is where the Naked CSS day comes in:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: right; line-height: 19.0px; font: 13.0px Times; color: #666666} --></p>
<blockquote><p>The idea behind [<a href="http://naked.threepixeldrift.com/" target="_blank">Naked CSS Day</a>] is to promote Web Standards. Plain and simple. This includes proper use of html, semantic markup, a good hierarchy structure, and of course, a good &#8216;ol play on words. It&#8217;s time to show off your &lt;body&gt; for what it really is.</p></blockquote>
<p>Once again, thank you – <a href="http://people.opera.com/howcome/">Håkon Wium Lie</a>, the <a href="http://www.w3.org/Style/CSS/">W3C</a> and the web community! For a single day, I will deactivate CSS to honor your work.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1565&amp;md5=fa49c9f504bd2052ef9e08203cf6978f" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retrospection: Cross-Platform Mobile Development at EclipseCon</title>
		<link>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/</link>
		<comments>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 02:27:14 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1611</guid>
		<description><![CDATA[Yesterday, Peter and I talked about &#8220;Cross-Platform Mobile Development with Eclipse&#8221; at EclipseCon in Santa Clara. After some conceptual slides telling about the difficulties one face when targeting different platforms (in our case iPhone, Android, Windows Phone 7 and minimalistic, mobile web), we went over to some live-hacking. First, we presented a domain-specific language for [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, <a href="http://PeterFriese.de" target="_blank">Peter</a> and I talked about &#8220;<a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">Cross-Platform Mobile Development with Eclipse</a>&#8221; at <a href="http://www.eclipsecon.org/2011" target="_blank">EclipseCon</a> in Santa Clara. After some conceptual slides telling about the difficulties one face when targeting different platforms (in our case iPhone, Android, Windows Phone 7 and minimalistic, mobile web), we went over to some live-hacking.</p>
<div id="attachment_1613" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.slideshare.net/HeikoB/eclipsecon2011-crossplatformheikobehrenspeterfriese"><img class="size-full wp-image-1613" title="Slides of our Talk" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/slideteaser.png" alt="Slides of our Talk" width="540" height="101" /></a><p class="wp-caption-text">You can find the few slides we presented before and after the live-coding on Slideshare</p></div>
<p>First, we presented a domain-specific language for data-driven mobile applications. Our goal was to build an application similar to the <a href="http://www.peterfriese.de/save-a-tree-put-eclipsecon-2011-in-your-pocket/" target="_blank">official EclipseCon conference apps</a> during the show. The application listed every speaker with a picture, bio and a list of talks. Also, a schedule for every day could be browsed where details of both speakers and sessions were revealed once you clicked on an item of the list.</p>
<p>As you might know, there are quite a few <a title="Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010" href="http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/">options to produce cross-platform native (and look-alikes) mobile applications</a> from a single source. As <a href="http://mobile.itemis.com/" target="_blank">itemis</a> is specializing in model-driven approaches, we picked a domain-specific language to describe the application together with a code generator that produces the appropriate source code of the different platforms.</p>
<div class="wp-caption aligncenter">
<iframe src="http://player.vimeo.com/video/15018235?portrait=0" width="550" height="385" frameborder="0"></iframe></p>
<p class="wp-caption-text">Screencast of an earlier version of the DSL and generator</p>
</div>
<p>For the iPhone, we started by adding a &#8220;News&#8221;-Tab listing recent blog posts written by employees of itemis. The code generator produced Objective-C code as expected and we had the first native application right on the screen.</p>
<p>On Android, we enhanced the application a bit further. Based on the names of the blog authors we built a mash-up and integrated each blog entry with the related speaker&#8217;s profile of the existing conference app. The generator produced the needed Java code and we happily deployed it on the <a title="Google Android Emulator Skins for Nexus S and Nexus One" href="http://HeikoBehrens.net/2011/03/15/android-skins/">&#8220;gorgeous&#8221; (as Peter said) Android Emulator</a>.</p>
<p>Yet another set of generator templates produced a Python/Django web application we pushed to the cloud as we went on. It was running on the Google App Engine and represented what I am recommending to most of today&#8217;s mobile endeavors: &#8220;Have at least a minimalistic mobile web site that runs on any phone&#8221;. One of the attendees brought a BlackBerry Bold on stage to proof everything worked out fine &#8211; thanks for that!</p>
<div id="attachment_1624" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1624" title="Windows Phone 7" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/WindowsPhone7.png" alt="Windows Phone 7" width="550" height="218" /><p class="wp-caption-text">Different result from the same input: Windows Phone 7 displays a Pivot Control instead of a tab bar</p></div>
<p>Now, the tricky part began. One of our iPhones served as an external camera and “Lazy Peter” used GitHub to push some generated C#-code from his MacBook to an instance of Visual Studio running inside of a VMWare virtual machine (the reason being that accessing code on a networked drive is being considered harmful by Visual Studio). From there, Peter deployed this automatically produced app to a phone running Windows Phone 7.</p>
<p>For the grand finale, we put all of our phones (iPhone, Android, Windows Phone 7) plus two of the attendees&#8217; BlackBerry devices running the mobile web app on a table and put this lineup on the two big screns with our iPhone camera to show how we used one single model to generate native apps for the various platforms while taking advantage of their respective UI paradigms (<a href="http://msdn.microsoft.com/en-us/library/ff941098(v=vs.92).aspx">such as Pivot Controls on WP7</a>).</p>
<p>For Peter and me, it was great fun to see what one can accomplish within half an hour of live-hacking on stage. Unfortunately, we couldn&#8217;t talk to everyone who came to the front after the show but we&#8217;d love to answer every question you&#8217;ve got. At EclipseCon, you can find us at the Xtext booth on the first floor, or at the bar later at night. Also, please feel free to follow us on Twitter (<a href="https://twitter.com/#!/hbehrens">@HBehrens</a> and <a href="https://twitter.com/#!/peterfriese">@peterfriese</a>) or <a href="mailto:Heiko.Behrens@itemis.de">drop us</a> <a href="mailto:Peter.Friese@itemis.de">a mail</a>.</p>
<p>We will both attend the Xtext tutorial tomorrow morning</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2053" target="_blank">Pragmatic DSL Design with Xtext, Xbase and Xtend 2<br />
</a></strong>Thursday, 10:30, 2 hours and 30 minutes | Ballroom A<br />
<a href="http://blog.efftinge.de/" target="_blank">Sven Efftinge</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG), <a href="http://koehnlein.blogspot.com/" target="_blank">Jan Köhnlein</a> (itemis AG)</li>
</ul>
<p>and start polishing what we presented. Later, we will publish it on GitHub. I will provide a link here, as soon as we are done. Please, stay tuned.</p>
<h3>Links</h3>
<ul>
<li>Our <a href="http://www.slideshare.net/HeikoB/eclipsecon2011-crossplatformheikobehrenspeterfriese" target="_blank">Slides on Slideshare</a></li>
<li>Official <a href="http://bit.ly/econ2011iphone" target="_blank">iPhone conference app</a></li>
<li>Official <a href="http://bit.ly/econ2011android" target="_blank">Android conference app</a></li>
<li><a href="http://bit.ly/econ2011html" target="_blank">Minimalistic website</a> on Google App Engine</li>
<li>Source Code on GitHub (coming soon)</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/0bf45df0532243a8a3d79957c765158a" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1611&amp;md5=c01d23441f86c1f2ea685db2f6a8c0e1" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>&#8220;What is EclipseCon?&#8221;</title>
		<link>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/</link>
		<comments>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 16:15:43 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1555</guid>
		<description><![CDATA[In a few hours from now, I will be on my flight towards this year&#8217;s EclipseCon in Santa Clara. Similar to my blitz talk last year, I am going to talk about mobile development based on domain-specific languages. This time, I am really excited that Peter will team up and we were approved for an [...]]]></description>
			<content:encoded><![CDATA[<p>In a few hours from now, I will be on my flight towards this year&#8217;s <a href="http://www.eclipsecon.org/2011/">EclipseCon in Santa Clara</a>. Similar to my blitz talk last year, I am going to talk about mobile development based on domain-specific languages. This time, I am really excited that <a href="http://www.peterfriese.de/">Peter</a> will team up and we were approved for an extended talk (40 minutes) at Ballroom BC to entertain you with fully packed material and several live demos. In addition to <a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">the session&#8217;s description</a> we will not only produce mobile apps for iPhone, Android and mobile web (Google App Engine). You will experience the model-driven way on yet another platform that was ignored by <a href="http://www.eclipsecon.org/2011/activities/#app" target="_blank">the official conference apps</a>.</p>
<div id="attachment_1591" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1591" title="watson-at-eclipsecon" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/watson-at-eclipsecon.png" alt="watson and eclipse" width="550" height="283" /><p class="wp-caption-text">What can we expect from IBM Watson in the future and how is it related to Eclipse? Find out at David Gondek&#39;s Keynote at EclipseCon on Tuesday (Eclipse Icon courtesy of Shaun Smith)</p></div>
<p>&nbsp;</p>
<p>Beyond the aforementioned talk by <a href="http://www.peterfriese.de/">Peter</a> and myself</p>
<ul>
<li><a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank"></a><strong><a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">Cross-Platform Mobile Development with Eclipse</a></strong><br />
Tuesday, 17:00, 40 minutes | Ballroom BC<a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank"><br />
</a><a href="http://www.peterfriese.de/" target="_blank">Peter Friese</a> (itemis AG ), Heiko Behrens (itemis AG )</li>
</ul>
<p>there are a few other sessions I am looking forward to attend</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2175" target="_blank">INTERSTELLAR THERMONUCLEAR WAR &#8230; with ECF &#8211; Multiplayer Game Development for High-Latency Mobile Networks</a></strong><br />
Monday, 13:00, 20 minutes | Ballroom D<br />
Mustafa Isik, Sebastian Schmidt</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2035" target="_blank">Effective Git</a></strong><br />
Monday, 15:40, 2 hours | Stevens Creek<br />
Chris Aniszczyk (Red Hat, Inc.), Stefan Lay (SAP AG), Matthias Sohn (SAP AG), Shawn Pearce (Google Inc.)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2034" target="_blank">What&#8217;s Cooking in Xtext 2.0</a></strong><br />
Tuesday, 14:00, 20 minutes | Ballroom A<br />
<a href="http://koehnlein.blogspot.com/" target="_blank"> Jan Köhnlein</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2179" target="_blank">Graphiti and GMF Compared: Revisiting the Graph Editor</a></strong><br />
Tuesday, 14:30, 40 minutes | Lafayette<br />
Koen Aers</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2111" target="_blank">Building a Great Community for Your Open Source Project</a></strong><br />
Tuesday, 16:30, 20 minutes | Lafayette<br />
Ian Skerrett (Eclipse Foundation)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2253" target="_blank">Codegeneration Goodies</a></strong><br />
Wednesday, 10:40, 20 minutes | Stevens Creek<br />
Moritz Eysholdt (itemis AG)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2232" target="_blank">JavaScript Debugged</a></strong><br />
Wednesday, 14:00, 20 minutes | Ballroom BC<br />
Simon Kaegi (IBM)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2053" target="_blank">Pragmatic DSL Design with Xtext, Xbase and Xtend 2</a></strong><br />
Thursday, 10:30, 2 hours and 30 minutes | Ballroom A<br />
<a href="http://blog.efftinge.de/" target="_blank"> Sven Efftinge</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG), <a href="http://koehnlein.blogspot.com/" target="_blank">Jan Köhnlein</a> (itemis AG)</li>
</ul>
<p>Apart from these, there are many other talks worth attending, but listing those eventually would result in a copy of <a href="http://www.eclipsecon.org/2011/program/?page=program">the official program</a> (the program committee did a great job, again). I am expecting interesting conversations and social activities (like last year&#8217;s <a href="http://iphonemarsrover.com/">iPhone Mars Rover</a>) to happen, too.</p>
<p>But, my personal highlight is the keynote on Tuesday about <a href="http://www.watson.ibm.com/" target="_blank">IBM Watson</a> by David Gondek:</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2366" target="_blank">Keynote &#8211; What Is Watson?</a></strong><br />
Tuesday, 09:00, 1 hour | Ballrooms ABCD<br />
David Gondek (IBM)</li>
</ul>
<p>Over the last weeks, I watched more than five hours of video material and read countless interviews and articles about Watson. There&#8217;s just so much potential in this technology and the whole industry of computer-supported activities. By any chance, users will use computational time from systems like Watson in the not-so-distant future to verify their personal goals, collect evidence, do research or -in case of a keynote- have some fun. If we had the chance to let Watson calculate the question for a clue at EclipseCon, my take would be:</p>
<blockquote><p><strong>Conferences $500:</strong> Started as a User&#8217;s Group Meeting in 2002 this anual &#8220;family event&#8221; became the most recognizable celebration of a community named after the obscuration of a celestial object.</p></blockquote>
<p>Anyway, I am looking forward to four engaging days in Santa Clara and I am thinking of everyone who could not make it this year like <a href="http://ekkescorner.wordpress.com/">Ekke</a>, <a href="http://www.vogella.de/">Lars</a>, and especially our friends from Japan.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/6c1a915c755b452395fb98340b33193c" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1555&amp;md5=3694dd5c49774c5661ae62ab9391872a" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Android Emulator Skins for Nexus S and Nexus One</title>
		<link>http://HeikoBehrens.net/2011/03/15/android-skins/</link>
		<comments>http://HeikoBehrens.net/2011/03/15/android-skins/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 07:13:58 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1481</guid>
		<description><![CDATA[When I was producing the screencast for Peter&#8217;s blog post about the EclipseCon App, I had a hard time to bring the Android App in shape. As any Android developer will know Google&#8217;s Android Emulator comes with a set of loveless default looks you are ashamed of each time you compare them with their sexy [...]]]></description>
			<content:encoded><![CDATA[<p>When I was producing the screencast for <a href="http://www.peterfriese.de/save-a-tree-put-eclipsecon-2011-in-your-pocket/">Peter&#8217;s blog post about the EclipseCon App</a>, I had a hard time to bring the Android App in shape. As any Android developer will know Google&#8217;s Android Emulator comes with a set of loveless default looks you are ashamed of each time you compare them with their sexy iPhone counterpart. Fortunately and contrary to the latter, the Android emulator offers support for skins to overcome this grievance and so I decided to build a set of high-quality Android Skins for <a href="http://www.google.com/phone/detail/nexus-s">Samsung Nexus S</a> and <a href="http://www.google.com/phone/detail/nexus-one">HTC Nexus One</a> including reflection overlays.</p>
<div id="attachment_1512" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1512" title="Overview" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/overview.png" alt="Overview" width="550" height="247" /><p class="wp-caption-text">This package contains a set of four different skins including overlays for a glare effect.</p></div>
<p>Thanks to the great work of <a href="http://zandog.deviantart.com">Alexander Gillis</a>, I was able to create these skins with their native screen resolution at a superb image quality. They offer a glow effect when hovering over the hardware buttons, render a subtile drop shadow on both orientations and come with smooth corners on every edge.  However, the outstanding feature of this set of skins is the fitting overlay image that can be put on top of the actual emulator screen. It&#8217;s based on the Android Emulator&#8217;s <a href="http://groups.google.com/group/android-developers/browse_thread/thread/877b1b9f87543ac0">mostly unknown support for &#8220;onions&#8221;</a>. That is a feature other mobile simulators, especially the iPhone simulator, do not provide (although tools like <a href="http://blog.atebits.com/2009/03/not-your-average-iphone-screencast/">simfinger</a> offer a great workaround).</p>
<div id="attachment_1516" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1516" title="Details of the Emulator" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/details.png" alt="Details of the Emulator" width="550" height="260" /><p class="wp-caption-text">These skins come with a glare effect above the actual screen, highlighted hardware buttons, smooth corners and a subtile drop shadow.</p></div>
<p>I produced these skins especially to record screencasts and to take high quality screenshots of running Android applications with respect to the actual screen resolution of the devices and their physical proportions. Therefore, these skins come at a relatively large size in pixels that might exceed your average 1600&#215;1200 display. Nevertheless, you can still run them on smaller screens by passing the scale option to the Emulator on startup or by specifying the scale options with &#8220;Scale display to real size&#8221; on the dialog &#8220;launch options&#8221;.</p>
<pre># scale emulator to half of its actual size
-scale 0.5﻿</pre>
<p>To activate the glare overlay you have to specify an &#8220;onion&#8221; by passing another command line option to the Android Emulator (sorry, there&#8217;s no dialog to do this). Each skin has its own &#8220;overlay.png&#8221; to seamlessly continue the reflection visible on the body. Be sure to pass the full path to the appropriate graphic along with 100% opacity.</p>
<pre># activate the glare overlay
-onion-alpha 100 -onion &lt;absolutePathToSkin&gt;/overlay.png</pre>
<p>Each included hardware.ini contains an example of these arguments. If you are familiar with Android Emulator skins, go ahead and <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">download the archive</a> or <a href="https://github.com/HBehrens/android-emulator-skins/">fork them on GitHub</a>. The clueless remainder of the Android developers should follow these briefly outlined installation steps.</p>
<h2>Installing the Emulator Skins</h2>
<p>An Android Emulator skin basically is a folder consisting of files for graphics and configuration. Once installed, skins are named after their folder names. Let&#8217;s start and <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">download the ZIP archive containing the skins</a>. After extracting the archive you will find a set of different folders corresponding to (fictitious) device names, e.g. &#8220;NEXUS-S&#8221; . Each of these folders is what&#8217;s called a skin.</p>
<p>Locate the <a href="http://developer.android.com/sdk/installing.html#sdkContents" target="_blank">&#8220;platforms&#8221; folder of your Android SDK</a>. Each platform has its own set of skins you can find at &#8220;&lt;AndroidSDK&gt;/platforms/&lt;platform&gt;/skins&#8221;. Assuming you are developing against the Google API of Android 2.1, the proper platform would be 7. If unsure, have a look at <a href="http://developer.android.com/guide/developing/devices/managing-avds.html" target="_blank">your AVD manager</a>. Extract the desired skin into the platform&#8217;s skins folder, e.g.</p>
<pre>~/dev/android-sdk-mac_86/platforms/android-7/skins/NEXUS-S
c:\android-sdk-windows\platforms\android-9\skins\NEXUS-S</pre>
<p>Now, restart the AVD manager so it is aware of the new skin and create a new virtual device based on one of your freshly installed skins.</p>
<div id="attachment_1538" class="wp-caption aligncenter" style="width: 490px"><a href="http://HeikoBehrens.net/wp-content/uploads/2011/03/avdManager.png"><img class="size-full wp-image-1538" title="ADV Manager" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/avdManager.png" alt="ADV Manager" width="480" height="653" /></a><p class="wp-caption-text">Create a new AVD with one of the freshly installed skins.</p></div>
<p>You can use this AVD similar to any other virtual device, but as written before, these skins are quite large. If you want to reduce the size of the emulator window, be sure to explicitly pass a scaling factor. Yes, you can do this with a graphical dialog from within the AVD Manager but doing so will thwart your whole development process later on. Instead, I will show you how to configure your Eclipse run configuration since this will be needed for the glare effect anyway.</p>
<div id="attachment_1527" class="wp-caption aligncenter" style="width: 560px"><a href="http://HeikoBehrens.net/wp-content/uploads/2011/03/EclipseRunConfig.png"><img class="size-large wp-image-1527 " title="Eclipse Run Configuration" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/EclipseRunConfig-1024x622.png" alt="Eclipse Run Configuration" width="550" height="373" /></a><p class="wp-caption-text">Change your Eclipse run configuration to scale your emulator window and activate the glare effect.</p></div>
<p>In Eclipse, go to your run configuration and open the tab &#8220;Target&#8221;.  Choose &#8220;Automatic&#8221; for the option &#8220;Deployment Target Selection Mode&#8221; and select your new virtual device. Also, in the field &#8220;Additional Emulator Command Line Options&#8221; at the bottom pass these values (where &lt;absolutePathToSkin&gt; had been changed accordingly):</p>
<pre>-scale 0.5 -onion-alpha 100 -onion &lt;absolutePathToSkin&gt;/overlay.png</pre>
<p>Hit &#8220;Run&#8221; and watch the console output on startup. The Emulator will tell you if it cannot find the onion file.  If everything went right, you should see your Android application within a beautiful Emulator window by now.</p>
<p>Have fun!</p>
<h2>Links</h2>
<ul>
<li>Download <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">Android Emulator skins for Nexus S and Nexus One</a></li>
<li>Fork the <a href="https://github.com/HBehrens/android-emulator-skins/">skin set on GitHub</a></li>
<li>More <a href="http://zandog.deviantart.com">beautiful graphics by Alexander Gillis</a> on DeviantArt</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/6a4313d02c734e5f82981fe6cee0c0cf" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1481&amp;md5=de515ebfdb2498a1ce604275339a8d5a" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/15/android-skins/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Repair Broken RSS/ATOM with The Feed Sanitizer</title>
		<link>http://HeikoBehrens.net/2011/03/07/feedsanitizer/</link>
		<comments>http://HeikoBehrens.net/2011/03/07/feedsanitizer/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 08:00:58 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1483</guid>
		<description><![CDATA[Web feeds are a standardized yet widely underestimated way to attach software systems to content providers. You can both bind a news portal of any publisher to you very own piece of software or aggregate and filter several twitter feeds with the very same underlying technology. While giving presentations, I am often tempted to reuse [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Web_feed">Web feeds</a> are a standardized yet widely underestimated way to attach software systems to content providers. You can both bind a news portal of any publisher to you very own piece of software or aggregate and filter several twitter feeds with the very same underlying technology. While giving presentations, I am often tempted to reuse an arbitrary <a href="http://en.wikipedia.org/wiki/Atom_(standard)">ATOM</a> or <a href="http://en.wikipedia.org/wiki/RSS">RSS</a> feed to build a content-driven mobile application within minutes (<a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2075">next stop: EclipseCon, Santa Clara</a>). Unfortunately, many of those feeds in the wild do not conform to their pretended format when it comes to the details. In order to minimize the risk of a broken live-demo and to make mash-ups of services a bit safer in general, I came up with a free service called <a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com">The Feed Sanitizer</a>.</p>
<div id="attachment_1490" class="wp-caption aligncenter" style="width: 560px"><a href="http://feedsanitizer.appspot.com"><img class="size-full wp-image-1490" title="feedsanitizer" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/feedsanitizer_screenshot.png" alt="" width="550" height="250" /></a><p class="wp-caption-text">The Feed Sanitizer normalizes your invalid web feed</p></div>
<p>Here&#8217;s a short description of what the service actually does. Please don&#8217;t feel offended by these words. They had been taken directly from the project&#8217;s website and try to provoke a more personal relationship to its users:</p>
<blockquote><p><a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com/">The Feed Sanitizer</a> takes any news or web feed and turns it into straight, normalized RSS 2.0 / ATOM 1.0. This comes in handy if you are confronting with tangled or messed or knocked up feeds that are barely well-formed and want to parse these with a not-so-solid piece of software. The Feed Sanitizer scrubs off the dirt and returns germ-free feeds.</p></blockquote>
<p>You could simply pass through a given URL to receive a normalized feed of the desired format, download the result once, or just look at the pretty-printed output with the embedded XML viewer.</p>
<p>For those of you interested in the technical details, the service has been written with <a href="http://www.python.org/">Python</a> and runs on <a href="http://code.google.com/appengine/">Google App Engine</a>. It uses several open source libraries such as <a href="http://www.allbuttonspressed.com/projects/djangoappengine">djangoappengine</a>, <a href="http://www.feedparser.org/">feedparser</a> and <a href="http://alexgorbatchev.com/SyntaxHighlighter">SyntaxHighlighter</a>.</p>
<p><a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com/">The Feed Sanitizer</a> is free and ready to serve you. It&#8217;s open source, too! Feel free to <a title="The Feed Sanitizer on GitHub" href="https://github.com/HBehrens/feedsanitizer">fork it on GitHub</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/212f6a1a69774c09a2da0629eec633a1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1483&amp;md5=2fb1edb49aa5ff0bf65ac83174f356ef" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/07/feedsanitizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your List of Wishes for the EclipseCon (iPhone&#124;Android&#124;.*?) App</title>
		<link>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/</link>
		<comments>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 16:28:57 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1346</guid>
		<description><![CDATA[Three weeks ago, the mobile conference app we built at itemis mobile helped many attendees to keep track of their personal schedule at Eclipse Summit Europe 2010. With three different versions we not only addressed the Android and iPhone users with true native apps available on the Market Place (search for &#8220;eclipse summit&#8221;) and App Store. There is [...]]]></description>
			<content:encoded><![CDATA[<p>Three weeks ago, <a href="http://www.peterfriese.de/updated-use-your-iphone-android-or-blackberry-to-build-your-eclipse-summit-europe-2010/">the mobile conference app</a> we built at <a href="http://mobile.itemis.com/">itemis mobile</a> helped many attendees to keep track of their personal schedule at <a href="http://www.eclipsecon.org/summiteurope2010/">Eclipse Summit Europe 2010</a>. With three different versions we not only addressed the Android and iPhone users with true native apps available on the Market Place (search for &#8220;eclipse summit&#8221;) and <a href="http://itunes.apple.com/app/eclipse-summit-europe-2010/id398492430?mt=8">App Store</a>. There is also a <a href="http://eclipsesummit2010.appspot.com/">mobile website built on top of Google App Engine</a> to serve everyone else including owners of Blackberry and Nokia phones and especially phones with outdated browsers.</p>
<div id="attachment_1348" class="wp-caption alignnone" style="width: 570px"><a href="http://www.flickr.com/groups/1510201@N24/"><img class="size-full wp-image-1348" title="Every second attendee has used one of our apps" src="http://HeikoBehrens.net/wp-content/uploads/2010/11/people.jpg" alt="Every second attendee has used one of our apps" width="560" height="278" /></a><p class="wp-caption-text">Every second attendee has used one of our apps (Photo: Anne Jacko)</p></div>
<p>We derived quite a few numbers from the download data of the various sources and personally I am quite proud to say that every second attendee has used one or the other version of our app. During the conference about 225 people out of 467 attendees downloaded the native Apps (iOS: 154, Android: 71) and 8 people managed their schedule with the website (201 people tried it but picked only three or less sessions). Compared to the survey the Eclipse foundation carried out as part of the registration process every single iOS user downloaded the iPhone app! Only 73% of the Android users downloaded the app and 17% of the remaining group (including Nokia and Blackberry owners) used the mobile website.</p>
<p><img class="aligncenter size-full wp-image-1369" title="Numbers from the various sources" src="http://HeikoBehrens.net/wp-content/uploads/2010/11/stats.jpg" alt="Numbers from the various sources" width="285" height="123" /></p>
<p>One can interpret these numbers in different ways. &#8220;Native apps are far better than mobile web&#8221;, I heard several times. &#8220;Your mobile website should be improved- who need apps?&#8221; reflects another opinion. The Blackberry users might have used <a href="http://ekkescorner.wordpress.com/2010/11/02/blackberry-app-for-eclipse-summit-2010/">Ekke&#8217;s prototype</a> (attendees with Blackberry according to survey: 17, actual downloads: 31) instead of the website. Others generally put these numbers into question (134% of the iOS users downloaded the app?). I&#8217;d like to overcome this uncertainty with even more data.</p>
<h2>EclipseCon 2011</h2>
<p>Currently, we are talking with the Eclipse foundation to develop another conference app for the upcoming <a href="http://www.eclipsecon.org/2011/">EclipseCon 2011</a>. To deliver the best experience we would like to collect your wishes and ideas. Please use the quick polls below and/or leave a comment to push us in the right direction.</p>
<div class="polls"><script src="http://www.blogpolls.com/poll/69100.js" type="text/javascript"></script> <script src="http://www.blogpolls.com/poll/69101.js" type="text/javascript"></script></div>
<p>Thank you! And again: Please leave a comment to give feedback beyond the polls.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/81e8a1f2ac0b441cba303e9b6fba5c86" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1346&amp;md5=12f81be470da29028f62fb0e6419c18d" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s get naked</title>
		<link>http://HeikoBehrens.net/2010/04/09/lets-get-naked/</link>
		<comments>http://HeikoBehrens.net/2010/04/09/lets-get-naked/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 07:37:24 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1002</guid>
		<description><![CDATA[Today is CSS Naked Day 2010, hopefully many websites will participate and deactivate their styling as I did with this blog. The idea behind CSSND is to promote web standards and proper, semantic markup. In my opinion web standards such as Cascading Style Sheets (CSS) tremendously evolved over the last years. Where I used images [...]]]></description>
			<content:encoded><![CDATA[<p>Today is <a href="http://naked.threepixeldrift.com/">CSS Naked Day 2010</a>, hopefully many websites will participate and deactivate their styling as I did with this blog. The idea behind CSSND is to promote web standards and proper, semantic markup.</p>
<div id="attachment_1012" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-1012 " title="Comparison between CSS and non-CSS" src="http://www.heikobehrens.net/wp-content/uploads/2010/04/csscomparison1.png" alt="This blog with and without Cascading Style Sheets on the CSSND." width="400" height="300" /><p class="wp-caption-text">This blog with and without Cascading Style Sheets on the CSSND.</p></div>
<p><span id="more-1002"></span>In my opinion web standards such as <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">Cascading Style Sheets</a> (CSS) tremendously evolved over the last years. Where I used images and tables years ago in order to achieve a proper site layout I can simply use CSS nowadays. In my current project I go even forward and implement transitions, rotations and semi-perspective alignment in a consistent, declarative way.</p>
<p>For a single day, I will deactivate CSS to honor these achievements. Thank you &#8211; <a href="http://people.opera.com/howcome/">Håkon Wium Lie</a>, the <a href="http://www.w3.org/Style/CSS/">W3C</a> and the early adopting web community!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1002&amp;md5=9a45a5fa1f0e7f21896d6ddcc96c0ad8" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/04/09/lets-get-naked/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The iPhone at EclipseCon 2010</title>
		<link>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/</link>
		<comments>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 08:49:36 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=968</guid>
		<description><![CDATA[The EclipseCon 2010 was a huge success not only for our flagship project Xtext. As mentioned by Sven and Jan before, we gratefully received the Eclipse Community Award and enthusiastically delivered more than 6 talks around model-driven software development. But beyond that, it&#8217;s been the first international conference where you could learn about a new area [...]]]></description>
			<content:encoded><![CDATA[<p>The EclipseCon 2010 was a huge success not only for our flagship project <a href="http://www.eclipse.org/Xtext/">Xtext</a>. As mentioned by <a href="http://blog.efftinge.de/2010/03/xtext-won-eclipse-community-award.html">Sven</a> and <a href="http://koehnlein.blogspot.com/2010/03/eclipsecon-2010-xtext-everywhere.html">Jan</a> before, we gratefully received the <a href="http://www.eclipse.org/org/press-release/20100322_awardswinners.php">Eclipse Community Award</a> and enthusiastically delivered more than 6 talks around model-driven software development. But beyond that, it&#8217;s been the first international conference where you could learn about <a href="http://www.itemis.com/itemis-ag/portfolio/language=en/29470/business-applications-for-mobile-devices">a new area of itemis&#8217; activities: mobile applications</a>.</p>
<div id="attachment_975" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2010/03/generatediphoneapp.png"><img class="size-medium wp-image-975" title="generatediphoneapp" src="http://www.heikobehrens.net/wp-content/uploads/2010/03/generatediphoneapp-300x176.png" alt="Generated iPhone app" width="300" height="176" /></a><p class="wp-caption-text">100% Generated iPhone app of my EclipseCon talk</p></div>
<p>During my talk on Monday (<a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">slides on slideshare</a>), I argued how you can leverage the ideas of MDSD to be more efficient when building iPhone apps with the help of domain-specific languages. To prove this, I built a running iPhone application in front of the audience in just 12 minutes. That application was able to browse the corporate blog of itemis as well as an index of itemis speakers and talks available at EclipseCon. From any screen you could jump to related bits of information. Everything was being loaded on demand and behaved like every other native application on the iPhone &#8211; since <em>it is</em> a native app. And the coolest thing: All this without leaving Eclipse!</p>
<p>As you can read in the <a href="http://www.thebitsource.com/featured-posts/iphonical-model-driven-iphone-application-development/">interview I gave to The Bitsource</a> I understand this particular demo app as an example. It represents an important part of many apps you can find in the stores today and the provided results are substitutional for the whole group of data-centric mobile applications itemis is going to deliver with the powerful help of MDSD.</p>
<div id="attachment_971" class="wp-caption aligncenter" style="width: 310px"><a href="http://vimeo.com/10438569"><img class="size-medium wp-image-971" title="Heiko holding the iPhone Mars Rover app" src="http://www.heikobehrens.net/wp-content/uploads/2010/03/portraitheiko-300x225.png" alt="" width="300" height="225" /></a><p class="wp-caption-text">Me holding the iPhone Mars Rover app. Click the image to watch a video of the iPhone Mars Rover app.</p></div>
<p>A rather unusual event we stumbled upon was the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">EclipseCon Mars Rover Challenge</a> held in cooperation with the <a href="http://www.jpl.nasa.gov/">NASA JPL</a>. It&#8217;s idea was to create the very best robotic control system to drive a robot across a prototypical Mars landscape. And guess what? <a href="http://www.peterfriese.de">Peter</a> and I set out to deliver an iPhone application to do so.</p>
<p>To make a <a href="http://www.google.com/search?q=iphone%20mars%20rover">long and amusing story</a> short, we came up with a vibrating and blinking iPhone app that allows you to steer the robot by tilting the device. <a href="http://www.popsci.com/technology/article/2010-03/watch-iphone-control-mars-rover-earth">Popular Science</a>, <a href="http://mashable.com/2010/03/26/iphone-mars-rover/">Mashable</a>, <a href="http://tech.slashdot.org/story/10/03/26/1318208/iPhone-App-Developed-To-Control-NASA-Robot">Slashdot</a> and many other news sites caught up quickly &#8211; so we decided to publish a <a href="http://iPhoneMarsRover.com">dedicated website (iPhoneMarsRover.com)</a> discussing the details and providing more images on that particular application. At this point I want to thank <a href="http://www.carsten-oltmann.de/">Carsten</a> and <a href="http://jendryschik.de/">Michael</a> for their invaluable help building that site. It&#8217;s a pleasure to work with such talented people.</p>
<p>And regarding the Mars Rover app: In future, we will most probably give droids the chance to hold that app in their hands &#8211; stay tuned!</p>
<p>Yes, itemis truly enters the market of mobile applications. And this goes way beyond ordinary iPhone, Android or Symbian apps. We are currently working on something that will knock your socks off! But that&#8217;s still a #secretproject&#8230;</p>
<p><strong>Update 04/15/10:</strong> Dzone interviewed <a href="http://www.PeterFriese.de">Peter</a> and me about the aforementioned talk as well as the Mars Rover app. <a href="http://java.dzone.com/articles/xtext-and-iphone">Read more details over there</a>.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">Slides of my MDSD on iPhone talk</a></li>
<li><a href="http://vimeo.com/10438569">Video of the iPhone Mars Rover app</a></li>
<li><a href="http://iPhoneMarsRover.com">iPhoneMarsRover.com</a></li>
<li><a href="http://www.thebitsource.com/featured-posts/iphonical-model-driven-iphone-application-development/">Interview at BitSource about MDSD on iPhone</a></li>
<li><a href="http://java.dzone.com/articles/xtext-and-iphone">Interview at DZone about MDSD on iPhone and Mars Rover</a></li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/3de71db378514448bd62728387ad37b2" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=968&amp;md5=56013ecb671b17efdcebaff331e5e0be" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Recent updates of the Xtext website</title>
		<link>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/</link>
		<comments>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:27:08 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=932</guid>
		<description><![CDATA[In conjunction with the Eclipse M4 release of Xtext its website has been updated, too. We wanted the new features to reflect how lively the Xtext project is by just looking at the website. At the same time, they should not scare away new visitors but be informative and subtle. In the end we came [...]]]></description>
			<content:encoded><![CDATA[<p>In conjunction with <a href="http://www.eclipse.org/Xtext/documentation/0_8_0/new_and_noteworthy.php#M4">the Eclipse M4 release of Xtext</a> its website has been updated, too. We wanted the new features to reflect how lively the Xtext project is by just looking at the website. At the same time, they should not scare away new visitors but be informative and subtle.</p>
<p>In the end we came up with: Some statistics of the project activity (1), a news aggregator (2), and a condensed (53 secs) introductory screencast (3).</p>
<div id="attachment_938" class="wp-caption alignnone" style="width: 410px"><a href="http://www.eclipse.org/Xtext"><img class="size-full wp-image-938" title="Updated Xtext website" src="http://www.heikobehrens.net/wp-content/uploads/2010/01/website.png" alt="The new Xtext website displays commit statistics (1), recent blog posts plus other web content (2) and a brand-new screencast (3)" width="400" height="304" /></a><p class="wp-caption-text">The updated Xtext website displays commit statistics (1), recent blog posts plus other web content (2) and a brand-new introductory screencast (3)</p></div>
<p>Our project website attracted some attention since <a href="http://blog.efftinge.de/2009/06/xtext-new-website.html">it has been launched this June</a>. The <a href="http://eclipse.org/amp/">AMP project</a> reuses its layout and Denis from <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/2009/10/08/nice-project-website/">the Eclipse webmaster team embraces the results</a>, too. From there, the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235828">bugzilla 235828</a> discusses whether the Xtext website should serve as the standard template for new Eclipse projects.</p>
<p>Currently, you can see such an <a href="http://www.eclipse.org/default/">&#8220;empty Xtext website&#8221; at eclipse.org/default</a> - how cool is that!</p>
<h3>The Bells and Whistles</h3>
<p>Even if <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/">Denis, Matt &amp; Karl</a> will provide a standard template based on the Xtext website you might want to adapt some of our additional features, too. To support you in doing so, I will summarize the underlying technology of the recently introduced features.</p>
<p>To produce the commit stats (1) the page leverages the <a href="http://dash.eclipse.org/dash/commits/web-app/summary.cgi?company=y&amp;month=x&amp;project=modeling.tmf.xtext">commit statistics of Xtext</a> and renders the polished data with the <a href="http://code.google.com/apis/chart/">Google Chart API</a> on order to match our visual expectations.</p>
<p>The news section has been built with <a href="http://pipes.yahoo.com/">Yahoo Pipes</a> to scan, filter and aggregate different web resources asynchronously. You can even <a href="http://pipes.yahoo.com/pipes/pipe.run?_id=c90e6166f0e980bf8df929fce8213a4e&amp;_render=rss">subscribe to the news feed directly</a> to always stay up to date.</p>
<p>For both the commit stats as well as the news section Denis allowed me to install a cronjob that fetches and stores the results independently from the http requests.</p>
<p>The <a href="http://www.vimeo.com/8260921">screencast</a> has been recorded and edited with <a href="http://www.telestream.net/screen-flow/">ScreenFlow</a>. Also, <a href="http://blog.efftinge.de/">thanks to Sven</a> for the audio equipment!</p>
<p>Let me know if you want me to provide more details.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/a221cf78f6624f208a7f59126661ee5e" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=932&amp;md5=d66a86dfea7fc85889ff704b193bca66" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retrospection of the iPhone Developer Conference 2009</title>
		<link>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/</link>
		<comments>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 20:11:49 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=914</guid>
		<description><![CDATA[The German iPhone Developer Conference in Cologne (01-02 December) was an exciting event that started with a very informative keynote by Maximilian Reiß who elaborated the tide of iPhone events of the last years. From there, nearly 200 attendees were invited to join business-related presentations and developer-oriented talks on separated tracks over the next two [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.iphonedevcon.de/">German iPhone Developer Conference</a> in Cologne (01-02 December) was an exciting event that started with a very informative keynote by Maximilian Reiß who elaborated the tide of iPhone events of the last years. From there, nearly 200 attendees were invited to join business-related presentations and developer-oriented talks on separated tracks over the next two days.</p>
<div id="attachment_917" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-917" title="iPhoneDevCon" src="http://www.heikobehrens.net/wp-content/uploads/2009/12/iphonedevcon.png" alt="Nearly 200 attendees, 29 talks on 2 days and 3 winners of the best German iPhone App contest at the iPhone Developer Conference" width="450" height="133" /><p class="wp-caption-text">Nearly 200 attendees, 29 talks on 2 days and 3 winners of the best German iPhone App contest at the iPhone Developer Conference in Cologne</p></div>
<p>I had the chance to introduce the <a href="http://code.google.com/p/iphonical/">iPhonical project</a> that applies model-driven techniques to produce parts of iPhone applications automatically. <a href="http://www.slideshare.net/HeikoB/iphonical-and-modeldriven-software-development-for-the-iphone">The presentation</a> first describes a way to separate generated code from manually written source with the Objective-C concept of categories. From there, I demonstrated that even with powerful frameworks such as <a href="http://iphoneonrails.com/">ObjectiveResource</a> (an adapter to connect iPhone apps with Rails applications) one can benefit from code generation. With the help of the iPhonical DSL (implemented with <a href="http://www.Xtext.org">Xtext</a>) keeping data-centric classes in sync with the web application was way easier than coding them by hand.</p>
<p>The iPhoneDevCon was a very informative event. Many passionated developers or leads, growing studios and enthusiastic marketing representatives shared their ideas and during the breaks you could easily discuss different viewpoints of today&#8217;s opportunities and approaches.</p>
<p>Apart from the 3 winners of the &#8220;<a href="http://www.iphonedevcon.de/Beste-App-09.322.0.html">best German iPhone app</a>&#8221; (according to iPhone &amp; Co) a <a href="http://www.mac-developer.de/">brand-new iPhone and Mac magazine, mac-developer,</a> has been announced. As the name suggests it concentrates on developers and its first issue is quite promissing.</p>
<h3>Links</h3>
<ul>
<li><a href="http://iphonedevcon.de/">iPhone Developer Conference</a> website</li>
<li><a href="http://www.slideshare.net/HeikoB/iphonical-and-modeldriven-software-development-for-the-iphone">Slides &#8220;iPhonical and model-driven software development for the iPhone&#8221;</a> on SlideShare</li>
<li><a href="http://code.google.com/p/iphonical/">iPhonical project</a> website</li>
<li><a href="http://www.mac-developer.de/">mac-developer</a> magazine (German)</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/8fe30d0afe604ed4a389c5f039d76ac5" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=914&amp;md5=2734f1d2c4d73b85edf7358c1204c103" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EWiTa 2009 in retrospect</title>
		<link>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/</link>
		<comments>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:42:48 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=891</guid>
		<description><![CDATA[Yesterday&#8217;s first Elmshorner Wirtschaftsinformatiktag at the Nordakademie was a worthwhile event. As expected, the lineup arranged by Hinrich Schröder and Frank Zimmermann motivated controversial discussions. Hartmut Herde asked critical questions about MDSD whereas I outlined how MDSD can be applied successfully with the needed knowlege at hand. Anyway, I fully agree with his opinion and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday&#8217;s <a href="http://ewita.nordakademie.de/">first Elmshorner Wirtschaftsinformatiktag</a> at the Nordakademie was a worthwhile event. As expected, the lineup arranged by Hinrich Schröder and Frank Zimmermann motivated controversial discussions. Hartmut Herde asked critical questions about MDSD whereas I outlined how MDSD can be applied successfully with <a href="http://www.itemis.de">the needed knowlege at hand</a>. Anyway, I fully agree with his opinion and enjoyed listening. Try to read his paper <a href="http://www.amazon.de/Tagungsband-ersten-Elmshorner-Wirtschaftsinformatiktag-2009/dp/3832286233">in the proceedings</a> if possible.</p>
<p>Frank Zimmermann explained how Eclipse Modeling and <a href="http://www.Xtext.org">Xtext</a> in particular can be used to produce SAP applications. He even gave a live-presentation of the <a href="http://www.heikobehrens.net/2009/09/11/xtext-goes-sap/">tools his students developed during a research project</a>.</p>
<div id="attachment_892" class="wp-caption aligncenter" style="width: 475px"><a href="http://www.flickr.com/photos/sza/sets/72157622523990299/"><img class="size-full wp-image-892" title="Photos By Simon Zambrovski" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/photos.png" alt="Simon Zambrovski took some photos at the EWiTa" width="465" height="153" /></a><p class="wp-caption-text">Simon Zambrovski took some photos at the EWiTa</p></div>
<p>Since the <a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">slides I used at the EWiTa</a> were an excerpt from a <a href="http://www.heikobehrens.net/2009/06/17/impressions-of-code-generation-2009/">former talk at the Code Generation 2009 in Cambridge</a> I will only list the related talks I mentioned in the end:</p>
<ul>
<li><strong>Xtext Workshop</strong><br />
<a href="http://www.eclipsecon.org/summiteurope2009/">Eclipse Summit Europe</a> &#8211; 27 October 2009 – Ludwigsburg</li>
<li><strong>Mastering differentiated MDSD Requirements at Deutsche Börse AG</strong><br />
<a href="http://it-republik.de/jaxenter/wjax09/">W-JAX 09</a> - 10 November 2009 – Munich<strong><br />
</strong></li>
<li><strong>Experience Report by Deutsche Börse AG</strong><br />
<a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Frankfurt">Eclipse DemoCamp Frankfurt </a> &#8211; 26 November 2009 – Frankfurt</li>
<li><strong>Combining Graphics and Text in Model Editors</strong><br />
<a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Hamburg">Eclipse DemoCamp Hamburg</a> &#8211; 04 December 2009 – Hamburg</li>
</ul>
<h3>Links</h3>
<div>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">Slides at Slideshare</a> (from Code Generation 2009)</li>
<li><a href="http://www.amazon.de/Tagungsband-ersten-Elmshorner-Wirtschaftsinformatiktag-2009/dp/3832286233">Proceedings at Amazon</a> (not available, yet)</li>
<li><a href="http://www.flickr.com/photos/sza/sets/72157622523990299/">Images by Simon Zambrovski</a></li>
</ul>
</div>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=891&amp;md5=11d2ac51510410dd8225b029a8ea8c1c" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Modeling Days 2009 in New York and Toronto</title>
		<link>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/</link>
		<comments>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 17:27:48 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=871</guid>
		<description><![CDATA[This November you are invited to learn more about modeling with Eclipse at the Modeling Days in New York (November 16th) and Toronto (November 18th). Both one-day long events will get together experts of different modeling domains and will give you the chance to get in touch with them. Personally, I am looking forward to [...]]]></description>
			<content:encoded><![CDATA[<p>This November you are invited to learn more about <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">modeling with Eclipse at the Modeling Days</a> in New York (November 16th) and Toronto (November 18th). Both one-day long events will get together experts of different modeling domains and will give you the chance to get in touch with them.</p>
<div id="attachment_872" class="wp-caption aligncenter" style="width: 356px"><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day"><img class="size-full wp-image-872" title="eclipsemodelinglogo" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/eclipsemodelinglogo.png" alt="Learn more about modeling with Eclipse" width="346" height="233" /></a><p class="wp-caption-text">Meet us at the Eclipse Modeling Days in New York and Toronto</p></div>
<p>Personally, I am looking forward to the talks</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Modeling_on_an_Enterprise_Scale">&#8220;Modeling on an Enterprise Scale&#8221;</a> (read: &#8220;Learn more about CDO&#8221;)<br />
by Eike Stepper and</li>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Agent-Based_Computer_Simulation_for_Operational_Risk_Analysis">&#8220;Agent-Based Computer Simulation for Operational Risk Analysis&#8221;</a><br />
by Ed MacKerrow</li>
</ul>
<p>to learn more about two exciting topics I am curious about. Of course, <a href="http://www.itemis.com">itemis</a> will be there as well. Make sure you don&#8217;t miss</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Converging_Textual_and_Graphical_Editors">&#8220;Converging Textual and Graphical Editors&#8221;</a><br />
by Moritz Eysholdt and</li>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Building_DSLs_with_Xtext">&#8220;Building DSLs with Xtext&#8221;</a><br />
presented by myself.</li>
</ul>
<p>Head over to <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">the wiki page</a> to browse the abstracts and register for one of these free events or read <a href="http://www.eclipse.org/org/press-release/20091002modelingday.php">some</a> <a href="http://www.peterfriese.de/everything-you-always-wanted-to-know-about-modeling-but-were-afraid-to-ask/">other</a> <a href="http://ed-merks.blogspot.com/2009/09/whats-all-this-fuss-about-modeling.html">announcements</a>.</p>
<p>Looking forward to seeing you over there!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=871&amp;md5=c0b7a80fc86a23c43bf7560b403062e2" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Focus on Modeling at the first Elmshorner Wirtschaftsinformatiktag</title>
		<link>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/</link>
		<comments>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:20:46 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=848</guid>
		<description><![CDATA[On Friday, October 23rd the first Elmshorner Wirtschaftsinformatiktag near Hamburg will open its doors to elaborate on the topic &#8220;Modeling the Business&#8221;. I will give a talk about some best-practices itemis applied in MDSD projects based on Eclipse Modeling. An ongoing project at Deutsche Börse AG offers insights in how even established and widely known modeling techniques such [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday, October 23rd the <a href="http://ewita.nordakademie.de/">first Elmshorner Wirtschaftsinformatiktag</a> near Hamburg will open its doors to elaborate on the topic &#8220;Modeling the Business&#8221;. I will give a talk about some best-practices <a href="http://www.itemis.com">itemis</a> applied in MDSD projects based on Eclipse Modeling. An ongoing project at Deutsche Börse AG offers insights in how even established and widely known modeling techniques such as UML or code generation can be optimized with some pragmatic adjustments.</p>
<div id="attachment_849" class="wp-caption aligncenter" style="width: 410px"><a href="http://ewita.nordakademie.de/"><img class="size-full wp-image-849" title="nordakademie" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/nordakademie.png" alt="First Elmshorner Wirtschaftsinformatiktag at the Nordakademie near Hamburg" width="400" height="124" /></a><p class="wp-caption-text">Elmshorner Wirtschaftsinformatiktag at Nordakademie near Hamburg</p></div>
<p>Other talks such as</p>
<ul>
<li><a href="http://ewita.nordakademie.de/keynote.pdf">&#8220;Collaborative Modeling of Business Processes&#8221;</a> (Mathias Weske),</li>
<li><a href="http://ewita.nordakademie.de/vortrag8.pdf">&#8220;Test-Driven and Model-Driven combined with openArchitectureWare&#8221;</a> (Arne Michael Törsel) or</li>
<li><a href="http://ewita.nordakademie.de/vortrag2.pdf">&#8220;Being Skeptic about MDSD&#8221;</a> (Hartmut Herde)</li>
</ul>
<p>show great promise for interesting discussions. Please note that the aforementioned talks as well as every other talk will be held in German (I freely translated the titles for you).</p>
<p>There&#8217;s no conference fee and the organizers will be happy to welcome you at the Nordakademie if you <a href="http://ewita.nordakademie.de/registration.html">register before October 23rd</a>. So, if you happen to be around Hamburg that Friday don&#8217;t miss the <a href="http://ewita.nordakademie.de">1st EWiTa</a>!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=848&amp;md5=f2a23038fd812b47eaaaeddc912f8e9e" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Profiler for Xpand/Xtend/Check</title>
		<link>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/</link>
		<comments>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 10:27:16 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=793</guid>
		<description><![CDATA[A polished version of the announced profiler will be part of the upcoming 0.8.0 M2 release of Xpand next Tuesday. It acts as a callback for any expression-based workflow component to measure the execution times of Xpand templates, Xtend functions and Check validations. Also, it constructs a call-graph model to introspect callers and callees and [...]]]></description>
			<content:encoded><![CDATA[<p>A polished version of the <a href="http://HeikoBehrens.net/2009/02/10/speed-comparison-of-oaw-and-m2t-xpand/">announced profiler</a> will be part of the upcoming 0.8.0 M2 release of Xpand next Tuesday. It acts as a callback for any expression-based workflow component to measure the execution times of Xpand templates, Xtend functions and Check validations. Also, it constructs a <a href="http://en.wikipedia.org/wiki/Call_graph">call-graph</a> model to introspect callers and callees and their corresponding call times. From this model you can then generate an HTML report as part of your generator workflow.</p>
<div id="attachment_794" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2009/09/profiler.png"><img class="size-medium wp-image-794" title="profiler" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/profiler-300x159.png" alt="Output of the profiler from the Xpand Sample-Project" width="300" height="159" /></a><p class="wp-caption-text">Output of the profiler from the Xpand Sample-Project</p></div>
<p>If you stay with the text-based GProf output format (another option to dump the collected data) you can also use tools like <a href="http://code.google.com/p/jrfonseca/wiki/Gprof2Dot">Gprof2Dot to visualize hot spots with colors</a> and callees as painted connections.</p>
<div id="attachment_797" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2009/09/result.png"><img class="size-medium wp-image-797" title="result" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/result-300x65.png" alt="Same workflow visualized with Gprof2Dot without reduction of nodes with no impact" width="300" height="65" /></a><p class="wp-caption-text">Same workflow visualized with Gprof2Dot without reduction of nodes with no impact</p></div>
<p>The updated documentation explains how you can integrate the profiler into your workflow. Also, the Xpand Sample-Project Wizard creates a second workflow &#8220;generatorWithProfiler.mwe&#8221; where I have generated the above results from.</p>
<p>In a real-world project we were able to reduce the execution time of a workflow that originally took nearly half an hour down to less than 3 minutes using an earlier version of this profiler. It can also help you detecting unwanted indirections and recursions.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=793&amp;md5=7523b29ecb14c50c9862d5cd9e268fb9" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>openArchitectureWare working group at Eclipse</title>
		<link>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/</link>
		<comments>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 09:31:22 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=778</guid>
		<description><![CDATA[Over the weekend we have finally announced openArchitectureWare&#8217;s move to Eclipse at the respective websites. You will now find a landing page at openArchitectureWare.org that announces the move. The letter of intent summarizes the ideas behind the move for the loyal oAW 4 community. The homepage of the working group at Eclipse offers links to [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend we have finally announced openArchitectureWare&#8217;s move to Eclipse at the respective websites. You will now find a <a href="http://www.openArchitectureWare.org">landing page at openArchitectureWare.org</a> that announces the move. The <a href="http://www.openarchitectureware.org/staticpages/index.php/oaw_eclipse_letter_of_intent">letter of intent</a> summarizes the ideas behind the move for the loyal oAW 4 community.</p>
<div id="attachment_779" class="wp-caption aligncenter" style="width: 331px"><a href="http://www.openArchitectureWare.org"><img class="size-full wp-image-779" title="oaworg-minibanner" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/oaworg-minibanner.png" alt="openArchitectureWare moved to Eclipse" width="321" height="85" /></a><p class="wp-caption-text">openArchitectureWare moved to Eclipse</p></div>
<p>The <a href="http://www.eclipse.org/workinggroups/oaw/">homepage of the working group</a> at Eclipse offers links to ready-to-use distributions and we are working on update sites, too.</p>
<p>I want to thank <a href="http://www.peterfriese.de/">Peter</a> and <a href="http://kthoms.wordpress.com/">Karsten</a> for their help with this. Hopefully, this public notice will encourage even more users to migrate to the more stable and feature-rich version at Eclipse. Again, if you need professional support around oAW <a href="http://oaw.itemis.com/">itemis will be glad to assist you</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=778&amp;md5=df95572e8c39414035377d4ee62028ec" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xtext goes SAP</title>
		<link>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/</link>
		<comments>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 09:26:31 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=611</guid>
		<description><![CDATA[In a recent cooperative project between the Nordakademie, cimt AG and itemis AG we explored the possibilities of model-driven approaches in combination with domain-specific languages in the field of enterprise software (read: SAP). A group of nine students used Xtext and other Eclipse modeling components to express bid estimates of ocean carriers to derive and [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent cooperative project between the <a href="http://www.nordakademie.de/">Nordakademie</a>, <a href="http://www.cimt-ag.de/">cimt AG</a> and <a href="http://www.itemis.de/">itemis AG</a> we explored the possibilities of model-driven approaches in combination with domain-specific languages in the field of enterprise software (read: <a href="http://www.sap.com/">SAP</a>). A group of nine students used <a href="http://www.xtext.org">Xtext</a> and other Eclipse modeling components to express bid estimates of ocean carriers to derive and deploy database tables, Dynpros and <a href="http://en.wikipedia.org/wiki/Abap">ABAP</a> code with a one-click solution.</p>
<div id="attachment_763" class="wp-caption aligncenter" style="width: 459px"><img class="size-full wp-image-763" title="Xtext goes SAP" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/xtextgoessap.png" alt="MDSD process shortens development cycles where different estimates are needed by the customer." width="449" height="268" /><p class="wp-caption-text">MDSD process shortens development cycles where the customer expects specific applications to calculate different classes of estimation bids</p></div>
<p>My work as the &#8220;technical facilitator&#8221; was mainly enjoying the progress and providing alternatives during the sprint review and planning meetings (yes, the group decided to go with <a href="http://www.itemis.com/scrum">Scrum</a>). Without excessive help the students were able to develop a DSL that is able to</p>
<ul>
<li>make simple and complex existing data types of the SAP system available to the editor,</li>
<li>express business formulas based on variables of these types,</li>
<li>provide a comfortable editor that checks many constraints and guides the expert, and</li>
<li>describe layout of the UI based on these values.</li>
</ul>
<p>From this input some Xpand templates generate</p>
<ul>
<li>a testbed for these formulas that allows domain experts to capture their expectations within a spread sheet application,</li>
<li>database table descriptions to store estimates for reference,</li>
<li>a dynpro frontend including search masks to fill in the needed dimensions and displaying results in real-time, and</li>
<li>the needed ABAP code to perform the calculations as well as glue code for the SAP system.</li>
</ul>
<p>Prof. Frank Zimmermann published a <a href="http://www.nordakademie.de/fileadmin/bilder/ressortbilder/campusforum/CF_31.pdf#page=13">short description of this project in the in-house magazine Capusforum of the Nordakademie (German)</a>. There will be more material on these results soon: The students are preparing a publication addressing MDSD for Enterprise systems in a larger German magazine. The cimt AG and itemis will use this project to demonstrate the possibilities as well.</p>
<p>For me, this research project is just a proof of concept. I am sure the vast majority of SAP projects can benefit from MDSD principles. Thanks again to Prof. Zimmermann from the Nordakademie, Michael Neuenstadt, Michael Flemming as well as Dr. Kuhlmann from cimt AG and last not least the students. It was a pleasure to work with you!</p>
<p>If you have detailed questions -technical or commercial- don&#8217;t hesitate to contact me or the <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/21482/hamburg">responsible sales representative, Asaf Ikram</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/2188535ccea64e3dac0ef7c28183e8cc" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=611&amp;md5=bc36de4f34715af5e70f129996317255" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Detect erroneous white spaces with Hex Fiend</title>
		<link>http://HeikoBehrens.net/2009/09/03/hex-fiend/</link>
		<comments>http://HeikoBehrens.net/2009/09/03/hex-fiend/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:13:47 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=711</guid>
		<description><![CDATA[Recently, a colleague of mine received a small patch via email to apply it with Eclipse. To our both suprise the version that worked perfectly for me lead to syntax errors in his side. The patch seemed to be ok and so did the resulting Java code &#8211; apart from the syntax error. For some unexplained reasons [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, a colleague of mine received a small <a href="http://en.wikipedia.org/wiki/Patch_(Unix)">patch</a> via email to apply it with <a href="http://www.eclipse.org">Eclipse</a>. To our both suprise the version that worked perfectly for me lead to syntax errors in his side. The patch seemed to be ok and so did the resulting Java code &#8211; apart from the syntax error.</p>
<div id="attachment_751" class="wp-caption aligncenter" style="width: 337px"><img class="size-full wp-image-751" title="strangeeclipseerror" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/strangeeclipseerror.png" alt="Can you introspect this Java errors with a plain text editor?" width="327" height="75" /><p class="wp-caption-text">Can you explain this Java error with an ordinary text editor?</p></div>
<p>For some unexplained reasons one of the spaces (0&#215;20) had been replaced with another character (0xCA) which looks perfectly in any text editor but forces Eclipse to stop with an error. This might be connected with a common mistake I am doing regularly when switching between different types of computers is hitting &lt;ALT&gt;+&lt;SPACE&gt; on my Mac. This produces an &#8220;erroneous white space&#8221;, too!</p>
<div id="attachment_750" class="wp-caption aligncenter" style="width: 449px"><a href="http://ridiculousfish.com/hexfiend/"><img class="size-full wp-image-750 " title="hexfiend" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/hexfiend.png" alt="Hex Fiend not allows you to introspect you clipboard, it's a sophisticated hex editor." width="439" height="252" /></a><p class="wp-caption-text">Hex Fiend is a sophisticated hex editor for Mac with many handy features.</p></div>
<p>Meanwhile, I am using <a href="http://ridiculousfish.com/hexfiend/">Hex Fiend</a> to quickly analyze Java code with such errors but also to look into arbitrary binary data. It allows you to paste snippets from your clipboard directly into the editor and does not force you to search and open a file before. Although it works perfectly with huge files of several Gigabytes (or even Petabytes if you trust <a href="http://ridiculousfish.com/hexfiend/Screenshot_3.html">their own words</a>) working with the clipboard is really handy. Beyond this it allows you to convert byte ranges to different integer formats and the find/replace actions concentrate on binary data as well.</p>
<p><a href="http://ridiculousfish.com/hexfiend/">Give it a try</a> when you have to analyze binary data or your next strange text file the next time.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=711&amp;md5=7d2bbb4349ddff681bd58adff4828889" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/03/hex-fiend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Xtext in print</title>
		<link>http://HeikoBehrens.net/2009/07/23/xtext-in-print/</link>
		<comments>http://HeikoBehrens.net/2009/07/23/xtext-in-print/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:06:08 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=670</guid>
		<description><![CDATA[Complementary to the extensive twitter presence, heaps of blog posts, the website relaunch as well as the successful webinar Xtext now enters print media. Today, the German iX Magazin for professional IT (issue 08/2009) publishes an article where I try to offer a general idea of Xtext: &#8220;Domänenspezifische Sprachen mit dem Eclipse-Projekt Xtext&#8220;. But this [...]]]></description>
			<content:encoded><![CDATA[<p>Complementary to the extensive <a href="http://twitter.com/xtext">twitter presence</a>, <a href="http://www.google.com/search?&amp;q=blog+xtext">heaps of blog posts</a>, the <a href="http://blog.efftinge.de/2009/06/xtext-new-website.html">website relaunch</a> as well as the <a href="http://www.1160pm.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/">successful webinar</a> Xtext now enters print media. Today, the German <a href="http://www.heise.de/ix/">iX Magazin</a> for professional IT (<a href="http://www.heise.de/kiosk/archiv/ix/2009/8">issue 08/2009</a>) publishes an article where I try to offer a general idea of Xtext: &#8220;<a href="http://www.heise.de/kiosk/archiv/ix/2009/8/110_kiosk">Domänenspezifische Sprachen mit dem Eclipse-Projekt Xtext</a>&#8220;.</p>
<div id="attachment_672" class="wp-caption aligncenter" style="width: 435px"><a href="http://www.heise.de/ix/inhalt.shtml"><img class="size-full wp-image-672" title="Xtext in iX Magazin" src="http://www.1160pm.net/wp-content/uploads/2009/07/magazine.png" alt="iX Magazin issue 08/2009 prints my article about Xtext" width="425" height="184" /></a><p class="wp-caption-text">iX Magazin issue 08/2009 prints my article about Xtext</p></div>
<p>But this is not the only publication that discusses Xtext: Next week the German <a href="http://it-republik.de/jaxenter/eclipse-magazin/">Eclipse Magazin</a> (issue 5.2009) will start a series by <a href="http://koehnlein.blogspot.com/">Jan Köhnlein</a> and <a href="http://zarnekow.blogspot.com/">Sebastian Zarnekow</a> that explains the technology in detail. And <a href="http://blog.efftinge.de/">Sven Efftinge</a> sums up the recent events around the Eclipse Modeling Project (including Xtext) in the very same issue (<a href="http://it-republik.de/jaxenter/artikel/Galileo-macht%B4s-moeglich-Modeling-wird-praxistauglich-2396.html">online version of this article</a> already available).</p>
<p><a href="http://startbigthinksmall.wordpress.com/">Lars Corneliussen</a> and <a href="http://www.voelter.de/">Markus Völter</a> started a series about DSLs in the in <a href="http://www.dotnetpro.de/">dotnetpro</a> (so far, <a href="http://startbigthinksmall.wordpress.com/2009/04/17/dotnetpro-kurzer-rede-langer-sinn/">issue 05/2009</a> and <a href="http://startbigthinksmall.wordpress.com/2009/06/17/dotnetpro-072009-turmbau-zu-babel-dsls-entwickeln-mit-eclipse-xtext/">07/2009</a>). Even though the focus is on .net platform the former version of Xtext (oAW 4.3) plays a significant role.</p>
<p>Unfortunately, all these publications are in German. If you are interested in writing an English article and need someone to review your work or if you have strong connections to English publishers who might be interested in an article written by us, please contact us via <a href="mailto:xtext at itemis dot com">xtext at itemis dot com</a> or comment this blog post.</p>
<p>That said, I want to thank the reviewers of my iX article for their valuable feedback!</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.heise.de/kiosk/archiv/ix/2009/8/110_kiosk">Online version of the iX Article</a></li>
<li><a href="http://www.heise.de/ix/artikel/2009/08/links/110.shtml">Links mentioned in the iX Article</a></li>
</ul>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=670&amp;md5=dde5aaac1cf4eb143f0f8f9af65342dc" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/23/xtext-in-print/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtext: Model Prize Laureate</title>
		<link>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/</link>
		<comments>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 23:34:17 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=649</guid>
		<description><![CDATA[What do a G1 Android mobile phone, a ticket for the Eclipse Summit Europe 2009, signed books about modeling as well as Xtext T-Shirts have in common? I am proud to say that itemis, the company I am working for, offers these juicy prizes to the winners of the upcoming Xtext contest. If you are [...]]]></description>
			<content:encoded><![CDATA[<p>What do a G1 Android mobile phone, a ticket for the Eclipse Summit Europe 2009, signed books about modeling as well as Xtext T-Shirts have in common? I am proud to say that <a href="http://www.itemis.com/">itemis</a>, the company I am working for, offers these juicy prizes to the winners of the upcoming <a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate">Xtext contest</a>.</p>
<p><a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate"><img class="aligncenter size-full wp-image-650" title="Model Prize Laureate" src="http://www.1160pm.net/wp-content/uploads/2009/07/xtext-laureate.png" alt="" width="411" height="292" /></a></p>
<p>If you are looking for a challenge and wanted to play around with Xtext since you heard about it this one is definitely for you. Pimp Xtext the way you want, combine it with colors, graphical aspects or any other technology, work with huge models, come up with a new programming language &#8211; your mind is the limit.</p>
<blockquote><p>Be creative, use unusual techniques, explore your skills, do whatever it takes &#8211; we want you to get really excited about it so we will be excited as well.<br />
<strong></strong></p></blockquote>
<p>You will have two months to submit an inspiring solution based on Xtext. And, with a bit of luck, you will not only win an Xtext T-shirt but program your next Java project for an Android mobile phone or meet other Eclipse enthusiasts at the Summit in Ludwigsburg.</p>
<p>Feel free to comment if you have any questions. <a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate">Good luck</a>!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=649&amp;md5=bed78eea774a44fa6634b18a2c4b1f48" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the Xtext Webinar on Wednesday, 15th July</title>
		<link>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/</link>
		<comments>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 14:30:10 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=643</guid>
		<description><![CDATA[Next Wednesday, Sven and I will hold the Eclipse Webinar &#8220;Xtext: Developing Domain Specific Languages&#8221;. We are going to classify Xtext compared to other concepts and frameworks and demonstrate its capabilities with a refined version of an example I presented in London last week. After that we discuss the versatile possibilities for extending and customizing [...]]]></description>
			<content:encoded><![CDATA[<p>Next Wednesday, <a href="http://blog.efftinge.de/">Sven</a> and I will hold the <a href="http://live.eclipse.org/node/705">Eclipse Webinar &#8220;Xtext: Developing Domain Specific Languages&#8221;</a>. We are going to classify <a href="http://www.xtext.org">Xtext</a> compared to other concepts and frameworks and demonstrate its capabilities with a refined version of an example I presented in <a href="http://www.1160pm.net/2009/07/01/xtext-at-democamp-london-in-june-2009/">London last week</a>. After that we discuss the versatile possibilities for extending and customizing the framework and finish with an exciting outlook.</p>
<p><a href="http://live.eclipse.org/node/705"><img class="aligncenter size-full wp-image-638" title="Xtext Webinar" src="http://www.1160pm.net/wp-content/uploads/2009/07/webinar_teaser.png" alt="" width="253" height="84" /></a></p>
<p>The webinar will start at 5:00 pm GMT (<a href="http://www.timeanddate.com/worldclock/fixedtime.html?month=7&amp;day=15&amp;year=2009&amp;hour=17&amp;min=0&amp;sec=0&amp;p1=0">convert to local time</a>) and will take approximately one hour. We will offer a chat to answer your questions either live or in the end of the show. And since the program is not yet completely settled, it&#8217;s your chance to declare anything as a must-see. Just leave your comments here.</p>
<h2>Update</h2>
<p>The webinar was a great success! With the help of <a href="http://zarnekow.blogspot.com/">Sebastian</a> and Moritz we were able to inform and entertain 130 Attendees. You can <a href="http://live.eclipse.org/node/705">watch the replay</a> at any time and follow some useful links either via its website or directly here:</p>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-webinar">Slides (via SlideShare)</a></li>
<li>Chess Example (not there, yet)</li>
<li><a href="http://blog.efftinge.de/2009/07/xtext-scopes-and-emf-index-in-action.html">Domain Model and Index (via Svens Blog)</a></li>
<li><a href="http://koehnlein.blogspot.com/2009/06/synchronized-editors-with-tmfxtext-and.html">Xtext and GMF (via Jans Blog)</a></li>
</ul>
<p>Also, <a href="http://www.1160pm.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/#more-643">here</a> you will find the final poll results. Thank you for you help, Lynn!</p>
<p><span id="more-643"></span></p>
<div id="attachment_664" class="wp-caption aligncenter" style="width: 176px"><img class="size-full wp-image-664" title="modelingexperience" src="http://www.1160pm.net/wp-content/uploads/2009/07/modelingexperience.png" alt="Do you have any experience with modeling? (99 Answers)" width="166" height="166" /><p class="wp-caption-text">Do you have any experience with modeling? (99 Answers)</p></div>
<div id="attachment_665" class="wp-caption aligncenter" style="width: 387px"><img class="size-full wp-image-665" title="thoughtsaboutxtext" src="http://www.1160pm.net/wp-content/uploads/2009/07/thoughtsaboutxtext.png" alt="What do you think about Xtext? (59 Answers)" width="377" height="168" /><p class="wp-caption-text">What do you think about Xtext? (59 Answers)</p></div>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=643&amp;md5=9575d46d219a100be8fdec5ef8f0bd27" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Xtext at DemoCamp London in June 2009</title>
		<link>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/</link>
		<comments>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:44:11 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=590</guid>
		<description><![CDATA[This Monday the Eclipse DemoCamp took place in London at Skills Matter. You will find a comprehensive review at InfoQ by Alex Blewitt where you can read about NatTable (Dan Pollitt) and JQantLib/OSGi (Richard Gomes) as well as Xtext. And thanks to Eren Aykin you will find a video podcast of the latter, too! This [...]]]></description>
			<content:encoded><![CDATA[<p>This Monday the <a href="http://skillsmatter.com/event/java-jee/eclipse-democamp-2009">Eclipse DemoCamp took place in London at Skills Matter</a>. You will find a <a href="http://www.infoq.com/news/2009/06/eclipse-democamp-london">comprehensive review at InfoQ</a> by <a href="http://alblue.blogspot.com/">Alex Blewitt</a> where you can read about <a href="http://sourceforge.net/projects/nattable">NatTable</a> (Dan Pollitt) and <a href="http://www.jquantlib.org/">JQantLib</a>/OSGi (Richard Gomes) as well as <a href="http://www.xtext.org">Xtext</a>. And thanks to <a href="http://www.erenaykin.net/">Eren Aykin</a> you will find a <a href="http://skillsmatter.com/podcast/java-jee/itemis-xtext-developing-domain-specific-languages">video podcast</a> of the latter, too!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5391612&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="340" src="http://vimeo.com/moogaloop.swf?clip_id=5391612&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>This time I tried to spread the idea of DSLs with chess and different ways of expressing moves within the game. In the first part of my presentation I processed cryptic notations like &#8220;Rd2-c2&#8243; or more natural equivalents such as &#8220;rook at d2 moves to c2&#8243; to work with them as true Java objects and eventually visualized chess fields. Second, I tried to emphasize the value of DSLs in today&#8217;s software projects where we implemented another DSL live at the DemoCamp in the end. You will find <a href="http://www.slideshare.net/HeikoB/xtext-at-eclipse-democamp-london-in-june-2009">my slides at SlideShare</a> again.</p>
<p>It was quite informative to chat with the Eclipse folks in London afterwards. Most of them have a pragmatic view at modeling and tools in general. I really appreciate this! Thank you, <a href="http://neilbartlett.name/blog/2009/06/26/calling-all-dsl-nuts-and-scaliens-in-london/">Neil</a>, for organizing this event and <a href="http://twitter.com/njbartlett/statuses/2177688004">inviting via twitter</a>.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-at-eclipse-democamp-london-in-june-2009">Slides at SlideShare</a></li>
<li><a href="http://skillsmatter.com/podcast/java-jee/itemis-xtext-developing-domain-specific-languages">Video Podcast at Skills Matter</a></li>
<li><a href="http://www.infoq.com/news/2009/06/eclipse-democamp-london">Review at InfoQ</a></li>
</ul>
<h3>Source Code</h3>
<p>Loading chess DSL text files as Java objects:</p>
<pre class="brush: java; collapse: true; toolbar: true;">package org.xtext.example.chess;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.xtext.example.ChessStandaloneSetup;

public class JavaTest {

	public static void main(String[] args) {
		String filename = "some/path/MyModel.chess";
		Game g = getGame(filename);
		System.out.println(g.getWhitePlayer() + " vs. " + g.getBlackPlayer());
		for (Move m : g.getMoves())
			System.out.println(m.getSource() + " to " + m.getDest());
	}

	private static Game getGame(String filename) {
		ChessStandaloneSetup.doSetup();
		ResourceSet rs = new XtextResourceSet();
		Resource res = rs.getResource(URI.createFileURI(filename), true);
		return (Game) res.getContents().get(0);
	}

}</pre>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/5d95ae1a9e40428c968abee5ef9d9cbd" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=590&amp;md5=b7fd009bb53188451f396db9650c1372" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>New Xtext Logo</title>
		<link>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/</link>
		<comments>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 21:49:23 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=496</guid>
		<description><![CDATA[Reading tweets, newsgroup posts, blogs, articles or press releases I am very excited to notice that xText gains increasing attention. As far as I can see most newcomers learn about xtext as a great tool to create domain specific languages (DSLs). Also, X-Text seems to fulfill a need many software engineers feel: Inventing their own [...]]]></description>
			<content:encoded><![CDATA[<p>Reading tweets, newsgroup posts, blogs, articles or press releases I am very excited to notice that <em>xText</em> gains increasing attention. As far as I can see most newcomers learn about <em>xtext</em> as a great tool to create domain specific languages (DSLs). Also, <em>X-Text</em> seems to fulfill a need many software engineers feel: Inventing their own programming language.</p>
<p>People are just starting to explore the possibilities and sometimes it is difficult for them to find the right word to name a concept or share an idea. We do our best to support those seekers and are glad to do away with a common uncertainness: The right spelling is &#8220;<a href="http://www.Xtext.org">Xtext</a>&#8221; and from today its logo does reflect this.</p>
<div id="attachment_499" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-499" title="New Xtext Logo" src="http://www.1160pm.net/wp-content/uploads/2009/06/newxtextlogo.png" alt="The new Xtext logo starts with a capital X" width="400" height="125" /><p class="wp-caption-text">The new Xtext logo starts with a capital X</p></div>
<p>Beside every other wrong spelling &#8220;xtext&#8221; was the most prominent. It took us a while to find out why this was the case. Eventually, we realized that the omnipresent logo started with a lower-case &#8220;x&#8221; (<a href="http://www.1160pm.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/">convince yourself</a>). So it was our own <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=270727">fault</a>!</p>
<p>With the help of Carsten Oltmann we are proud to present the new version of the Xtext logo. Feel free to place it into your presentations, on your blogs or as a <a href="http://www.1160pm.net/wp-content/uploads/2009/06/svens-sticker.png">sticker at your laptop</a>.</p>
<h3>Downloads</h3>
<p>I will provide the logo in four different flavours and in two different formats. You can download a vector graphic and a PNG in suitable sizes. The background color of the thumbnails are for reference only, the provided graphics are transparent.</p>
<table border="0">
<thead>
<tr>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-color.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-negative.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-dark.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-white.png" alt="" width="97" height="33" /></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-coloreps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negativeeps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-darkeps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-whiteeps.zip">EPS (vector)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-800.png">PNG (800px)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-300.png">PNG (300px)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-100.png">PNG (100px)</a></td>
</tr>
</tbody>
</table>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=496&amp;md5=f1f31dcea9ba6d3a39dd17e232f6221b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Xtext at Eclipse DemoCamp May 2009 in Hamburg</title>
		<link>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/</link>
		<comments>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/#comments</comments>
		<pubDate>Tue, 26 May 2009 22:15:26 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=471</guid>
		<description><![CDATA[Yesterday&#8217;s Eclipse DemoCamp in Hamburg was a successful social event. The organizers Peter and Martin scheduled the Eclipse Stammtisch directly after the demo sessions so that many known but (to me) even more unknown faces gathered together to discuss the impressions at the bar. Beside the talks from Moritz Eysholdt (Patching Models and Evolving Meta [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">Yesterday&#8217;s Eclipse DemoCamp in Hamburg</a> was a successful social event. The organizers <a href="http://www.peterfriese.de/">Peter</a> and <a href="http://www.martinlippert.com/">Martin</a> scheduled the Eclipse Stammtisch directly after the demo sessions so that many known but (to me) even more unknown faces gathered together to discuss the impressions at the bar.</p>
<p>Beside the talks from Moritz Eysholdt (Patching Models and Evolving Meta Models), Simon Zambrovski (Playing with Eclipse Common Navigator Framework) and Markus Alexander Kuppe (Distributed OSGi, RFC 119 &#8211; The ECF way) there was a talk about <a href="http://www.objectteams.org/">ObjectTeams</a> again. Marco Mosconi demonstrated how one can weave manually written code into generated GMF editors with an aspect-oriented approach. Nice!</p>
<div id="attachment_486" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/sza/3568564774/"><img class="size-full wp-image-486" title="Xtext talk at the Eclipse DemoCamp in Hamburg" src="http://www.1160pm.net/wp-content/uploads/2009/05/xtexttalkvonheiko2.png" alt="Me talking about Xtext at the Eclipse DemoCamp in Hamburg" width="400" height="296" /></a><p class="wp-caption-text">Me talking about Xtext at the Eclipse DemoCamp in Hamburg</p></div>
<p>I had the opportunity to talk about <a href="http://www.xtext.org">Xtext</a> in front of an audience that mostly had not seen it before. Playing with expectations and trying out some new ideas was great fun. Xtext becomes more stable and doing live presentations is no risk but a pleasure.</p>
<p>For those who do not want to miss the pizza recipe nor the class schedule DSL, you will find attached the slides. <a href="http://www.flickr.com/photos/peterfriese/sets/72157618835467216/">Peter&#8217;s photos</a> and <a href="http://www.flickr.com/photos/sza/sets/72157618745344503/">Simon&#8217;s album</a> give a visual impression of the event. Also, please note that we have just published ready-to-use distributions with the current Xtext RC2 release. Nothing should stop you from implementing your very own grammar. And if you come up with a textual DSL to avoid wrong IDs in your plugin.xml, let me know <img src='http://HeikoBehrens.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Downloads</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-und-was-man-damit-anstellen-kann">Slides at SlideShare (German)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-linux-gtk.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (Linux-gtk)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-macosx-carbon.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (MacOS X-carbon)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-macosx-cocoa.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (MacOS X-cocoa)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-win32.zip">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (Win32)</a></li>
</ul>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=471&amp;md5=db73e2b6a7e20183139b2f36bc1f1ed3" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generation Gap Pattern</title>
		<link>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/</link>
		<comments>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 19:35:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[openArchitectureWare]]></category>
		<category><![CDATA[Add new tag]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=213</guid>
		<description><![CDATA[The Generation Gap Pattern is a common way to weave manually written code into generated software artifacts. While this pattern describes how to structure your classes logically it does not teach you where to place these classes physically as files into the filesystem. Separating generated files from manually written code is best practice for many [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a> is a common way to weave manually written code into generated software artifacts. While this pattern describes how to structure your classes logically it does not teach you where to place these classes physically as files into the filesystem.</p>
<div id="attachment_452" class="wp-caption aligncenter" style="width: 461px"><img class="size-full wp-image-452" title="Figure 1" src="http://www.1160pm.net/wp-content/uploads/2009/04/generationgappattern.png" alt="Figure 1: The Generation Gap Pattern" width="451" height="230" /><p class="wp-caption-text">Figure 1: The Generation Gap Pattern</p></div>
<p>Separating generated files from manually written code is <a href="http://www.infoq.com/articles/model-driven-dev-best-practices">best practice</a> for many reasons. It enables you to use version control wisely and makes the distinction between generated and manually written code easy. The Eclipse <a href="http://wiki.eclipse.org/Modeling_Workflow_Engine_(MWE)">EMF Modeling Workflow Engine</a> together with <a href="http://wiki.eclipse.org/Xpand">M2T Xpand</a> allows you to accomplish this goal in different ways.</p>
<p>In this post, I will present three different approaches that share some common ideas. Each strategy uses a dedicated directory for generated class files whereas manually written subclasses are stored for themselves in a different directory.</p>
<p><span id="more-213"></span></p>
<h2>General Directory Layout</h2>
<p>Both sets of classes belong to the same package but reside in different source folders. Framework classes should be kept in yet another directory and might be placed in a package specific for the framework as seen in <a href="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral.png">Figure 2</a>.</p>
<div id="attachment_435" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral.png"><img class="size-medium wp-image-435" title="Figure 2" src="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral-300x258.png" alt="Figure 2: Schematic directory layout of an Eclipse Java project" width="300" height="258" /></a><p class="wp-caption-text">Figure 2: Schematic directory layout of an Eclipse Java project</p></div>
<p>In Eclipse you can configure such a project structure by adding new source folders (<em>New</em> → <em>Source Folder&#8230;</em>) or by declaring ordinary folders as source folders in the project properties (<em>Properties</em> → <em>Java Build Path</em> → <em>Source</em>).</p>
<p>Please note that folder names such as <em>src-generatedClasses</em> are meant to be schematically and stand for a category of folders each. In real world projects you might have several source folders that contain generated artifacts and you might deal with many folders or even projects that contain manually written classes. In the following sections you will see how these categories of folders can be used in practice.</p>
<h2>Generate Once</h2>
<p><a href="http://www.peterfriese.de/how-to-distinguish-generated-code-from-non-generated-code/">Peter describes a directory layout</a> many <a href="http://www.xtext.org">Xtext users</a> are familiar with. Generated artifacts go into a folder <em>src-gen</em> whereas manually written classes will be stored in a folder <em>src-once</em>. Each time you run the generator the content of folder <em>src-gen</em> will be purged and generated again whereas the the content of <em>src-once</em> will remain untouched.</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png"><img class="size-full wp-image-283" title="Figure 3" src="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png" alt="Figure 3: src-once collects one-time generated artefacts for future editing" width="500" height="168" /></a><p class="wp-caption-text">Figure 3: Generate Once collects one-time generated artifacts for future editing</p></div>
<p>Since each model element <em>A</em> leads to two classes <em>AbstractA</em> and <em>ConcreteA</em> (<a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a>) you can reduce the amount of manual work by generating the class <em>ConcreteA</em> if it does not exist, yet. During the next run of the generator the class <em>ConcreteA</em> won’t be generated again, hence the name “once”.</p>
<p>Configure an additional outlet in your EMF MWE file:</p>
<pre class="brush: xml; highlight:6">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
   &lt;metaModel idRef="mm"&gt;
   &lt;expand value="MyTamplate::main FOR model"&gt;
   &lt;outlet overwrite="true" path="src-gen"&gt;
   &lt;outlet name="MANUAL" overwrite="false" path="src-once"&gt;
&lt;/component&gt;</pre>
<p>Using M2T Expand you can than refer to the outlet <em>MANUAL</em> where appropriate</p>
<pre class="brush: plain">«DEFINE ConcreteClass FOR Element»
   «FILE this.fileName() MANUAL»
   ...
«ENDDEFINE»</pre>
<p>This approach works well in many scenarios but has its limits. As seen in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png">Figure 3</a> problems arise whenever you delete or rename a model element. In these cases each concrete artifact at <em>src-once</em> that does not correspond to a model element anymore is abandoned and will remain with compile errors. This is desired for classes that hold manual code but is cumbersome for those that do not.</p>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce.png"><img class="size-medium wp-image-288" title="Figure 4" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce-300x256.png" alt="Figure 4" width="300" height="256" /></a><p class="wp-caption-text">Figure 4: Generate Once in package explorer</p></div>
<p>For scenarios where a huge amount of generated classes is customized only in a few cases the &#8220;Generate Once&#8221; approach leads to unwanted manual refactoring effort including file movement. Life is getting worse when you are working with a complex folder structure instead of a single flat directory. <a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce.png">Figure 4</a> might give you an idea of how things will look for growing models.</p>
<h2>Conditional Generation 1 (with one gen-folder)</h2>
<p>The following approach plays well when only a small subset of classes has to be extended with manual code. According to the <a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a> for each model element <em>A</em> there is a generated class<em> AbstractA</em> as well as an concrete class <em>ConcreteA</em>. But in contrast to the “Generate Once” approach both files will be placed in the very same folder <em>src-gen</em> and therefore deleted and regenerated for each generator run.<br />
There is one exception to this behavior. Whenever the generator finds a file <em>ConcreteA</em> in the folder <em>src-man</em> it skips the generation process for this particular file. This is how you introduce manual code.</p>
<div id="attachment_289" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond1.png"><img class="size-full wp-image-289" title="Figure 5" src="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond1.png" alt="Figure 5" width="500" height="214" /></a><p class="wp-caption-text">Figure 5: Conditional Generation 1 reduces manual refactoring effort</p></div>
<p>At first glance this approach seems to be similar to the solution above. But when deleting or moving model elements this approach really pays off. Each concrete class that does not contain manual code will be deleted and regenerated. Therefore, when moving or deleting the model elements no additional manual work has to be done. Also, a quick look at <em>src-man</em> reveals any code that has been written manually.</p>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectman.png"><img class="size-medium wp-image-290" title="Figure 6" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectman-300x248.png" alt="Figure 6" width="300" height="248" /></a><p class="wp-caption-text">Figure 6: Conditional Generation 1 in package explorer</p></div>
<p>To implement the desired behavior of the generator users of MWE can configure an outlet with a special veto strategy. Please note that the outlet <em>MANUAL</em> does not need to keep files (<em>overwrite=&#8221;true&#8221;</em>), they will be purged by the directory cleaner anyway.</p>
<pre class="brush: xml; highlight:6-7">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
  &lt;metaModel idRef="mm" /&gt;
  &lt;expand value="MyTamplate::main FOR model"/&gt;
  &lt;outlet overwrite="true" path="src-gen" /&gt;
  &lt;outlet name="MANUAL" overwrite="true" path="src-gen"&gt;
    &lt;vetoStrategy class="your.package.CondGenVetoStrategy" path="src-man"/&gt;
  &lt;/outlet&gt;
&lt;/component&gt;</pre>
<p>Such a veto strategy would read like:</p>
<pre class="brush: java; collapse: true; toolbar: true;">public class CondGenVetoStrategy implements VetoStrategy, VetoStrategy2 {

	private String path;

	public void setPath(String value) {
		path = value;
	}

	public String getPath() {
		return path;
	}

	public boolean hasVeto(FileHandle fileHandle) {
		URI fileToBeGenerated = fileHandle.getTargetFile().toURI();
		URI pathToGenerateInto = new File(fileHandle.getOutlet().getPath()).getAbsoluteFile().toURI();
		URI relativeFileName = pathToGenerateInto.relativize(fileToBeGenerated);
		File potentiallyExistingFile = new File(this.getPath(), relativeFileName.toString());

		return potentiallyExistingFile.exists();
	}

	public boolean hasVetoBeforeOpen(FileHandle handle) {
		return hasVeto(handle);
	}
}</pre>
<p><strong>oAW 4.x: </strong>VetoStrategy2 has been introduced with oAW 4.3.1.</p>
<p>Unfortunately, the advantages of this approach do not come for free: Compared to &#8220;Generate Once&#8221; it is more difficult to introduce manual code since it is harder to understand the needed steps. One has to create a concrete class in the <em>src-man</em> folder manually (or move it from <em>src-gen</em> and remove all comments that mark them as generated) where no class exists, yet. This might seem to be a no-brainer but can lead into trouble when defining a process for large projects. This is especially true for the unlikely case that you check-in generated code of <em>src-gen</em>.</p>
<h2>Conditional Generation 2 (with two gen-folders)</h2>
<p>A slighty different way that basically follows the same idea introduces yet another folder <em>src-gencond</em>.</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png"><img class="size-full wp-image-291" title="Figure 7" src="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png" alt="Figure 7" width="500" height="217" /></a><p class="wp-caption-text">Figure 7: Conditional Genration 2 lists classes that can implemented manually</p></div>
<p>As you can see in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png">Figure 7</a> the generated artifacts are split into the folder <em>src-gen</em> where the abstract classes reside and the newly introduced folder <em>src-gencond</em>. The latter contains only the concrete classes that could be replaced by manually implemented classes. In contrast to the “Conditional Generation 1” approach the users are now able to find classes that can be augmented be manual implementations without any challenge. Users still have to move classes from <em>src-gencond</em> to <em>src-man</em> by hand but it is simpler to communicate the necessary steps.</p>
<div id="attachment_292" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond.png"><img class="size-medium wp-image-292" title="Figure 8" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond-300x232.png" alt="Figure 8" width="300" height="232" /></a><p class="wp-caption-text">Figure 8: Conditional Generation 2 in package explorer</p></div>
<p>As you can see in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond.png">Figure 8</a> one can easily identify that there are two classes that could be implemented by hand. Such a folder structure can pay off when different groups of developers are dealing with a fairly large and scattered set of classes.</p>
<p>In order to realize &#8220;Conditional Generation 2&#8243; you simply reconfigure the outlet <em>MANUAL</em> to write its output to <em>src-gencond</em>. Also, a second directory cleaner removes all files from this directory before code generation starts.</p>
<pre class="brush: xml; highlight: [2, 7]">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gencond"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
  &lt;metaModel idRef="mm" /&gt;
  &lt;expand value="MyTamplate::main FOR model"/&gt;
  &lt;outlet overwrite="true" path="src-gen" /&gt;
  &lt;outlet name="MANUAL" overwrite="true" path="src-gencond"&gt;
    &lt;vetoStrategy class="your.package.CondGenVetoStrategy" path="src-man"/&gt;
  &lt;/outlet&gt;
&lt;/component&gt;</pre>
<h2>Comparison</h2>
<p>Each of these solutions do their job in real world <a href="http://en.wikipedia.org/wiki/Model_Driven_Software_Development">MDSD</a> projects. Where projects with rather stable interfaces go with the “Generate Once” approach larger projects address growing maintenance effort with the “Conditional Generatation 1/2”  solution. The move from “Conditional Generatation 1” towards “Conditional Generatation 2” is rather trival and can smoothly be taken within a running project.</p>
<p>I&#8217;d be happy to read about your experience with these or different project setups.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/4b0f53a51d4f43f88b2925594e2ddd24" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=213&amp;md5=7c7ac8baa2ff09a50842c136a7ef5b7b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Google App Engine for Java and Google plug-in for Eclipse</title>
		<link>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/</link>
		<comments>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 08:43:27 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=379</guid>
		<description><![CDATA[Today, Google announced that the Google App Engine will support Java. This is great news for every Java developer who wants to experiment with the cloud. At the moment Google grants an &#8220;early look&#8221; to only a few (10,000) developers that sign up early. Everybody else can code, test, debug und run Java-based applications using the SDK [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Google <a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html">announced</a> that the <a href="http://code.google.com/appengine/docs/java/overview.html">Google App Engine will support Java</a>. This is great news for every Java developer who wants to experiment with <a href="http://en.wikipedia.org/wiki/Cloud_computing">the cloud</a>. At the moment Google grants an &#8220;early look&#8221; to only a few (10,000) developers that <a href="http://appengine.google.com/promo/java_runtime">sign up</a> early. Everybody else can code, test, debug und run Java-based applications using the SDK locally but won&#8217;t be able to upload the application until this service is available for everybody.<a href="http://code.google.com/appengine/docs/java/overview.html"><img class="aligncenter size-full wp-image-380" title="Google App Engine for Java" src="http://www.1160pm.net/wp-content/uploads/2009/04/logo.png" alt="" width="250" height="235" /></a></p>
<p>At the same time the <a href="http://code.google.com/eclipse">Google Plug-in for Eclipse</a> has been <a href="http://googlewebtoolkit.blogspot.com/2009/04/google-plugin-for-eclipse-peanut-butter.html">announced</a>, too. Together with the <a href="http://code.google.com/webtoolkit">1.6 release of GWT</a> there&#8217;s much to explore and a <a href="http://code.google.com/p/googleappengine/issues/detail?id=1">long and eagerly awaited feature</a> comes true.</p>
<p>This is by far better than the fake of a <a href="http://googleappengine.blogspot.com/2009/04/brand-new-language-on-google-app-engine.html">Google App Engine for Fortran</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=379&amp;md5=a615b698e34cdf8f41d8d76e4e1e1f5c" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Xtext at EclipseCon 2009</title>
		<link>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/</link>
		<comments>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 13:28:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=366</guid>
		<description><![CDATA[This year&#8217;s EclipseCon in Santa Clara was not only about Eclipse itself. For me, a silent observer who noticed this event only via the web, it acts like an important hub for many ideas and achievements inside and around the Eclipse ecosystem in general. One of these little treasures that have been mentioned is Xtext. [...]]]></description>
			<content:encoded><![CDATA[<p>This year&#8217;s <a href="http://www.eclipsecon.org/">EclipseCon in Santa Clara</a> was not only about <a href="http://www.eclipse.org/">Eclipse</a> itself. For me, a silent observer who noticed this event only via the web, it acts like an important hub for many ideas and achievements inside and around the Eclipse ecosystem in general. One of these little treasures that have been mentioned is <a href="http://www.xtext.org">Xtext.</a> What else could have been expected?</p>
<p><a href="http://blog.efftinge.de/2009/03/eclipsecon-slides-and-other-stupid.html">Sven</a> and <a href="http://koehnlein.blogspot.com/2009/03/xtext-generic-editor-and-emf-index-at.html">Jan</a> had a <a href="http://www.eclipsecon.org/2009/sessions?id=436">talk about the upcoming release of TMF Xtext</a> and <a href="http://www.slideshare.net/sefftinge/xtext-eclipse-con">shared their slides</a> afterwards. During the event one could recognize some <a href="http://tweettrail.com/search/xtext+eclipsecon">nice comments about Xtext at twitter</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="359" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/AfX+HYfRVQ" /><embed type="application/x-shockwave-flash" width="450" height="359" src="http://blip.tv/play/AfX+HYfRVQ"></embed></object></p>
<p>But for me, the most interesting digital find is an interview with <a href="http://www.itemis.com/itemis-ag/company/language=en/2601/management-board">Wolfgang Neuhaus</a> I stumbled across at <a href="http://ianskerrett.wordpress.com/2009/03/26/eclipsecon-video-what-is-xtext/">Ian&#8217;s Blog</a>. Without the demand for in-depth knowledge of specific tools Wolfgang introduces the ideas behind Xtext in a brief and precise way.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=366&amp;md5=60d2f1b4d3437d3b79c2bff7fd93c330" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtext M6 with more documentation and stable API</title>
		<link>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/</link>
		<comments>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:53:03 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=260</guid>
		<description><![CDATA[According to the project plan we have published the sixth milestone version of TMF Xtext this Tuesday. Please note, this is not a release candidate, yet. Nevertheless, it&#8217;s another huge step towards the Galileo release in June and tough guys may want to explore M6 as some early adopters already do. We know about bugs and [...]]]></description>
			<content:encoded><![CDATA[<p>According to the <a href="http://www.eclipse.org/projects/project-plan.php?projectid=modeling.tmf">project plan</a> we have published the sixth milestone version of <a href="http://www.xtext.org">TMF Xtext</a> this Tuesday. Please note, this is not a release candidate, yet. Nevertheless, it&#8217;s another huge step towards the Galileo release in June and tough guys may want to explore M6 as some early adopters already do.</p>
<p><a href="http://www.xtext.org"><img class="aligncenter size-full wp-image-261" title="Xtext" src="http://www.1160pm.net/wp-content/uploads/2009/03/xtextlogo.png" alt="" width="300" height="88" /></a></p>
<p>We know about <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Modeling&amp;product=TMF&amp;component=Xtext&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">bugs and missing features</a> but with good cause I want to draw your attention to this release. Apart from the constantly improved <a href="http://wiki.eclipse.org/Xtext/Documentation">core documentation</a> we are beginning with documents like &#8220;<a href="http://wiki.eclipse.org/Xtext/GettingStarted">Getting Started</a>&#8221; or &#8221;<a href="http://wiki.eclipse.org/Xtext/Documentation/Migration">Migration from oAW Xtext</a>&#8220;. The latter is far from being finished and will summarize the lessons we have learned together with our customers that have be been using TMF Xtext since M5 and earlier.</p>
<p>Xtext users might be glad to hear that the <a href="http://wiki.eclipse.org/Xtext/Documentation/API">API of Xtext is reliable</a>. To accomplish this goal we leverage the annotation <em>@java.lang.Deprecated</em> for parts of the API that won&#8217;t be supported in future. But more interesting is the newly introduced annotation <em>@org.eclipse.xtext.Stable</em>. An interface tagged this way is not truly stable itself since we might introduce new methods in future but the annotation might help you anyway. It directs you to an abstract class that you should derive from. Whenever a new method will be introduced in future this class will complement your work with a null implementation your can override as necessary (does anyone know how this pattern is called?).</p>
<div id="attachment_339" class="wp-caption aligncenter" style="width: 438px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/pattern.png"><img class="size-full wp-image-339" title="Annotation" src="http://www.1160pm.net/wp-content/uploads/2009/03/pattern.png" alt="Interface with @stable and corresponding abstract class" width="428" height="338" /></a><p class="wp-caption-text">Interface with @stable and corresponding abstract class</p></div>
<p>So, even if you won&#8217;t try out TMF Xtext at this stage this documentation material might give you a preview of what you can expect in June. Check out the <a href="http://wiki.eclipse.org/Xtext/Documentation/Xtext_New_and_Noteworthy">New and Noteworthy Page</a> for a general overview of this release.</p>
<p>Feedback is welcome through the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.modeling.tmf">news group</a> and <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=TMF&amp;version=0.7.0&amp;component=Xtext&amp;rep_platform=All&amp;op_sys=All">bugzillas</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/d177d69995024629a692defbece4ffa1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=260&amp;md5=da640d7d9fcca76d42dbc2537b7dc7db" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Xtext and oAW at Code Generation 2009</title>
		<link>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/</link>
		<comments>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 18:19:46 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=240</guid>
		<description><![CDATA[The conference program of the Code Generation 2009 has just been released and there will be several sessions that directly or indirectly address Xtext and openArchitectureWare. Tutorial (75 minutes, Tuesday morning) Challenges in DSL Design Sven Efftinge, Sebastian Zarnekow Case study (75 minutes, Tuesday afternoon) Mastering differentiated MDSD requirements at Deutsche Boerse AG Heiko Behrens, Karsten [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.codegeneration.net/cg2009/programme.php">conference program of the Code Generation 2009</a> has just been released and there will be several sessions that directly or indirectly address <a href="http://www.xtext.org">Xtext</a> and <a href="http://www.openArchitectureWare.org">openArchitectureWare</a>.</p>
<ul>
<li><strong>Tutorial <small>(75 minutes, Tuesday morning)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=23">Challenges in DSL Design</a><br />
Sven Efftinge, Sebastian Zarnekow</li>
<li><strong>Case study <small>(75 minutes, Tuesday afternoon)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=64">Mastering differentiated MDSD requirements at Deutsche Boerse AG</a><br />
Heiko Behrens, Karsten Thoms</li>
<li><strong>Hands-On <small>(180 minutes, Thursday midday)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=30">Xtext Workshop</a><br />
<del datetime="2009-06-17T23:16:37+00:00">Heiko Behrens</del> Jan Köhnlein, Moritz Eysholdt, Sebastian Zarnekow</li>
</ul>
<p><a href="http://www.codegeneration.net/cg2009"><img class="aligncenter size-full wp-image-245" title="CodeGeneration2009" src="http://www.1160pm.net/wp-content/uploads/2009/03/cg2009logo250x62.gif" alt="" width="250" height="62" /></a></p>
<p>Apart from those, there&#8217;s a <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=20">think tank</a> that might strive oAW, too. Interested in Microsoft&#8217;s and JetBrains&#8217; accompanists I am looking forward to the <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=6">&#8220;Introduction to the Microsoft Oslo Modeling Platform&#8221;</a> as well as <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=9">&#8220;Language Definition, Extension and Composition with MPS&#8221;</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=240&amp;md5=06b13948e4bbd6ca58177c9bd2d3743d" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Speed Comparison of oAW and M2T Xpand</title>
		<link>http://HeikoBehrens.net/2009/02/10/speed-comparison-of-oaw-and-m2t-xpand/</link>
		<comments>http://HeikoBehrens.net/2009/02/10/speed-comparison-of-oaw-and-m2t-xpand/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 20:53:04 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=187</guid>
		<description><![CDATA[Migrating a real world openArchitectureWare Xtext/Xpand project to the corresponding Eclipse M5 modeling projects (TMF, M2T) I had the opportunity to see the results of our ongoing speed improvement effort. While the part of code generation of this project originally took nearly half an hour we were able to reduce its execution time below 3 [...]]]></description>
			<content:encoded><![CDATA[<p>Migrating a real world <a href="http://www.openArchitectureWare.org">openArchitectureWare</a> Xtext/Xpand project to the corresponding <a href="http://www.eclipse.org/modeling/">Eclipse M5 modeling projects</a> (TMF, M2T) I had the opportunity to see the results of our ongoing speed improvement effort. While the part of code generation of this project originally took nearly half an hour we were able to reduce its execution time below 3 minutes with the help of a <a href="http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/">brand-new M2T profiler</a>. After that I migrated the templates, checks and workflow(s) to the package structure of M2T and did some measurement.</p>
<p>This project generates about 1.500+ Java and C++ files as well as some X(HT)ML and plain text. It consists of 250+ Xtend functions and 200+ Xpand defines in more than 80 files. See below the runtime characteristics while generating the artefacts of the very same project using oAW 4.3.1, the Eclipse milestone M5 without and with the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=261629">recently introduced polymorphic dispatch caching</a> enabled:</p>
<div id="attachment_192" class="wp-caption aligncenter" style="width: 379px"><img class="size-full wp-image-192" title="Execution time" src="http://www.1160pm.net/wp-content/uploads/2009/02/comparison.png" alt="Execution time (code generation only)" width="369" height="176" /><p class="wp-caption-text">Execution time (code generation only)</p></div>
<p>Looking just at these numbers, I would confidently say that the upcoming Eclipse M2T Xpand runs significantly faster than the good ol&#8217; oAW Xpand!</p>
<p>Read <a href="http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/">more about the the M2T profiler in this post</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=187&amp;md5=dec719a84ca8704b85260c11ab68ff8f" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/02/10/speed-comparison-of-oaw-and-m2t-xpand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a java classpath from a windows batch file</title>
		<link>http://HeikoBehrens.net/2009/01/26/building-a-java-classpath-from-a-windows-batch-file/</link>
		<comments>http://HeikoBehrens.net/2009/01/26/building-a-java-classpath-from-a-windows-batch-file/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 18:03:17 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=152</guid>
		<description><![CDATA[A great feature introduced with the JDK 6 is the improved classpath syntax for including Jars of a specific directory. This allows you to do this javac -cp "lib\*" MyClass.java java -cp "lib\*" MyClass from the command line without using a build system like Maven or Ant. But each of you who has to build [...]]]></description>
			<content:encoded><![CDATA[<p>A great feature introduced with the JDK 6 is the <a href="http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html">improved classpath syntax</a> for including Jars of a specific directory. This allows you to do this</p>
<pre><code>javac -cp "lib\*" MyClass.java
java -cp "lib\*" MyClass</code></pre>
<p>from the command line without using a build system like <a href="http://maven.apache.org/">Maven</a> or <a href="http://ant.apache.org/">Ant</a>. But each of you who has to build and run Java classes with the JDK 5 or earlier and suffer from some project restrictions that reduces the set of tools to the ordinary command line will have to build the proper classpath by naming each Jar separately:</p>
<pre><code>javac -cp "lib\jar1.jar;lib\jar2.jar" MyClass.java
java -cp "lib\jar1.jar;lib\jar2.jar" MyClass</code></pre>
<p>On a Unix based system one could use <a href="http://unixhelp.ed.ac.uk/CGI/man-cgi?glob">glob</a> in a shell script. The doomed Windows users can <a href="http://codetojoy.blogspot.com/2007/09/yo-classpath-its-globbering-time.html">either use some shell replacements</a> or have to build the command line with the arguable help of batch files. This blog post serves as a reference for those who stumble across loops and delayed expansion of variables in Windows batch files. To make the story of a bumpy road short here is the working solution for Windows XP:</p>
<pre><code>REM needed to overcome weird loop behavior
REM in conjunction with variable expansion
SETLOCAL enabledelayedexpansion

REM construct classpath of seperate jars
cp=explicitlyKnownJar1.jar;explicitlyKnownJar2.jar;

FOR %%F IN (lib/*.jar) DO (
  SET cp=!cp!;lib/%%F%
)

javac -cp "%cp%" MyClass.java
java -cp "%cp%" MyClass</code></pre>
<p>Please note that you should select the needed Jars carefully since <a href="http://vlaurie.com/computers2/Articles/environment.htm">Windows XP cannot handle environment variables longer than 8KB</a>. Try to use relative files names to &#8220;solve&#8221; this issue. If relative paths are no option you could try to <a href="http://unserializableone.blogspot.com/2007/10/solution-to-classpath-too-long-aka.html">use virtual drive letters</a> instead.</p>
<p>Anyway, my advice is: Convince your &#8220;build manager&#8221; that you need a true build system in order to ensure the product quality and safe hours of work (around) time. In Eclipse a first draft of such an Ant script could be produced using &#8220;Export&#8230; Ant Buildfiles&#8221;.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/4d8a5ed67027478897b8a77920b0fea8" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=152&amp;md5=1e0c02cc9f8ddf5c320755635013fd15" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/01/26/building-a-java-classpath-from-a-windows-batch-file/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Multiple Inheritance and the Least (Unambiguous) Common Compatible Type</title>
		<link>http://HeikoBehrens.net/2008/12/08/multiple-inheritance-and-the-least-unambiguous-common-compatible-type/</link>
		<comments>http://HeikoBehrens.net/2008/12/08/multiple-inheritance-and-the-least-unambiguous-common-compatible-type/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 21:57:38 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=46</guid>
		<description><![CDATA[While working on Xtext and the inference of meta-models of a given grammar I encountered different problems that could be broken down to a well-known question: &#8220;What is the least common compatible type of those?&#8221;. While Liskov discusses how subtypes and supertypes could be derived in general I already had a hierarchy of defined types. [...]]]></description>
			<content:encoded><![CDATA[<p>While working on <a href="http://www.xtext.org">Xtext</a> and the inference of meta-models of a given grammar I encountered different problems that could be broken down to a well-known question: &#8220;What is the least common compatible type of those?&#8221;. While <a href="http://en.wikipedia.org/wiki/Liskov_substitution_principle">Liskov</a> discusses how subtypes and supertypes could be derived in general I already had a hierarchy of defined types. Books like <a href="http://www.amazon.de/gp/product/0262162091?ie=UTF8&amp;tag=1160pm-21&amp;linkCode=as2&amp;camp=1638&amp;creative=6742&amp;creativeASIN=0262162091">Types and Programming Languages</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.de/e/ir?t=1160pm-21&amp;l=as2&amp;o=3&amp;a=0262162091" border="0" alt="" width="1" height="1" /> seem to cover questions like this exhaustively and come to a quite simple view at this topic.</p>
<p>The following diagrams are geared to the <a href="http://www.uml.org/">UML</a> notation. Boxes are types in this context whereas an arrow indicates a supertype relationship.</p>
<div id="attachment_50" class="wp-caption aligncenter" style="width: 357px"><img class="size-full wp-image-50 " title="Figure 1" src="http://www.1160pm.net/wp-content/uploads/2008/11/tree.png" alt="" width="347" height="330" /><p class="wp-caption-text">Figure 1</p></div>
<p>In Figure 1, A is the direct supertype of B where C is a direct and E an indirect subtype of A. Each type is compatible with A. Type E and F are compatible with B, which is also the <strong>least common super type</strong> of E and F. Every type is compatible to itself and the <strong>least common compatible type</strong> of D and G is D again.</p>
<p>So far, this is pretty obvious. The difficulties arise when dealing with Ecore, or <a href="http://www.eclipse.org/modeling/emf/?project=emf">EMF</a> in the context of Eclipse. The meta-model of EMF says, that any EClass (read: Type) can have any number of supertypes. This leads into potential scenarios of multiple-inheritance where things are not so obvious anymore.<span id="more-46"></span></p>
<div id="attachment_48" class="wp-caption aligncenter" style="width: 252px"><img class="size-full wp-image-48 " title="Figure 2" src="http://www.1160pm.net/wp-content/uploads/2008/10/simpleclasshierarchy.png" alt="" width="242" height="248" /><p class="wp-caption-text">Figure 2</p></div>
<p>Figure 2 illustrates a simple scenario, where D and E have more than one supertype. Both, D and E are compatible with B and C. One can argue whether B or C should be called <strong>the</strong> common compatible type of D and E. It&#8217;s even harder to tell, whether B or C is <strong>the least</strong> common compatible type. Or are they both?</p>
<p>In the context of Xtext it was necessary to name a single type that works not only as an arbitrary compatible type in general (where both B and C would fit) but would <strong>unambiguously</strong> be the least common compatible type. In Figure 2 this would be A.</p>
<p>A more complex scenario can be seen in Figure 3. <a href="http://blog.efftinge.de/">Different</a> <a href="http://koehnlein.blogspot.com/">associates</a> came up with different proposals each time I asked for, say, the Least Unambiguous Common Compatible Type (LUCCT) of D and F.</p>
<div id="attachment_48" class="wp-caption aligncenter" style="width: 344px"><img class="size-full wp-image-48 " title="Figure 3" src="http://www.1160pm.net/wp-content/uploads/2008/10/complexclasshierarchy.png" alt="" width="334" height="308" /><p class="wp-caption-text">Figure 3</p></div>
<p>Some argued B is as &#8220;tight&#8221; as C. Others said, the absence of a unique root causes some sort of ambiguity. In the end we agreed that neither C nor B nor A would be &#8220;unambiguous enough&#8221; to fulfill the requirements of a so-called LUCCT. We also agreed that this question is more challenging than picking the most specific type that is compatible with F and D.</p>
<p>After thinking about this it turns out that a proper solution is not easy but it is no rocket science either.</p>
<ol>
<li>First, find the intersection of all compatible types of the inspected types.</li>
<li>Next, concentrate on this set only and find all types that are directly or indirectly connected to every other type in the set. These are the LUCCT candidates.</li>
<li>Last, select the most specific candidate of step 2 as the result. If there are no candidates there&#8217;s no LUCCT for the inspected types. Yes, there is always a most specific candidate otherwise it would not be a candidate.</li>
</ol>
<div>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2008/12/algorithm1.png"><img class="size-medium wp-image-120" title="algorithm" src="http://www.1160pm.net/wp-content/uploads/2008/12/algorithm1-300x205.png" alt="Figure 4" width="300" height="205" /></a><p class="wp-caption-text">Figure 4</p></div>
</div>
<p>In the given scenario of Figure 4 where one wants to determine the LUCCT of G and I the set of compatible types consists of A, B, C, D, E and F. These types on their own are all directly or indirectly subtypes or supertypes of A and D whereas pairwise compared B and C or E and F are not. Since D is more specific than A the LUCCT of G and I is D, <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tmf/org.eclipse.xtext/tests/org.eclipse.xtext.generator.tests/src/org/eclipse/xtext/EcoreUtil2Tests.java?root=Modeling_Project&amp;view=markup">voilà</a>!</p>
<p>The <a href="http://en.wikipedia.org/wiki/Graph_theory">gentle reader</a> may apologize the absence of terms like graph reduction or isthmus to explain this method.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/35cce2597ee64c1ba5b2ab7f6ed6858b" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=46&amp;md5=740add86d56880009f92b9bbfc36d978" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2008/12/08/multiple-inheritance-and-the-least-unambiguous-common-compatible-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use Eclipse as diff tool</title>
		<link>http://HeikoBehrens.net/2008/12/02/use-eclipse-as-diff-tool/</link>
		<comments>http://HeikoBehrens.net/2008/12/02/use-eclipse-as-diff-tool/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 18:39:05 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=100</guid>
		<description><![CDATA[Coming from the windows platform I am used to tools like WinMerge or AraxisMerge (commercial) that offer a more comfortable way to compare the content of files than diff --side-by-side. To my suprise I did not find a single useful external diff tool for Mac OS. More or less accidentally while working with Eclipse and [...]]]></description>
			<content:encoded><![CDATA[<p>Coming from the windows platform I am used to tools like <a href="http://winmerge.org/">WinMerge</a> or <a href="http://www.araxis.com/merge">AraxisMerge</a> (commercial) that offer a more comfortable way to compare the content of files than <code>diff --side-by-side</code>. To my suprise I did not find a single useful external <a href="http://en.wikipedia.org/wiki/Diff">diff tool</a> for Mac OS.</p>
<p>More or less accidentally while working with <a href="http://www.eclipse.org">Eclipse</a> and <a href="http://en.wikipedia.org/wiki/Concurrent_Versions_System">CVS</a> and its function &#8220;Compare with latest from HEAD&#8221; I stumbled on a grayed menu item that says &#8220;&#8230;with each other&#8221;.</p>
<p><a href="http://www.1160pm.net/wp-content/uploads/2008/12/eclipsediff.png"><img class="alignnone size-full wp-image-103" src="http://www.1160pm.net/wp-content/uploads/2008/12/eclipsediff.png" alt="" width="500" height="404" /></a></p>
<p>It turns out that <a href="http://www.eclipse.org/">Eclipse</a> supports comparing arbitrary files two-way and even three-way. You simply have to select the files to compare and invoke the context menu. Those files only need to be in your workspace. It is not necessary to have them under revision control. Great!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=100&amp;md5=f30bb90334e3073c2b231fb616785673" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2008/12/02/use-eclipse-as-diff-tool/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Model-Based UIs and Refactorings at the ESE 2008</title>
		<link>http://HeikoBehrens.net/2008/11/21/model-based-uis-and-refactorings-at-the-ese-2008/</link>
		<comments>http://HeikoBehrens.net/2008/11/21/model-based-uis-and-refactorings-at-the-ese-2008/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 10:41:18 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=78</guid>
		<description><![CDATA[Beside many other interesting presentations and talks there were two exciting projects I learned about at the Eclipse Summit Europe 2008. On Wednesday, Olivier Moïses, the lead of wazaabi, gave me a demonstration of his ideas about models and UIs. While the Eclipse E4 team at the E4 Symposium still had a strong argue whether [...]]]></description>
			<content:encoded><![CDATA[<p>Beside many other interesting presentations and talks there were two exciting projects I learned about at the <a href="http://www.eclipsecon.org/summiteurope2008">Eclipse Summit Europe 2008</a>.</p>
<div class="wp-caption alignnone" style="width: 310px"><a title="DSC_0269 von anniejay bei Flickr" href="http://www.flickr.com/photos/33725200@N00/3044778083/"><img src="http://farm4.static.flickr.com/3248/3044778083_bf633d2c87.jpg" alt="DSC_0269" width="300" height="200" /></a><p class="wp-caption-text">Olivier demonstrates Wazaabi 2.0 to me</p></div>
<p>On Wednesday, Olivier Moïses, the lead of <a href="http://www.wazaabi.org">wazaabi</a>, gave me a demonstration of his ideas about models and UIs. While the <a href="http://wiki.eclipse.org/E4">Eclipse E4</a> team at the <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=218">E4 Symposium</a> still had a strong argue whether modeling would be an advantage that justifies another layer on top of <a href="http://www.eclipse.org/rcp/">RCP</a> Olivier already did it! Have a look at the <a href="http://wiki2.wazaabi.org">preview of Wazaabi 2.0</a> and you will see how such a live model based on <a href="http://www.eclipse.org/emf/">EMF</a> could work.</p>
<div id="attachment_79" class="wp-caption alignnone" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2008/11/jeffatese.jpg"><img class="size-medium wp-image-79" src="http://www.1160pm.net/wp-content/uploads/2008/11/jeffatese-300x201.jpg" alt="" width="300" height="201" /></a><p class="wp-caption-text">Jeff gives a great presentation on Ludwig and refactorings with the LTK</p></div>
<p><a href="http://jeff.over.bz">Jeffrey Overbey</a> overwhelmed me on different levels. First, his elegant presentation style and confident appearance towards the audience made the rather theoretic topic &#8220;refactoring&#8221; an entertaining joy (<a href="http://www.peterfriese.de/ese-building-refactoring-tools-with-ltk-and-ludwig/">Read Peter&#8217;s Post about this</a>). Second, Jeff concentrates on topics where <a href="http://www.xtext.org">Xtext</a> will advance in the near future, too. On top of his own framework parser/AST generator <a href="http://ludwig.jeff.over.bz/">Ludwig</a> and the <a href="http://www.eclipse.org/articles/Article-LTK/ltk.html">Eclipse LTK</a> he will concentrate on refactorings of arbitrary languages. Third, he seems to be as friendly as all the other modeler guys are <img src='http://HeikoBehrens.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Hopefully, his work and Xtext will cross-fertilize.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=78&amp;md5=e8ed9cde311db915f80b853baf5f989b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2008/11/21/model-based-uis-and-refactorings-at-the-ese-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modeling Symposium at Eclipse Summit Europe 2008</title>
		<link>http://HeikoBehrens.net/2008/11/18/modeling-symposium-at-eclipse-summit-europe-2008/</link>
		<comments>http://HeikoBehrens.net/2008/11/18/modeling-symposium-at-eclipse-summit-europe-2008/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 17:55:36 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=62</guid>
		<description><![CDATA[Today, the Eclipse Summit Europe 2008 starts with different symposia reaching from embedded runtimes over banking industry to test-driven development to name a few. At the Modeling Symposium Peter and me presented a position paper that outlines three possible ways of storing models while preserving their textual representation. Ed gives a summary with some photos, [...]]]></description>
			<content:encoded><![CDATA[<p>Today, the <a href="http://www.eclipsecon.org/summiteurope2008">Eclipse Summit Europe 2008</a> starts with different symposia reaching from <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=84">embedded runtimes</a> over <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=191">banking industry</a> to <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=213">test-driven development</a> to name a few. At the <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=43">Modeling Symposium</a> <a href="http://www.peterfriese.de">Peter</a> and me presented a position paper that outlines three possible ways of storing models while preserving their textual representation. <a href="http://ed-merks.blogspot.com/2008/11/eclipse-summit-europe-2008-symposiums.html">Ed gives a summary with some photos</a>, too.</p>
<p style="text-align: center;"><a href="http://www.eclipsecon.org/summiteurope2008"><img class="size-full wp-image-63 aligncenter" title="ese2008" src="http://www.1160pm.net/wp-content/uploads/2008/11/ese2008.png" alt="" width="257" height="103" /></a></p>
<p>During the day there were some great contributions including &#8220;COPE: Coupled Evolution of Metamodels and Models for EMF&#8221; from Markus Herrmannsdoerfer and a felicitous closing by Jos Warner. He discussed &#8220;Big Models &#8211; An Alternative Approach&#8221;. As it turned out in the Open Space Sessions afterwards, working with big models seems to be one of the current challenges in the modeling world.</p>
<p>Unfortunately, the presented papers cannot be downloaded from a central location but are beeing shared via email between the attendees. To make at least our contribution available to the public you can <a href="http://www.1160pm.net/wp-content/uploads/2008/11/paper_primarystorageformatmodels_ese2008.pdf">download the paper</a> as well as the <a href="http://www.1160pm.net/wp-content/uploads/2008/11/slides__primarystorageformatmodels_ese2008.pdf">presentation slides</a> right here.</p>
<p>Still, two more days full of interesting sessions to come.</p>
<h2>Downloads</h2>
<ul>
<li><a href="http://www.1160pm.net/wp-content/uploads/2008/11/paper_primarystorageformatmodels_ese2008.pdf">Position Paper: Primary Storage Formats for Textual DSLs</a></li>
<li><a href="http://www.1160pm.net/wp-content/uploads/2008/11/slides__primarystorageformatmodels_ese2008.pdf">Presentation Slides: Primary Storage Formats for Textual DSLs</a></li>
</ul>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=62&amp;md5=b1928fdb55d3bf4212f21af34ba3cfce" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2008/11/18/modeling-symposium-at-eclipse-summit-europe-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
