<?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>Peter Friese &#187; Conferences</title>
	<atom:link href="http://www.peterfriese.de/category/computer/conferences/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.peterfriese.de</link>
	<description>Xtext, DSLs, Eclipse, iPhone</description>
	<lastBuildDate>Tue, 27 Jul 2010 21:36:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Don&#8217;t attend the Eclipse DemoCamp in Hamburg this Friday&#8230;</title>
		<link>http://www.peterfriese.de/dont-attend-the-eclipse-democamp-in-hamburg-this-friday/</link>
		<comments>http://www.peterfriese.de/dont-attend-the-eclipse-democamp-in-hamburg-this-friday/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 22:36:08 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[democamp]]></category>
		<category><![CDATA[hamburg]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=522</guid>
		<description><![CDATA[... if you're not interested in meeting local (and non-local) Eclipse enthusiasts and committers, learning something about Eclipse, Git, SWT, Qt, e4 and the iPhone, watching some nice Pixar short films in a cosy cinema, and frosty beverages.

On the other hand, if you are interested in at least one of those things, I encourage you[...]]]></description>
			<content:encoded><![CDATA[<p>... if you're not interested in meeting local (and non-local) Eclipse enthusiasts and committers, learning something about Eclipse, Git, SWT, Qt, e4 and the iPhone, watching some nice Pixar short films in a cosy cinema, and frosty beverages.<br />
<span id="more-522"></span><br />
On the other hand, if you <strong>are</strong> interested in at least one of those things, I encourage you to sign up for the DemoCamp <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Helios_2010/Hamburg">here</a> or <a href="http://www.twitter.com/peterfriese">ping me on Twitter</a> or just send me a mail so I can add you to the list.</p>
<p>Here's the detailed program:</p>
<ul>
<li>18:00 - 18:40 Welcome / Short films</li>
<li>18:45 - 19:15 <a href="http://twitter.com/vogella">Lars Vogel</a>, Developing with e4</li>
<li>19:20 - 19:50 <a href="http://twitter.com/szarnekow">Sebastian Zarnekow</a>, Xtext - A Language Development Framework, Live demo of new and noteworthy features in Xtext</li>
<li>19:50 - 20:20 Break + Surprise</li>
<li>20:20 - 20:35 <a href="http://www.xing.com/profile/Juergen_Becker">Jürgen Becker</a>, UI with style - a new SWT platform that is based on Qt</li>
<li>20:40 - 21:10 <a href="http://twitter.com/ralfebert">Ralf Ebert</a>, Introduction to distributed version control with Git</li>
<li>21:15 - 21:45 <a href="http://twitter.com/HBehrens">Heiko Behrens</a>, Build your own iPhone app within minutes - thanks to Eclipse</li>
<li>21:45 - open end Closing remarks / Frosty beverages</li>
</ul>
<p>The DemoCamp will take place in the <a href="http://www.magazinfilmkunst.de">MAGAZIN Cinema</a> in Hamburg (<a href="http://www.magazinfilmkunst.de/anfahrt.html">directions</a>) and yes, we will show some short films at the beginning of the camp for your entertainment.</p>
<p><a href="http://twitter.com/martinlippert">Martin Lippert</a> and I are happy to be able to present a great lineup of speakers and demos, so do yourself a favor and join us this Friday from 18:00 (6pm).</p>
<p>As always, the event if <strong>free of charge</strong> thanks to the generous support of <a href="http://www.it-agile.de/">it-agile</a>, <a href="http://www.itemis.com">itemis</a> and the <a href="http://www.eclipse.org">Eclipse Foundation</a>.</p>
<p>Looking forward to seeing you on Friday!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/dont-attend-the-eclipse-democamp-in-hamburg-this-friday/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>iPhones on Mars</title>
		<link>http://www.peterfriese.de/iphones-on-mars/</link>
		<comments>http://www.peterfriese.de/iphones-on-mars/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 10:42:06 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[USA]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=413</guid>
		<description><![CDATA[EclipseCon 2010 is over and as always has been a great chance to meet up with fellow committers and users of the software we build. Xtext has received a tremendous amount of attention: not only did we deliver several talks and tutorials on Xtext, but also did Xtext get mentioned in a number of talks[...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eclipsecon.org/2010/">EclipseCon 2010</a> is over and as always has been a great chance to meet up with fellow committers and users of the software we build. <a href="http://www.xtext.org">Xtext</a> has received a tremendous amount of attention: not only did we deliver several talks and tutorials on Xtext, but also did Xtext get mentioned in a number of talks we were not involved in. Xtext even received the <a href="http://www.eclipse.org/org/press-release/20100322_awardswinners.php">Eclipse Community Award</a> in the category "Most Innovative New Feature of Eclipse Project".<br />
<span id="more-413"></span><br />
I presented on Xpand, the template engine we use in Xtext. Of course - as I've demonstrated in my 12 minutes lightning talk - it can be used to generate anything that can be expressed with text, so you can use it in your project, too! I uploaded my slides to Slideshare, <a href="http://www.slideshare.net/peterfriese/xpand-eclipsecon-2010">feel free to browse them</a>.</p>
<p>Right after my talk, <a href="http://www.heikobehrens.net">Heiko</a> showed how Xtext and Xpand can be used to generate native iPhone applications - something that he and I are currently working on as a part of our day-to-day job at <a href="http://www.itemis.com">itemis</a>. Heiko's slides <a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">also are available on Slideshare</a>. </p>
<p>Something which - originally - wasn't related to code generation or iPhones at all was the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">e4 Mars Rover Challenge</a>. In this challenge, the goal was to control a Mars rover (built with <a href="http://mindstorms.lego.com">LEGO Mindstorms</a>) in a Mars-like environment by using an Eclipse e4 based client and a set of server components hosted on <a href="http://aws.amazon.com/ec2/">Amazon EC2</a>. In order to win, you either needed to score the highest score or improve the Eclipse e4 client. It was left to the developer's fantasy how to improve the client. In order to score the most points, you needed to drive the rover to certain places in the Mars arena and present one of two "tools" highlighted on the rover - see the <a href="http://www.eclipse.org/community/e4RoverMars/howtoplay.php">rules of the challenge</a>.</p>
<p>On the first day, I played some rounds with the basic e4 client (you needed to install it on your local machine) and scored quite OK. In the evening, after I dropped off my laptop in my room, it occurred to me that without my computer, I wouldn't be able to take the challenge that evening. "Wouldn't it be awesome to use my iPhone to control the Mars Rover", I thought? Compared to a laptop, an iPhone is a very small device so you can take it with you where ever you go. Also, as the Mars Rover Challenge was setup to be a completely distributed system, with the command server being hosted "in the cloud", delivering an image of the Mars arena to the clients, I should be able to connect to the rover from anywhere on the world (as long as I have access to the internet).</p>
<p>When I mentioned my thinking to <a href="http://www.twitter.com/HBehrens">Heiko</a>, he was equally thrilled as I was and we immediately set out to take the new challenge of writing an iPhone client for the Mars Rover.</p>
<p>We discussed quite a few interaction patterns we wanted to try out:</p>
<ol>
<li>Using buttons (much like the cursor pad on a keyboard) to "joystick" the rover</li>
<li>Using a touch interface to control the rover: use pinching to rotate the rover and pointing to make it move in a certain direction</li>
<li>Using the accelerometer to be able to control the Rover by tilting the iPhone</li>
</ol>
<p>Heiko took on the job of evaluating the human interaction interface, whereas I was busy implementing the interface between the iPhone app and the command server backend. The command server of the Mars Rover is implemented as a RESTful webservice, so I could use plain HTTP calls to send commands to the server and to retrieve telemetry and imagery data. At first, I used blocking calls and later replaced them with asynchronous calls - sometingh which I'll liekly blog about the next days, so stay tuned. In order to test my code, I implemented a very simple button-based UI. With this UI, I was able to score 2702 points - not too bad!</p>
<div style="text-align:center;"><a class="lightbox" href="http://farm3.static.flickr.com/2700/4478823448_963fe43271.jpg" title="iPhone Mars Rover Basic"><img border="0" alt="iPhone Mars Rover Basic" src="http://farm3.static.flickr.com/2700/4478823448_963fe43271_m.jpg" /></a></div>
<p>After just two nights of development time (we wanted to attend the sessions and also had to man the itemis booth), we finally had a slick iPhone app that was able to control the Mars Rover by using the accelerometer. In the nght just before we had to hand in our submission, we shot a video of us driving the Rover. You can watch this video on the <a href="http:/www.iphonemarsrover.com">iPhone Mars Rover website</a>.</p>
<p>Here is a little diagram outlining the controls of the application:</p>
<div style="text-align:center;"><a class="lightbox" href="http://farm5.static.flickr.com/4060/4473119658_105d444c56.jpg" title="iPhone Mars Rover"><img border="0" alt="iPhone Mars Rover" src="http://farm5.static.flickr.com/4060/4473119658_105d444c56_m.jpg"/></a></div>
<p>We knew right from the start that we wouldn't be able to match the competition criteria (the contest rules clearly state that the client has to be Eclipse e4-based in order to qualify). However, we still were eager to work on this project, as it fit very well with our current obsession with all things iPhones.</p>
<p>While it certainly is a fun idea to use an iPhone app to control a LEGO Mindstorms robot, we would not recommend using this approach for controlling real robots - especially if they're some 55 million km away on Mars! Signal latency from Mars to Earth is said to be around 15 to 20 minutes, which suggests to use a move-oriented approach to drive the rover.</p>
<p>Nevertheless it has been an exciting and fun project for Heiko and me. By the way, we're not only developing iPhone apps for fun, but also for profit: we're spearheading the <a href="http://www.itemis.com/itemis-ag/portfolio/language=en/29470/business-applications-for-mobile-devices">brand-new mobile development division of itemis</a>, so I'm pretty sure we will blog about mobile technology soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/iphones-on-mars/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Eclipse DemoCamp Hamburg 11/2009</title>
		<link>http://www.peterfriese.de/eclipse-democamp-hamburg-112009/</link>
		<comments>http://www.peterfriese.de/eclipse-democamp-hamburg-112009/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 23:15:29 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[democamp]]></category>
		<category><![CDATA[hamburg]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=361</guid>
		<description><![CDATA[The Eclipse DemoCamp in Hamburg was a huge success - more than 110 people signed up and most of them actually showed up at the event:

The program was packed with interesting talks and we were lucky to be able to present some very well known speakers:


Tom Schindl: E4 - A short overview
Jan Köhnlein: Combining graphics[...]]]></description>
			<content:encoded><![CDATA[<p>The Eclipse <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Hamburg">DemoCamp in Hamburg</a> was a huge success - more than 110 people signed up and most of them actually showed up at the event:</p>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163775996/in/set-72157622946379026" title="'About 110 Attendees at the DemoCamp' on Flickr.com"><img border="0" width="500" alt="About 110 Attendees at the DemoCamp" src="http://farm3.static.flickr.com/2595/4163775996_5cff50538a.jpg" height="332"/></a></div>
<p>The program was packed with interesting talks and we were lucky to be able to present some very well known speakers:<br />
<span id="more-361"></span></p>
<ol>
<li>Tom Schindl: E4 - A short overview</li>
<li>Jan Köhnlein: Combining graphics and text in model editors</li>
<li>Jochen Krause: RAP</li>
<li>Nils Hartmann, Gerd Wütherich: Fifty ways to build your bundle...</li>
<li>ekke (Ekkehard Gentz):redView - dynamic views for business applications</li>
</ol>
<p>If you were not lucky enough to attend the DemoCamp, here is a short summary of the sessions:</p>
<h3>e4 - modeling meets runtime (Jochen Krause on behalf of Tom Schindl)</h3>
<p>Tom Schindl couldn't attend the DemoCamp due to heavy snow in Innsbruck (the airport was short of planes to fly out, actually). After a short vcon with Tom, Jochen Krause held the e4 demo on Tom's behalf.</p>
<table align="center" border="0">
<tr>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163772608/in/set-72157622946379026/" title="'A short video conf with Tom Schindl' on Flickr.com"><img border="0" width="240" alt="A short video conf with Tom Schindl" src="http://farm3.static.flickr.com/2593/4163772608_5148246c1e_m.jpg" height="159"/></a></div>
</td>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163011953/sizes/m/in/set-72157622946379026/" title="'Jochen Krause (for Tom Schindl) - e4' on Flickr.com"><img border="0" width="240" alt="Jochen Krause (for Tom Schindl) - e4" src="http://farm3.static.flickr.com/2685/4163011953_9bbbd9ce5d_m.jpg" height="159"/></a></div>
</td>
</tr>
</table>
<p>e4 has three principal aims: </p>
<ol>
<li>simplifying the Eclipse programming model</li>
<li>enabling the platform for use on emerging web-based runtime technologies</li>
<li>and broadening participation in development of the platform</li>
</ol>
<p>One of the measures to make programming Eclipse easier is to define a list of core services and make sure they have a really decent API. This list of services is called "The 20 Things" (see the Eclipse wiki for <a href="http://wiki.eclipse.org/E4/Eclipse_Application_Services">more information</a>).</p>
<p>You might have heard that EMF is playing an important role in e4 and I think it is one of the most amazing things about e4 that the entire workbench is modeled, of course using EMF. Actually, you can change the workbench at runtime by just modifying the underlying model at runtime. I think it is very exciting to see modeling and runtime technologies converge in this project.</p>
<p>e4 also makes massive use of dependency injection, which allows for a flat object model (Instead of providing a subclass for every special feature, you can just inject other classes providing that particular feature). We had a discussion about dependency injection. Jochen showed that several methods in e4 use String-based dependency injection, which of course leads to several problems. Sven pointed out that this is not a DI problem per se and suggested to use interfaces to alleviate the situation. </p>
<p><a href="http://twitter.com/HBehrens">Heiko</a> raised the question of whether we should have a dedicated session on dependency injection at one of the next democamps:</p>
<div style="text-align:center;"><a href="http://twitter.com/HBehrens/status/6344196851" title="View '@HBehrens asks "Do we need a DI session at the next DemoCamp?"' on Twitter"><img border="0" width="515" alt="@HBehrens asks "Do we need a DI session at the next DemoCamp?"" src="http://farm3.static.flickr.com/2559/4165228359_168886eee6_o.jpg" height="81"/></a></div>
<p>Jochen continued his session, explaining how the e4 UI is being rendered by a presentation engine which can be configured using various renderers, each one providing an individual look and feel.</p>
<p>e4 is the future of Eclipse, and Jochen concluded his talk by pointing out that in order to ensure e4 has a sustainable future, companies and individuals should participate in the development of e4. This can be done by:</p>
<ul>
<li>Playing around with e4 and providing feedback</li>
<li>Participating in the development process (see the <a href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.e4">e4 project homepage</a> for more info)</li>
<li>Paying existing committers (see <a href="http://tomsondev.bestsolution.at/2009/12/04/e4-some-random-thoughts-2nd-iteration/">Tom's blog posting</a> to learn how to buy one and get one free)</li>
</ul>
<p>More info on e4 can be found <a href="http://wiki.eclipse.org/E4">on the Eclipse wiki</a>.</p>
<p>After the talk, we had a short break to set up the next presenter, enjoy some refreshments and, of course, socialize:</p>
<table align="center" border="0">
<tr>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163774122/in/set-72157622946379026/" title="View 'A short coffee break' on Flickr.com"><img border="0" width="240" alt="A short coffee break" src="http://farm3.static.flickr.com/2677/4163774122_deb8824525_m.jpg" height="159"/></a></div>
</td>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163774270/in/set-72157622946379026/" title="View 'A short coffee break' on Flickr.com"><img border="0" width="240" alt="A short coffee break" src="http://farm3.static.flickr.com/2629/4163774270_994158865a_m.jpg" height="159"/></a></div>
</td>
</tr>
</table>
<h3>Combining graphics and text in model editors (Jan Köhnlein)</h3>
<p>After the break, Jan Köhnlein took stage and told the audience that graphics and text and no different, but really are just two views on the same thing:</p>
<table align="center" border="0">
<tr>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163773536/in/set-72157622946379026/" title="'Jan Köhnlein - Combining graphics and text in model editors' on Flickr.com"><img border="0" width="240" alt="Jan Köhnlein - Combining graphics and text in model editors" src="http://farm3.static.flickr.com/2658/4163773416_d0ed0d2dc2_m.jpg" height="159"/></a></div>
</td>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163773536/in/set-72157622946379026/" title="'Jan Köhnlein - Combining graphics and text in model editors' on Flickr.com"><img border="0" width="240" alt="Jan Köhnlein - Combining graphics and text in model editors" src="http://farm3.static.flickr.com/2577/4163773536_22c3bcdab4_m.jpg" height="159"/></a></div>
</td>
</tr>
</table>
<p>Jan pointed out that both text and graphics have their relative virtues:</p>
<p><strong>Text...</strong></p>
<ul>
<li>provides a detailed view on things</li>
<li>can have a very formal syntax</li>
<li>can be typed using  standard text editors</li>
<li>can be managed using standard versioning mechanisms (merge / diff) </li>
<li>can be typed fast</li>
</ul>
<p><strong>Graphical representations on the other hand...</strong></p>
<ul>
<li>provides high-level views and a good overview</li>
<li>suggests non-formalism</li>
<li>requires custom editors for your graphical notation (i.e., you <em>need</em> to write them)</li>
<li>has no good support for merging / diffing</li>
<li>requires the user to use a mouse a lot, and thus is slower than a text editor</li>
</ul>
<p>Apparently, both have advantages, so why not use both?</p>
<p>In the following 5 minutes, Jan gave an ultra-quick introduction in how Xtext (as a representative of a textual modeling toolkit) and GMF (as a representative for a graphical modeling toolkit) work. The bottom line is both use Ecore metamodels, so we <em>should</em> be able to combine both.</p>
<p>It turns out, however, that Xtext and GMF metamodels are slightly different and you need to take some precautious steps in order to make them interoperable.</p>
<p>After this excursion into the theory behind the convergence of graphical and textual editors, Jan showed two editors, one graphical and one textual that synced live. Changing the model in one editor and saving it effected an immediate update in the other editor - really neat.</p>
<p>Jan pointed out that this is all very fine, but sometimes you really want to have a tight integration. As a proof of concept, he showed a GMF-based editor with an embedded Xtext editor: as soon as he pressed <em>F2</em> to edit a field in the graphical editor, an inline Xtext editor would pop up, featuring syntax highlighting, code completion and error markers - really awesome!</p>
<p>More information on <a href="http://www.xtext.org">Xtext</a> and <a href="http://www.eclipse.org/modeling/gmf/">GMF</a> can be found on their respective homepages. Jan works for <a href="http://www.itemis.com">itemis</a> and provides consulting and training for these technologies.</p>
<p>All these exciting things must have made people gasp for air, because the oxygen level in the room was very low at the end of the session, so we had another break. As always with gathering like this, hallway talks very equally important as the sessions, and people made good use of the break:</p>
<table align="center" border="0">
<tr>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163774372/in/set-72157622946379026/" title="'Another short coffee break' on Flickr.com"><img border="0" width="240" alt="Another short coffee break" src="http://farm5.static.flickr.com/4003/4163774372_191055b0d5.jpg" height="159"/></a></div>
</td>
<td>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163013089/in/set-72157622946379026/" title="View 'A short coffee break' on Flickr.com"><img border="0" width="240" alt="A short coffee break" src="http://farm3.static.flickr.com/2720/4163013089_038142a6ca_m.jpg" height="159"/></a></div>
</td>
</tr>
</table>
<h3>RAP (Jochen Krause)</h3>
<p>Jochen's presented his talk on RAP without a single slide - "in the tradition of the Karlsruhe DemoCamps", as he pointed out.</p>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163774844/in/set-72157622946379026/" title="'Jochen Krause - RAP' on Flickr.com"><img border="0" width="500" alt="Jochen Krause - RAP" src="http://farm3.static.flickr.com/2714/4163774844_0fa2daf90d.jpg" height="332"/></a></div>
<p>No technical session without some history and some theory, so Jochen first explained that RAP implements the <a href="http://javadesktop.org/articles/canoo/">Half Object Pattern</a> and demoed the very first version of RAP. While running an Eclipse UI in the browser is all very exciting, feedback from initial users wasn't too positive: "please spare us this look'n'feel in the browser!"</p>
<p>So the good people at innoopract (now EclipseSource) spent some time to implement custom styling for RAP UIs, which Jochen showed in his second demo, which he called "The Enterprise Look'n'Feel" due to it's feasibility for enterprise applications.</p>
<p>The third demo featured "rounded corners" (see <a href="http://www.eclipse.org/rap/noteworthy/news_13M1.php">RAP New & Noteworthy</a>). While this might seem like little gained, Jochen explained that implementing rounded corners was both important on an acceptance level and challenging on the implementation level. Would you have thought that rounded corners are implemented using CSS on FireFox and VML on Internet Explorer?</p>
<p>Of course, RAP is implemented as an Open Source project at Eclipse, welcoming any contribution from users worldwide. Jochen demonstrated how great the Open Source model works by showing off a ribbon-style command bar for RAP which is available on Google Code (see the <a href="http://code.google.com/p/rapit/">rapit project home page</a>)</p>
<p>In the next demo, Jochen showed how he integrated EMF and RAP. His goal was to RAPify the EMF tree editor for EMF models. It turned out that basically it is very simple to convert the EMF editor (or any other Eclipse plug-in for that matter) into a RAP application - only very little adjustments were needed. However, as web applications are multi-user applications by definition, additional care has to be taken when converting editors. As Eclipse is a single-user application, editors are not prepared to be executed in a multi-user environment. Jochen explained how he tried to use CDO to store the edited models on a remote server, but failed due to the complexities of CDO. He succeeded by using <a href="http://couchdb.apache.org/">CouchDB</a>, a database written in Erlang and with an HTTP interface (look ma - no JDBC driver needed!).</p>
<p>Jochen concluded his session with a few notes on features they've just completed (Drag'n'Drop) or which are not available (yet) like GC.paint.</p>
<p>After that, he took some of the audience's questions, e.g. "How many users can a RAP server take?". Of course, it depends, but you can roughly count 1MB per user and workbench.</p>
<p>Jochen thought it would be OK to continue without a break, but Martin decided we should rather have a short break to let in some air.</p>
<p>More information on RAP can be found on the <a href="http://wiki.eclipse.org/RAP">Eclipse wiki</a> and on the <a href="http://eclipse.org/rap/">project homepage</a>. Jochen's company <a href="http://eclipsesource.com/">EclipseSource</a> provides professional services, training and resources around RAP, so have a look at their website.</p>
<h3>50 ways to build your bundle (Gerd Wütherich & Nils Hartmann)</h3>
<p>After the "short" break, Gerd Wütherich and Nils Hartmann presented their view on build management: "Fifty Ways to Buid Your Bundle":</p>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163014129/in/set-72157622946379026/" title="'Gerd Wütherich and Nils Hartmann"><img border="0" width="500" alt="Gerd Wütherich and Nils Hartmann" src="http://farm3.static.flickr.com/2699/4163014129_8b53cf8923.jpg" height="332"/></a></div>
<p>Facing the fact that nobody seems to be too excited about build management these days, they decided to arrest people's attention by adapting the well-known story "<a href="http://en.wikipedia.org/wiki/A_Christmas_Carol">A Christmas Carol</a>" by <a href="http://en.wikipedia.org/wiki/Charles_Dickens">Charles Dickens</a>. A brilliant idea, which really made people laugh at various points throughout the presentation.</p>
<p>The presentation was subdivided in three parts:</p>
<p><strong>The Ghost of Build Past</strong><br />
Gerd and Nils explained how in the past, people have been building bundes using PDE build, using a <em>Manifest-First</em>-approach. Building bundles with PDE build is rather cumbersome: you have to setup map files in order to help PDE build to derive ANT build files which will then be executed by the AntRunner inside Eclipse. While this ensures the build process sees exactly what Eclipse sees when you develop your bundles in the workspace, this basically makes debugging your build process very complicated.</p>
<p><strong>The Ghost of Build Today</strong><br />
Today, we've got bundles everywhere and OSGi is being used not only for Eclipse plug-ins, but also for conventional applications. As good programers obeying the <a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself">DRY</a> <a href="http://c2.com/cgi/wiki?DontRepeatYourself">principle</a>, we want to have a redundancy-free description of our build artifacts, i.e. derive build dependencies by looking at <em>MANIFEST.MF</em>. In the enterprise, things can get really nasty, as we often need to integrate various very different build systems: you might have to build an EJB client JAR (maybe using Maven) which then need to be integrated in an Eclipse RCP client application, which again needs to be built using PDE build.</p>
<p>Nils and Gerd showed a slide which listed all major build tools for bundles, among them:</p>
<ul>
<li>Springsource Tool Suite</li>
<li>PDE</li>
<li>Athena</li>
<li>PluginBuilder</li>
<li>Buckminster</li>
<li>Tycho</li>
<li>Maven</li>
<li>b3</li>
<li>Ant4Eclipse</li>
<li>PDE build</li>
<li>bnd</li>
<li>Ivy</li>
<li>Buildr</li>
<li>IDEA</li>
<li>Sigil</li>
<li>buildr4osgi</li>
<li>OsgiPlugin</li>
<li>ANT</li>
<li>Bundlr</li>
</ul>
<p>After which they showed three exemplary setups how to actually build bundles:</p>
<ol>
<li>ANT4Eclipse</li>
<li>Maven Tycho</li>
<li>Buckminster</li>
</ol>
<p>Please refer to their slide deck, slides 14 - 16 for detailed diagrams on these three setups:<br />
<center><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fiftywaystobuildyourbundle-091205030107-phpapp02&rel=0&stripped_title=fifty-ways-to-build-your-bundle" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=fiftywaystobuildyourbundle-091205030107-phpapp02&rel=0&stripped_title=fifty-ways-to-build-your-bundle" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></center><br />
<!--<br />
4 exemplary samples:<br />
1) ant4eclipse<br />
- write plain ant file<br />
- there is a task that can access eclipse artifacts such as manifest and plugin.xml<br />
- macros, e.g. buildbundle (does it all)<br />
- planned: support for p2 to provision target platform<br />
2) maven tycho<br />
- works on Eclipse artifacts<br />
- does not use traditional maven project layout<br />
- instead, uses Eclipse layout, looks at plugin.xml and manifest.mf to find your stuff<br />
3) buckminster<br />
- kind of "meta-maven"<br />
- can use various repositories at the same time<br />
- uses cqueries (component queries) to search for components and materialize them on local build workspace<br />
- materialized components will then be converted into required form<br />
- has gui<br />
- also support headless build<br />
--></p>
<p><strong>Ghost of Build Future</strong><br />
As things get more complicated, build management will also most likely become more complicated. Gerd and Nils pointed out that build management might be an unthankful job, but it must not be assigned to "people that aren't good at programming". Instead, they advocated making build management a first class citizen in computer sciences education.</p>
<p>More information on the tools and techniques presented are available at their respective home pages. In addition, you can contact <a href="http://www.nilshartmann.net/">Nils</a> and <a href="http://drupal.wuetherich.com/">Gerd</a> and bug them with your questions. They're consultants, so they can be hired.</p>
<h3>redView - dynamic views for business applications</h3>
<p>The final session was held by Ekkehard Gentz, better known as <em>ekke</em>. He showed a smart combination of Eclipse technologies: Riena, EMF, openArchitectureWare (Xpand, Xtend, MWE) and Xtext. Of course, being an Open Source advocate, Ekke and his team mate Florian provide this stack as an <a href="http://code.google.com/p/redview/">Open Source project on Google Code</a>.</p>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163014969/in/set-72157622946379026/" title="ekke (Ekkehard Gentz) - redView - dynamic views for business applications"><img border="0" width="500" alt="ekke (Ekkehard Gentz) - redView - dynamic views for business applications" src="http://farm3.static.flickr.com/2681/4163014969_3199649714.jpg" height="332"/></a></div>
<p>redView is <em>a declarative framework based on the Eclipse Modeling Framework (EMF), for creating RCP Views enriched with Riena Ridgets</em>. It uses EMF to describe the application with a model. An Xpand-based code generator will then transform the model into code for the application. Ekke states that their goal is not to limit developers' creativity, but instead relieve them from the burden of having to write all the boilerplate code.</p>
<p>redView supports the most important UI elements, including some Nebula widgets. One thing I fond very impressive was their UI editor. Ekke gave a demo in which he hosted the UI model on a CDO (which seems to be Eclipse's wunderkind) server on a virtual machine. He started a second virtual machine, running an instance of the application. Upon changing the UI model in the UI designer on one machine, the UI was updated immediately on the second machine. Ekke pointed out that this usage pattern is especially useful in prototyping scenarios: the developer changes the model on his PC in his office and the customer can immediately see the changes on his machine, hundreds of kilometers away.</p>
<p>More information on redView can be obtained from their <a href="http://redview.org">project homepage</a>. Ekkehard is a freelance consultant, so <a href="http://www.ekkehard.org/">you can hire him</a> if you've got any questions regarding the technologies presented.</p>
<h3>Gimmicks</h3>
<p>After the demos, we raffled off 20 Eclipse Keybinding Mugs (see <a href="http://relengofthenerds.blogspot.com/2009/11/good-eclipse-swag.html">Kim Moir's blog post</a> for a 360° shot of the mug) - congratulations to all winners! it-agile also provided a fine selection of agile swag: retrospective mugs, team calendars, post-its and what have you:</p>
<div style="text-align:center;"><a href="http://www.flickr.com/photos/nossipova/4163771282/in/set-72157622946379026/" title="Agile swag"><img border="0" width="500" alt="Agile swag" src="http://farm3.static.flickr.com/2709/4163771282_53db8e31f1.jpg" height="332"/></a></div>
<p>Despite the fact Ralph Müller couldn't attend the event, we eventually headed to the EAST bar for some frosty beverages.</p>
<p>All in all, it has been a very enjoyable event and from what I gathered, most attendees seem to have enjoyed the DemoCamp as well.</p>
<p>Thanks everyone for attending! Also, thank you to all speakers. Last but not least a big thank you to <a href="http://twitter.com/nossipova">Natalia</a> for taking pictures of the event!</p>
<p>Hope to see you again at the next DemoCamp in Summer 2010!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/eclipse-democamp-hamburg-112009/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Xtext @ Google</title>
		<link>http://www.peterfriese.de/xtext-google/</link>
		<comments>http://www.peterfriese.de/xtext-google/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 12:46:02 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[DSLs]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=307</guid>
		<description><![CDATA[Last week I had the chance to speak at the EclipseDay at the GooglePlex in Mountain View, CA, an event organized by the Eclipse Foundation and hosted by Google's Open Source Programs Office.  Google is a truly amazing company and the GooglePlex is a very exciting place to be at. As I was one[...]]]></description>
			<content:encoded><![CDATA[<p>Last week I had the chance to speak at the <a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009">EclipseDay at the GooglePlex</a> in <a href="http://maps.google.com/?q=Google+Inc.%4037.423156,-122.084917&amp;hl=en&amp;ie=UTF8&amp;ll=37.42216,-122.085764&amp;spn=0.005283,0.011362&amp;t=h&amp;z=17">Mountain View, CA</a>, an event organized by the <a href="http://www.eclipse.org">Eclipse Foundation</a> and hosted by <a href="http://code.google.com/opensource/">Google's Open Source Programs Office</a>.  Google is a truly amazing company and the GooglePlex is a very exciting place to be at. As I was one day early and needed a creative place to put finishing touches on my slides, I took the chance to visit <a href="http://konigsberg.blogspot.com/">Robert Konigsberg</a> who was kind enough to host me for that day.  The organizers put together a great agenda with lots of interesting talks. <a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts">Looking at the agenda</a>, you will see that there actually are three major topics, <strong>Eclipse in the Enterprise</strong>, <strong>Modeling</strong> and <strong>Runtime</strong>:  The talks</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Eclipse_in_the_Enterprise:_Lessons_from_Google">Eclipse in the Enterprise: Lessons from Google</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Distributed_OSGi_in_the_Eclipse_Runtime_Project">Distributed OSGi</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Deploying_Successful_Enterprise_Tools">Deploying Successful Enterprise Tools</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Build_and_Provision:_Two_Sides_of_the_Coin_We_Love_to_Hate">Build and Provision</a></li>
</ul>
<p>all dealt with how Eclipse can be used in the Enterprise or which challenges you will face if you start using Eclipse in large-scale scenarios.<br />
<span id="more-307"></span><br />
The talks</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Developing_DSLs_with_Eclipse">Developing DSLs with Eclipse</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Eclipse_in_NASA_Mission_Control">Eclipse in NASA Mission Control</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Build_and_Provision:_Two_Sides_of_the_Coin_We_Love_to_Hate">Build and Provision</a></li>
</ul>
<p>either directly had modeling as their topic or used modeling technology to solve their problems. I especially liked the NASA talk which featured a number of computer animated videos of recent or future missions. The NASA mission control software is heavily based on Eclipse and technology form the Eclipse Modeling Project.  Finally, there were some talk on runtime technology:</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#OSGi_for_Eclipse_Developers">OSGi for Eclipse Developers</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Developing_for_Android_with_Eclipse">Developing for Android with Eclipse</a></li>
<li><a href="http://wiki.eclipse.org/Eclipse_Day_At_Googleplex_2009/Session_Abstacts#Google_Plugin_for_Eclipse:_Not_Just_for_Newbies_Any_More">Google Plugin for Eclipse: Not Just for Newbies Any More</a></li>
</ul>
<p>Attending great talks of course is one of the major benefits of going to a conference like this. To me, meeting other people and connecting has become even more important than attending great talks. Of course, this is nothing new to event organizers and so there were many chances to grab a drink and chat with the other attendees. With more than 170 people attending, it was hard to have a chat with everyone, but nevertheless I managed to talk to a number of people, many of which already are Xtext users or are now planing to have a detailed look at it. Even Google is using Xtext, but ssshh!  Overall, I really enjoyed my two days at Google and look forward to more events like this. Speaking of which, <a href="http://www.eclipsecon.org/summiteurope2009/">Eclipse Summit Europe is approaching fast</a>, so make sure you register on time. Also, if you're interested in Modeling and DSLs, we're organizing a Modeling / DSL Day in North America this coming fall - see <a href="http://www.peterfriese.de/eclipse-modeling-day-in-north-america/">my previous post</a> for more info.  And finally, here are the slides and the video of my talk:</p>
<div><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" 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://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buildingdslswitheclipseslideshare-key-090827153422-phpapp02&amp;stripped_title=building-dsls-with-eclipse-1916333" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="480" height="385" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=buildingdslswitheclipseslideshare-key-090827153422-phpapp02&amp;stripped_title=building-dsls-with-eclipse-1916333" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" 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://www.youtube-nocookie.com/v/bhdGNTm4PzI&amp;hl=en&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube-nocookie.com/v/bhdGNTm4PzI&amp;hl=en&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/xtext-google/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eclipse Modeling Day in North America</title>
		<link>http://www.peterfriese.de/eclipse-modeling-day-in-north-america/</link>
		<comments>http://www.peterfriese.de/eclipse-modeling-day-in-north-america/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 17:22:41 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[DSLs]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=302</guid>
		<description><![CDATA[We (i.e. the Eclipse Foundation, itemis and Cloudsmith) are looking into arranging one more Eclipse Modeling Day in North America this fall and would like to gather feedback from folks interested in attending. Please use this poll to help us tailor a location and program to suit your particular interests:
 http://spreadsheets.google.com/viewform?hl=en&#38;formkey=dF ZQcGh3RDhrUUdyNTAtMXlVU2pKQ1E6MA..

Our goal is to[...]]]></description>
			<content:encoded><![CDATA[<p><span class="MsgBodyText">We (i.e. the Eclipse Foundation, <a href="http://www.itemis.com">itemis</a> and Cloudsmith) are looking into arranging one more Eclipse Modeling Day in North America this fall and would like to gather feedback from folks interested in attending. Please use this poll to help us tailor a location and program to suit your particular interests:</span></p>
<p><a href="http://spreadsheets.google.com/viewform?hl=en&amp;formkey=dFZQcGh3RDhrUUdyNTAtMXlVU2pKQ1E6MA.." target="_blank"> http://spreadsheets.google.com/viewform?hl=en&amp;formkey=dF ZQcGh3RDhrUUdyNTAtMXlVU2pKQ1E6MA..</a><br />
<span id="more-302"></span><br />
Our goal is to organize an event especially for people new to modeling or who are curious what this modeling fuss is all about and how it can help them. So, this will not be an experts meeting, but you can meet experts talking about their topics. We also are interested in case studies, so ideally you will get first-hand experience from people who use modeling in real life to meet real challenges.</p>
<p>We welcome any feedback, so please fill out our little poll.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/eclipse-modeling-day-in-north-america/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xtext does London</title>
		<link>http://www.peterfriese.de/xtext-does-london/</link>
		<comments>http://www.peterfriese.de/xtext-does-london/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 18:10:57 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=280</guid>
		<description><![CDATA[Marking the end of this years series of DemoCamps, Neil Bartlett and SkillsMatter are organizing the final DemoCamp in London on Monday 29th, 2009. Yes, that's next monday!
Neil was kind enough to invite someone from the "modeling/oAW folk", so Heiko Behrens will be giving an Xtext demo. 
If you haven't had the chance to attend[...]]]></description>
			<content:encoded><![CDATA[<p>Marking the end of this years <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009">series of DemoCamps</a>, <a href="http://twitter.com/njbartlett">Neil Bartlett</a> and <a href="http://skillsmatter.com/event/java-jee/eclipse-democamp-2009">SkillsMatter</a> are organizing the final DemoCamp in London on <b>Monday 29th, 2009</b>. Yes, that's <em>next</em> monday!</p>
<p>Neil was kind enough to <a href="http://twitter.com/njbartlett/statuses/2177688004">invite someone from the "modeling/oAW folk"</a>, so <a href="http://www.1160pm.net/">Heiko Behrens</a> will be giving an Xtext demo. </p>
<p>If you haven't had the chance to attend Code Generation 2009 or if you're curious what all this DSL talk is all about, I urge you to <a href="http://skillsmatter.com/event/java-jee/eclipse-democamp-2009">sign up</a> for the DemoCamp now - it is free of charge.</p>
<p>I was fortunate enough to hear <a href="http://www.twitter.com/hbehrens">Heiko</a> speak at the <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">DemoCamp in Hamburg</a>. Not only is Heiko a very good speaker (with a very convincing, deep voice), but also did he manage to come up with some very good examples of what a DSL is and why you should consider using them in your projects.</p>
<p>By the way, if you want to play around with <a href="http://www.twitter.com/xtext">Xtext</a> before the DemoCamp, you can get a fresh copy from <a href="http://www.itemis.com">our</a> download site at <a href="http://xtext.itemis.com">http://xtext.itemis.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/xtext-does-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Towels, Models and Bundles: Eclipse DemoCamp in Hamburg</title>
		<link>http://www.peterfriese.de/towels-models-and-bundles-eclipse-democamp-in-hamburg/</link>
		<comments>http://www.peterfriese.de/towels-models-and-bundles-eclipse-democamp-in-hamburg/#comments</comments>
		<pubDate>Tue, 26 May 2009 23:13:11 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=266</guid>
		<description><![CDATA[Whether it was just pure coincidence or destiny - yesterdays DemoCamp in Hamburg happened to fall on the same day as Towel Day. 
Although we had quite a bunch of attendees (I counted 40), only one brought his Towel.



Thanks to our speakers, Martin and I were able to put together a really exciting program:

Moritz Eysholdt,[...]]]></description>
			<content:encoded><![CDATA[<p>Whether it was just pure coincidence or destiny - yesterdays <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">DemoCamp</a> in Hamburg happened to fall on the same day as <a href="http://en.wikipedia.org/wiki/Towel_day">Towel Day</a>. </p>
<p>Although we had quite a bunch of <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg#Who_Is_Attending">attendees (I counted 40)</a>, only one brought his Towel.</p>
<p><a href="http://www.flickr.com/photos/81029262@N00/3568313106" title="View 'Heiko Behrens - Xtext' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3637/3568313106_060ee9ff19.jpg" alt="Heiko Behrens - Xtext" border="0" width="500" height="333" /></div>
<p></a></p>
<p>Thanks to our speakers, Martin and I were able to put together a really exciting program:</p>
<ol>
<li>Moritz Eysholdt, Patching Models and Evolving Meta Models</li>
<li>Heiko Behrens, TMF Xtext</li>
<li>Simon Zambrovski, Common Navigator Framework</li>
<li>Marco Mosconi, Modular EMF/GMF customization with ObjectTeams/Java</li>
<li>Markus Alexander Kuppe, Distributed OSGi (RFC 119) - The ECF way</li>
</ol>
<p>Moritz presented the result of his master's thesis on the topic of metamodel evolution and explained how models can evolve together with their metamodels. This might also be of interest for data modeling.</p>
<p><a href="http://www.flickr.com/photos/81029262@N00/3568306510" title="View 'Moritz Eysholdt - Metamodel Evolution' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3380/3568306510_deaab05a74.jpg" alt="Moritz Eysholdt - Metamodel Evolution" border="0" width="500" height="333" /></div>
<p></a></p>
<p>Heiko delivered a great presentation on the upcoming version of Xtext. He used a <a href="http://www.slideshare.net/HeikoB/xtext-und-was-man-damit-anstellen-kann">well-known example</a> that everybody could relate to (no, not entities and services!) so it was really easy to understand how domain specific languages work and how Xtext can help to implement a domain specific tool chain.</p>
<p><a href="http://www.flickr.com/photos/81029262@N00/3568309918" title="View 'Heiko Behrens - Xtext' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3329/3568309918_6eb0eed6f4.jpg" alt="Heiko Behrens - Xtext" border="0" width="500" height="333" /></div>
<p></a></p>
<p>Simon presented on the Common Navigator Framework - a powerful framework which helps you to assemble tree views in a mostly declarative manner. Simon was bold enough to do a live coding session, but the <a href="http://www.rdrop.com/users/paulmck/DemoGods/">demo gods</a> didn't smile on him, so he showed us the prepared solution, which was still very convincing. Simon prepared an article about the CNF on his blog, so if you're interested, <a href="http://www.techjava.de/topics/2009/04/eclipse-common-navigator-framework/">drop by</a> - it's worth a read.<br />
<a href="http://www.flickr.com/photos/81029262@N00/3568319930" title="View 'Simon Zambrovski - CNF' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3632/3568319930_a2c97d90af.jpg" alt="Simon Zambrovski - CNF" border="0" width="500" height="333" /></div>
<p></a></p>
<p>After the break, Marco Mosconi showed how <a href="http://www.objectteams.org/">ObjectTeams/Java</a> can be used to non-invasively customize generated code. As a real-world example he used the UML diagrams from the Eclipse <a href="http://www.eclipse.org/modeling/mdt/?project=uml2tools">UML2Tools</a> project. The <a href="http://wiki.eclipse.org/MDT-UML2Tools">UML2Tools</a> project uses <a href="http://www.eclipse.org/modeling/gmf/">GMF</a> to generate the diagram code based on the UML2 metamodel (implemented as an ECore model). A rather large number of generated artifacts have to be customized to make sure the diagrams behave correctly. Marco showed how this is especially required for associations (I find it kind of funny how everybody uses associations to explain how complicated the UML metamodel is). The UML2Tools class diagram has been customized in at least 200 different locations, so you get a big maintenance problem (generated and non-generated code are mingled). With ObjectTeams, it is possible to extract all customization code into so called teams which then are able to enhance the generated code in an aspect oriented way. In a way, ObjectTeams is like AOP on steroids.<br />
<a href="http://www.flickr.com/photos/81029262@N00/3568322828" title="View 'Marco Mosconi - ObjectTeams' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3644/3568322828_677d4a889a.jpg" alt="Marco Mosconi - ObjectTeams" border="0" width="500" height="333" /></div>
<p></a></p>
<p>The official part of the DemoCamp was concluded by a talk held by <a href="http://www.ohloh.net/accounts/lemmy">Markus</a> <a href="http://www.lemmster.de/blog/">Kuppe</a> on Distributed OSGi. Markus briefly explained the architecture behind Distributed OSGi and gave a demo of an Eclipse RCP application that communicated with an iPhone (which ran an Equinox server). Markus used the <a href="http://www.eclipse.org/ecf/">Eclipse Communication Framework (ECF)</a> to achieve this - ECF contains a provider for Distributed OSGi.<br />
<a href="http://www.flickr.com/photos/81029262@N00/3568326016" title="View 'Markus Kuppe - Remote OSGi' on Flickr.com">
<div style="text-align:center;"><img src="http://farm3.static.flickr.com/2483/3568326016_0e6b01375e.jpg" alt="Markus Kuppe - Remote OSGi" border="0" width="500" height="333" /></div>
<p></a></p>
<p>Eclipse DemoCamps are social events and aim at creating room for discussion and interaction. So, after the official part of the DemoCamp, we headed down to the EAST Bar to have some nice chats over some frosty beverages (I definitely recommend "Cool Mango").</p>
<p>Feedback has been very positive so far and I surely hope everybody enjoyed the DemoCamp as much as I did. Thanks to the <a href="http://www.eclipse.org/">Eclipse Foundation</a>, <a href="http://www.it-agile.de/">it-agile</a> and <a href="http://www.itemis.com/">itemis</a> for making this event possible by sponsoring the location and the drinks!</p>
<p>If you feel you missed out, drop <a href="http://twitter.com/peterfriese">me</a> or <a href="http://twitter.com/martinlippert">Martin</a> a mail so we can invite you the next time around.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/towels-models-and-bundles-eclipse-democamp-in-hamburg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modeling is dead. Long live Modeling!</title>
		<link>http://www.peterfriese.de/modeling-is-dead-long-live-modeling/</link>
		<comments>http://www.peterfriese.de/modeling-is-dead-long-live-modeling/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 13:44:18 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[EMF]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=218</guid>
		<description><![CDATA[Although some people seem to be convinced that Eclipse and Eclipse Modeling are dead, I have been sensing quite healthy life signals of both on EclipseCon 2009 (or rather #eclipsecon).
On Monday, Bernd, Kenn and I hosted the official Modeling BOF:



The topics discussed were focussing on consumability and long-term sustainability of EMF:
Documentation and Marketing
We all agreed[...]]]></description>
			<content:encoded><![CDATA[<p>Although <a href="http://kenn-hussey.blogspot.com/2009/03/on-death-of-eclipse-and-modeling.html">some people seem to be convinced</a> that <a href="http://www.eclipse.org/">Eclipse</a> and <a href="http://www.eclipse.org/modeling/">Eclipse Modeling</a> are dead, I have been sensing quite healthy life signals of both on EclipseCon 2009 (or rather <a href="http://search.twitter.com/search?q=%23eclipsecon">#eclipsecon</a>).</p>
<p>On Monday, <a href="http://www.flickr.com/photos/sza/3385548232/">Bernd</a>, <a href="http://kenn-hussey.blogspot.com/">Kenn</a> and I hosted the <a href="http://www.eclipsecon.org/2009/sessions?id=780">official Modeling BOF</a>:<br />
<a href="http://www.flickr.com/photos/81029262@N00/3383866773" title="View 'Modeling BOF' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3648/3383866773_ffa5c03596.jpg" alt="Modeling BOF" border="0" width="500" height="194" /></div>
<p></a><br />
The topics discussed were focussing on consumability and long-term sustainability of EMF:</p>
<p><strong>Documentation and Marketing</strong></p>
<p>We all agreed that the entire modeling project lacks a decent documentation. While of course all of the projects and subprojects do have their own documentation, there is so such thing as an overview documentation. Modelers as we are, we quickly realized we're lacking a documentation superstructure. The idea is to provide a guide for users (newbies and seasoned experts alike) to navigate the Eclipse Modeling world. The modeling project offers a great variety of technologies, so it is not always easy to find out which set of technologies / frameworks you might want to use - especially if you are new to EMF.</p>
<p>We also agreed that we need more success stories (in the form of blog entries, articles and shiny flyers for the <a href="http://www.eclipse.org/home/categories/index.php?category=modeling">modeling landing page</a>). A quick poll revealed that more than 90% of all people attending have been working on projects in which modeling was successfully applied, so there should be enough material to create success stories!</p>
<p>Kenn mentioned the Eclipse Foundation wants to start a documentation project (much like <a href="http://www.eclipse.org/babel/">Babel</a>) to improve overall documentation, we might eventually join this project. In the meantime, we decided to form a working group comprised of members of the Eclipse Modeling Project that starts to create this overview documentation. The initial members of this working group will be Kenn, Bernd, Peter, Tamer, Pierre, Marcello, Thibault and Anthony (guys, please send me your email addresses). The working group will start its work on the <a href="https://dev.eclipse.org/mailman/listinfo/emf-dev">EMF dev mailing list</a>. You are welcome to join us there.</p>
<p><strong>Consuming Modeling Technology</strong></p>
<p>I think there is no other technology that causes more emotions in an Eclipse committers life than P2. So we also had our little discussion about how to best provision Modeling technology. No big news here - we just re-iterated the pros and cons of using ZIPs vs. P2 and also had a short discussion about the Friends of Eclipse Download Wizard (which, rumor has it, will allow you to assemble a custom distro by just selecting the pieces you need). Several people mentioned that <a href="http://www.eclipse.org/modeling/amalgam/">Amalgamation</a> is intended to be a place for modeling distros.</p>
<p><strong>EMF 3.0</strong></p>
<p>We also discussed whether we should have a new major release of EMF that allows us to break API. Though not everybody agreed that we need a new major version (because the current version works smoothly for most people) we decided to set up an additional BOF to discuss this topic in more detail. I will write about the EMF 3 BOF later (yes, I am teasing)</p>
<p><strong>Miscellanea</strong></p>
<p>Someone asked if we need something like a model bus, the answer was no - we've got the <a href="http://www.eclipse.org/modeling/emft/?project=mwe">modeling workflow engine (MWE)</a>.</p>
<p>We also briefly discussed the recent change of leadership on the MDT OCL component (<a href="http://give-a-damus.blogspot.com/">Christian Damus</a> <a href="http://dev.eclipse.org/mhonarc/lists/modeling-pmc/msg01042.html">revoked</a> his committer and component lead status recently). Everybody agreed that to lead a component, a long-term committment is needed (which has been met by Christian in the most excellent way). We also agreed that we need to make avoid situations in which a whole bunch of projects / components suddenly are without a leader. This will be a task for the PMC.<br />
<a href="http://www.flickr.com/photos/81029262@N00/3383867215" title="View 'Modeling BOF' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3629/3383867215_982c6592ac.jpg" alt="Modeling BOF" border="0" width="500" height="295" /></div>
<p></a></p>
<p>After the official part of the BOF, there still was time to chat and shake hands with people you never met in person before. I had the pleasure to shake hands with Anthony Hunter, who works for IBM. From our discussions on mailing lists and bugs, you could guess that we have a totally different view on the marketing of software, but it turns out we're actually not that far apart <img src='http://www.peterfriese.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://en.wikipedia.org/wiki/Birds_of_a_Feather_(computing)">BOFs</a> are a great way to interact with like-minded people at conferences. So, next time you go to a conference, make sure you participate in a BOF to make yourself be heard and take part in the discussion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/modeling-is-dead-long-live-modeling/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Xpand in your Eclipse Wizards</title>
		<link>http://www.peterfriese.de/using-xpand-in-your-eclipse-wizards/</link>
		<comments>http://www.peterfriese.de/using-xpand-in-your-eclipse-wizards/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 10:42:26 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=154</guid>
		<description><![CDATA[At ESE, I had a nice chat with Chris (actually, I had a lot of nice chats with a lot of nice people - it was quite a challenge to attend any of the sessions), who told me that he was looking into template engines. I leave it up to you to make any assumptions[...]]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://www.eclipsecon.org/summiteurope2008/">ESE</a>, I had a nice chat with <a href="http://mea-bloga.blogspot.com/">Chris</a> (actually, I had a lot of nice chats with a lot of nice people - it was quite a challenge to attend any of the sessions), who told me that he was looking into template engines. I leave it up to you to make any assumptions on why he's interested in template engines. I happen to know at least three template engines: Velocity (which I had the joy of using in my active days at AndroMDA.org), the template, erhm, ... mechanism being used in PDE (I <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=241074">once fixed a bug</a> which had been caused by this engine) and - you might have guessed it - Xpand (which I am a committer on).</p>
<p>So, I gave a short demo of Xtext and Xpand to show Chris how easy it is to create (model-aware) code generation templates. Xpand comes with a nice editor which makes template editing a joy - it features code highlighting, hyperlink navigation, model-awareness and other editor goodness.</p>
<p>Instead of letting only Chris know how that works, here's a short guide on how to write your own Xpand template and use it in a wizard. To make the example more realistic, I chose to implement a wizard that creates an Ant build.xml file for a simple project (something which is missing in Eclipse, AFAIK). So, here we go.</p>
<h2>Prerequisites:</h2>
<ul>
<li>Eclipse 3.5M3 (3.4 might also do)</li>
<li><a href="http://www.eclipse.org/modeling/download.php?file=/modeling/emf/emf/downloads/drops/2.5.0/S200811032126/emf-sdo-xsd-SDK-2.5.0M3.zip">EMF 2.5.0M3</a></li>
<li><a href="http://www.eclipse.org/modeling/download.php?file=/modeling/emft/compare/downloads/drops/0.8.1/R200809170822/emft-compare-SDK-incubation-0.8.1.zip">EMF Compare 0.8.1</a></li>
<li><a href="http://www.eclipse.org/modeling/download.php?file=/modeling/emft/mwe/downloads/drops/0.7.0/S200811120303/emft-mwe-SDK-incubation-0.7.0M3.zip">MWE 0.7.0M3</a></li>
<li><a href="http://www.eclipse.org/modeling/download.php?file=/modeling/m2t/xpand/downloads/drops/0.7.0/S200811120513/m2t-xpand-SDK-incubation-0.7.0M3.zip">Xpand 0.7.0M3</a></li>
</ul>
<h2>How to do it</h2>
<ol>
<li>Download and install the prerequisites.</li>
<li>Create a new plug-in project named "de.peterfriese.antwizard"</li>
<li>Add a New File Wizard to the project. I used the Custom plug-in Wizard to get me started.</li>
<li>Brush up the wizard page and add some fields for project name, source folder and binary folder.</li>
<li>We want to transfer the values entered in this wizard into our template, so we need to create an Ecore model that describes our data model.<a title="View 'antwizard_metamodel' on Flickr.com" href="http://www.flickr.com/photos/81029262@N00/3065637332">
<div style="text-align:left;"><img src="http://farm4.static.flickr.com/3047/3065637332_0f345eaf86_o.jpg" border="0" alt="antwizard_metamodel" width="519" height="234" /></div>
<p></a></li>
<li>Add <em>org.eclipse.emf</em> and <em>org.eclipse.emf.edit</em> to the dependencies of you plug-in.</li>
<li>Create a genmodel and let EMF generate the model code for you.</li>
<li>Add code to your wizard that transfers the values from the input fields to your model. One might consider using databinding for doing this, I used a straight forward read'n'write approach for the time being:
<pre>public boolean performFinish() {
    final String containerName = page.getContainerName();
    final String srcDirName = page.getSrcDirName();
    final String binDirName = page.getBinDirName();
    // ...
}
private BuildSpecification createModel(IProject project, String srcDirName,
    String binDirName) {
    BuildSpecification buildSpecification = BuildspecificationFactory.eINSTANCE.createBuildSpecification();
    Project projectSpecification = BuildspecificationFactory.eINSTANCE.createProject();
    projectSpecification.setName(project.getName());
    projectSpecification.setBinaryFolder(binDirName);
    projectSpecification.setSourceFolder(srcDirName);
    buildSpecification.setProject(projectSpecification);
    return buildSpecification;
}</pre>
</li>
<li>Create an Xpand template <em>de.peterfriese.antwizard/src/template/BuildTemplate.xpt</em>:<br />
<a title="View 'Ant file template' on Flickr.com" href="http://www.flickr.com/photos/81029262@N00/3064840225"></p>
<div style="text-align:left;"><img src="http://farm4.static.flickr.com/3008/3064840225_f3f3b2e799_o.jpg" border="0" alt="Ant file template" width="706" height="589" /></div>
<p></a><br />
In case you wonder how to get those funky characters: make sure us create this file using the Xpand editor - it has code assist (CTRL + space) for those characters.
</li>
<li>Create an Xtend file <em>de.peterfriese.antwizard/src/template/GeneratorExtensions.ext</em>:<br />
<a title="View 'Ant file extensions' on Flickr.com" href="http://www.flickr.com/photos/81029262@N00/3065691432"></p>
<div style="text-align:left;"><img src="http://farm4.static.flickr.com/3045/3065691432_b59ba29444_o.jpg" border="0" alt="Ant file extensions" width="462" height="188" /></div>
<p></a></li>
<li>Add <em>org.eclipse.xpand</em>, <em>org.eclipse.xtend</em> and <em>org.eclipse.xtend.typesystem.emf</em> to the depencies of your plug-in.</li>
<li>Finally, we need to provide some code to invoke the generator:
<pre>private void generate(BuildSpecification buildSpec, IProgressMonitor monitor) throws CoreException {

    // get project root folder as absolute file system path
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IResource resource = root.findMember(new Path(buildSpec.getProject().getName()));
    String containerName = resource.getLocation().toPortableString();

    // configure outlets
    OutputImpl output = new OutputImpl();
    Outlet outlet = new Outlet(containerName);
    outlet.setOverwrite(true);
    output.addOutlet(outlet);

    // create execution context
    Map globalVarsMap = new HashMap();
    XpandExecutionContextImpl execCtx = new XpandExecutionContextImpl(output, null, globalVarsMap, null, null);
    EmfRegistryMetaModel metamodel = new EmfRegistryMetaModel() {
        @Override
        protected EPackage[] allPackages() {
            return new EPackage[] { BuildspecificationPackage.eINSTANCE, EcorePackage.eINSTANCE };
        }
    };
    execCtx.registerMetaModel(metamodel);

    // generate
    XpandFacade facade = XpandFacade.create(execCtx);
    String templatePath = "template::BuildTemplate::main";
    facade.evaluate(templatePath, buildSpec);

    // refresh the project to get external updates:
    resource.refreshLocal(IResource.DEPTH_INFINITE, monitor);
}</pre>
</li>
</ol>
<p>That's it!</p>
<h2>Taking it for a spin</h2>
<ol>
<li>Launch a runtime workbench by selecting <em>de.peterfriese.antwizard/META-INF/MANIFEST.MF</em> and invoking <em>Run As -&gt; Eclipse Application</em></li>
<li>Create a new Java project in the runtime workspace.</li>
<li>Invoke your wizard by selecting <em>File -&gt; New -&gt; Other... -&gt; Ant -&gt; Ant build file from existing project</em></li>
<li>Enter the required information (project name, source folder, binariy folder)</li>
<li>After clicking on <em>finish</em>, you should get a fresh Ant file for your project:<br />
<a title="View 'Ant file' on Flickr.com" href="http://www.flickr.com/photos/81029262@N00/3064865073"></p>
<div style="text-align:left;"><img src="http://farm4.static.flickr.com/3215/3064865073_3415a7b0c3_o.jpg" border="0" alt="Ant file" width="726" height="311" /></div>
<p></a></li>
<li>Enjoy!</li>
</ol>
<p>You can download the project <a href="http://www.peterfriese.de/wp-content/downloads/plugins/model_driven_ant_wizard.zip">here</a>. Feedback and comments are welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/using-xpand-in-your-eclipse-wizards/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ESE: Building Refactoring Tools with LTK and Ludwig</title>
		<link>http://www.peterfriese.de/ese-building-refactoring-tools-with-ltk-and-ludwig/</link>
		<comments>http://www.peterfriese.de/ese-building-refactoring-tools-with-ltk-and-ludwig/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 09:49:27 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=150</guid>
		<description><![CDATA[Jeffrey Overbey talked about building refactoring tools using the LTK and his research work "Ludwig".
I guess you all agree with me that refactoring support is crucial for any programing language, as you need to restructure your code rom time to time. 
Although Eclipse LTK offers a decent API and UI to realize refactoring tools, all[...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jeff.over.bz/">Jeffrey Overbey</a> talked about building refactoring tools using the LTK and his research work "Ludwig".</p>
<p>I guess you all agree with me that refactoring support is crucial for any programing language, as you need to restructure your code rom time to time. </p>
<p>Although Eclipse <a href="http://www.eclipse.org/articles/Article-LTK/ltk.html">LTK</a> offers a decent <a href="http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ltk/core/refactoring/package-summary.html">API</a> and UI to realize refactoring tools, all the heavy lifting (parsing the text in question, analyzing the AST, creating rewrite rules) is left to you.</p>
<p>Jeff's research tool Ludwig can help to derive refactoring support from a BNF-style grammar very easily. Ludwig essentially derives a lexer/parser from the grammar and provides an interface to the AST which gets constructed by the parser. Which gives you the chance to walk / visit the AST and (partially) rewrite the AST.</p>
<p>I really enjoyed Jeff's presentation style. He used a set of slides and pre-recorded screenvideos to drive his talk. I think this is great idea, as it basically eliminates any problems you might run into if you do a live demo. Plus, it gives the presenter the chance to face the audience while demoing, instead of mumbling into the screen <img src='http://www.peterfriese.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://www.flickr.com/photos/81029262@N00/3045729300" title="View 'Eclipse Summit Europe' on Flickr.com">
<div style="text-align:center;"><img src="http://farm4.static.flickr.com/3154/3045729300_77548dceed.jpg" alt="Eclipse Summit Europe" border="0" width="500" height="375" /></div>
<p></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/ese-building-refactoring-tools-with-ltk-and-ludwig/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
