<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-5749374620125186414</id><updated>2009-12-19T06:49:48.181-08:00</updated><title type='text'>Model Driven Blogging</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/-/eclipse'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/search/label/eclipse'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1983516783824597404</id><published>2009-10-26T03:50:00.000-07:00</published><updated>2009-10-26T04:14:19.692-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Eclipse Summit : here we come !</title><content type='html'>I'm polishing and putting the last touches of goodness in my slides for Eclipse Summit Europe. I'm looking forward to a great event as usual, with this warm and fuzzy feeling you have realizing you're part of such a vibrant community.&lt;br /&gt;&lt;br /&gt;If you are wondering how&lt;span style="font-weight: bold;"&gt; "we" &lt;/span&gt;- the Acceleo projet became&lt;span style="font-weight: bold;"&gt; "we" &lt;/span&gt;the Eclipse Project, do not miss my talk :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://www.eclipsecon.org/summiteurope2009/sessions?id=971"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SuWAejDTZII/AAAAAAAAANM/en5P-e3JYNQ/s400/intro.png" alt="" id="BLOGGER_PHOTO_ID_5396860990766933122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;ESE, even more than EclipseCon, is a nice moment to learn more about all the technologies available at Eclipse and to exchange with the teams behind those. I'm  going to catch you : " &lt;a href="http://www.eclipse.org/ecf/"&gt;projects&lt;/a&gt; &lt;a href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jwt"&gt;I'm&lt;/a&gt; &lt;a href="http://www.eclipse.org/equinox/"&gt;particularly&lt;/a&gt;  &lt;a href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.egit"&gt;interested&lt;/a&gt; &lt;a href="http://eclipse.org/rap/"&gt;about&lt;/a&gt; ", and ask you questions, even dumb ones ! Please take this chance to do the same about the Eclipse Modeling project !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1983516783824597404?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1983516783824597404/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1983516783824597404' title='7 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1983516783824597404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1983516783824597404'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/10/eclipse-summit-here-we-come.html' title='Eclipse Summit : here we come !'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u5tMWln_Ie8/SuWAejDTZII/AAAAAAAAANM/en5P-e3JYNQ/s72-c/intro.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-3244660270746656679</id><published>2009-10-09T06:54:00.000-07:00</published><updated>2009-10-09T08:24:18.244-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='cartography'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Exploring Eclipse Plugins: beyond Terra Incognita</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/maxbraun/2722476302/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 281px;" src="http://farm4.static.flickr.com/3040/2722476302_4bf25ea7b6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In software engineering the "&lt;span style="font-weight: bold;"&gt;Terra Incognita&lt;/span&gt;" boundary is never far away from where you're standing. Most software are lacking an "overview" documentation or model and you have to open your path yourself through the code trying to understand what's going on.&lt;br /&gt;&lt;br /&gt;That's especially true when you are analyzing a legacy application in some kind of good old language not being considered,  these days, as hype as SCALA . COBOl, NSDK are examples among others, reverse engineering become a requirement and at Obeo we are working hard&lt;a href="http://www.obeo.fr/pages/agility"&gt; providing tooling so&lt;/a&gt; that our customers are able to understand and migrate to other technologies.&lt;br /&gt;&lt;br /&gt;That said you don't need  a flux capacitor requiring 1.21 &lt;em&gt;gigawatts&lt;/em&gt; of electrical power to have this "understanding" issue with technologies. It's still a problem with the application we're building using 2009 ones, let's take the OSGi Bundles for the need of the demonstration.&lt;br /&gt;&lt;br /&gt;I already did a draft implementation of a tooling easing the exploration of Eclipse plugin years ago using GMF,  and we've got this nifty PDE visualization tools based on ZEST, but I was in the mood of trying again to build a tooling from the following principle:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;construct and explore&lt;span style="font-weight: bold;"&gt; step by step&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Now that we built this &lt;a href="http://www.obeo.fr/pages/obeo-designer/features/"&gt;cool technology &lt;/a&gt;enabling you to design your own modeling environment, I decided to give it another try.&lt;br /&gt;&lt;br /&gt;Here is the result, please note that's a &lt;span style="font-weight: bold;"&gt;one day&lt;/span&gt; work  and  the&lt;span style="font-weight: bold;"&gt; underlying runtime is in development&lt;/span&gt; (you might catch a few bugs during the demo). Please also note that the demo capture software is not so friendly with the original color, we are rendering the diagram with more than 256 colors ;)&lt;br /&gt;&lt;br /&gt;The legend is the following :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9CzYPaWhI/AAAAAAAAAMQ/tyuq3a9Sym8/s1600-h/legend.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 234px; height: 321px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9CzYPaWhI/AAAAAAAAAMQ/tyuq3a9Sym8/s400/legend.png" alt="" id="BLOGGER_PHOTO_ID_5390600729433627154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The plugins model is captured thanks to PDE APIs, we're going to explore the Eclipse plugins starting from Mylyn, building groups, and seeing what kind of relations those groups have with each others : dependency and/or extension.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/plugins/demoplugins.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 297px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9JY9wo0FI/AAAAAAAAAMY/ymmMxNplt1o/s400/cartoplugins.png" alt="" id="BLOGGER_PHOTO_ID_5390607972230025298" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So now the next step would be to build the&lt;span style="font-weight: bold;"&gt; whole Galileo Map&lt;/span&gt; step by step,  anybody feels like a 21st century Magellan?&lt;br /&gt;&lt;br /&gt;Here are a few extras :&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;EMF Core dependencies&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/Ss9MGzFRB0I/AAAAAAAAAMo/PX-4zHJL3bE/s1600-h/emf-deps.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 274px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/Ss9MGzFRB0I/AAAAAAAAAMo/PX-4zHJL3bE/s400/emf-deps.jpg" alt="" id="BLOGGER_PHOTO_ID_5390610958660994882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;EMF Core extensions&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9MT-KUQnI/AAAAAAAAAMw/cPIjj_s79rQ/s1600-h/emf-exts.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 389px; height: 400px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9MT-KUQnI/AAAAAAAAAMw/cPIjj_s79rQ/s400/emf-exts.jpg" alt="" id="BLOGGER_PHOTO_ID_5390611184973267570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Acceleo.org standalone plugins&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/Ss9M0_kDu7I/AAAAAAAAAM4/KnHB3IIzfbc/s1600-h/carto_acceleo_standalone.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 245px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/Ss9M0_kDu7I/AAAAAAAAAM4/KnHB3IIzfbc/s400/carto_acceleo_standalone.png" alt="" id="BLOGGER_PHOTO_ID_5390611752285354930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Ok, that's Friday and I'm kinda lazy : no text annotations in the demo for now, may be later if I've got thousand questions through the comments..&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-3244660270746656679?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/3244660270746656679/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=3244660270746656679' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3244660270746656679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3244660270746656679'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/10/exploring-eclipse-plugins-beyond-terra.html' title='Exploring Eclipse Plugins: beyond Terra Incognita'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u5tMWln_Ie8/Ss9CzYPaWhI/AAAAAAAAAMQ/tyuq3a9Sym8/s72-c/legend.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-8062935893527033571</id><published>2009-09-29T06:57:00.000-07:00</published><updated>2009-09-29T09:09:44.397-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='designer'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><title type='text'>Having more control ...</title><content type='html'>Who never asked for more time to focus on things that matters, like, for instance, &lt;a href="http://mariot-thoughts.blogspot.com/2009/09/nathalie-effect-goals-tests-and-patches.html"&gt;gigantic barbecues&lt;/a&gt; ?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SsIi1OL6w-I/AAAAAAAAALw/IpAvHoRsmME/s1600-h/100_9865.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SsIi1OL6w-I/AAAAAAAAALw/IpAvHoRsmME/s400/100_9865.JPG" alt="" id="BLOGGER_PHOTO_ID_5386906402025030626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And then you fulminate against this tool which should help you and which is not,it's just another burden placed on you to provide this documentation nobody will ever maintain or even read. I&lt;span style="font-style: italic;"&gt;s that what modeling is about&lt;/span&gt; ?&lt;br /&gt;&lt;br /&gt;Life as a software user is often harsh, especially as you have, most of the time, no &lt;span style="font-weight: bold;"&gt;control&lt;/span&gt; at all on the software you use. As a developer it's even more difficult as you have an idea on what's going on behind the scene, and not having control is something you just can't handle now that so much open-source products are providing you this power.&lt;br /&gt;&lt;br /&gt;If you had control on your tools, if you could adapt it or even easily define it, then you could focus on useful things. &lt;span style="font-weight: bold;"&gt;Modeling&lt;/span&gt; can bring it back to you, not modeling like in UML Modelers, modeling like formalizing your domain model as a way to capture your though or your coding tasks.&lt;br /&gt;&lt;br /&gt;A Model doesn't have to be high level, a model doesn't have to provide as much information as your source code, a model is just here to help you answer questions about what you're doing.&lt;br /&gt;If you can't say, for a given model what kind of questions it's helping you to answer, then your model is just not relevant, it's not a model, let's call that &lt;span style="font-weight: bold;"&gt;boxes with edges.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And now let's take a small example, you wants to define a software using components which are providing services, then you wants to assign these "logical" components to Eclipse plugins, here is a model definition you can come up with :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SsIbD5F8ZMI/AAAAAAAAALQ/pHQPTzsglpQ/s1600-h/ecoremodel.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 372px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SsIbD5F8ZMI/AAAAAAAAALQ/pHQPTzsglpQ/s400/ecoremodel.png" alt="" id="BLOGGER_PHOTO_ID_5386897857967842498" border="0" /&gt;&lt;/a&gt;From an instance of a model you can answer the questions : how is split my application ? what services are provided and required by who ?  And how these components are linked to the Eclipse plugins I'm coding ?&lt;br /&gt;&lt;br /&gt;From now you can either capture an instance and start working thanks from EMF Dynamic support , or specify a tooling to ease this capture. If a diagram is a good representation for your problem, pick it, if it's not, pick a tabular, tree or even textual representation.&lt;br /&gt;&lt;br /&gt;The following demo describe a tooling specification (click on the image! ) at the top, the specification, at the bottom, the tooling which is dynamically adapting itself to the specification.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/overview/OD-specifier.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 247px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SsIxB3hUhoI/AAAAAAAAAMA/KUFbk1cSiG0/s400/specify.png" alt="" id="BLOGGER_PHOTO_ID_5386898630096669458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Modeling itself is useful to organize your though, validate your design or even can help to pick the best trade-off for a given architecture. In a &lt;a href="http://model-driven-blogging.blogspot.com/2009/05/viewpoints-enabled-modeling-tools.html"&gt;old post I was showing how a modeling tooling having support for viewpoints&lt;/a&gt; is powerful in this regard.  The next demo is showing you how the developer or analyst, can then leverage the tooling definition (click again !) :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/overview/OD-user.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 310px; height: 273px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SsIxEy-DzDI/AAAAAAAAAMI/e1_RyvvdM6o/s400/use.png" alt="" id="BLOGGER_PHOTO_ID_5386899886600546674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now you described everything and you're quite happy with the result, why not using this information to help you produce code ? As soon as the modeling environment is linked to the development tasks with code generators, the model is &lt;span style="font-weight: bold;"&gt;not going to be deprecated&lt;/span&gt;, it will be used by the team to get the &lt;span style="font-weight: bold;"&gt;tedious&lt;/span&gt; work done.&lt;br /&gt;&lt;br /&gt;Moreover  when the environment provides you navigation from your code to the model, then to the code, and support for customizing anything in the generated code, then the tool is no more a burden, but a relief. (yet another demo !)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/overview/OD-Acceleo_Traceability.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 165px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SsIw0a7QJ8I/AAAAAAAAAL4/AflscsX6aDU/s400/generate.png" alt="" id="BLOGGER_PHOTO_ID_5386900989701440706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's been 3 years now since I arrived in &lt;a href="http://www.obeo.fr/"&gt;Obeo&lt;/a&gt;, and every tool we developed since then has been designed following this motto : "Having more control, not getting in the way and providing value to the developer."&lt;br /&gt;&lt;br /&gt;So far I'm quite happy with the results :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ps  : thanks to Jérôme who did the démo&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-8062935893527033571?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/8062935893527033571/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=8062935893527033571' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8062935893527033571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8062935893527033571'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/09/having-more-control.html' title='Having more control ...'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/SsIi1OL6w-I/AAAAAAAAALw/IpAvHoRsmME/s72-c/100_9865.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-3081783941879399542</id><published>2009-09-10T02:32:00.000-07:00</published><updated>2009-09-10T02:45:13.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>The 09/09/09 09:09 0.9.0 Release</title><content type='html'>Laurent did it not even on purpose, but the latest Acceleo I-build, which is the 0.9 branch, performed well and has this&lt;span style="font-weight: bold;"&gt; golden qualifier&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SqjIhFCOyQI/AAAAAAAAALI/_vSaQyCXIds/s1600-h/acceleo99999.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 206px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SqjIhFCOyQI/AAAAAAAAALI/_vSaQyCXIds/s400/acceleo99999.png" alt="" id="BLOGGER_PHOTO_ID_5379770225506830594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;So If you're superstitious or a numerology believer, don't miss such a release !&lt;br /&gt;&lt;br /&gt;As a sidenote, the Acceleo Team will be at ESE with the talk : "&lt;a href="http://www.eclipsecon.org/summiteurope2009/sessions?id=971"&gt;From Acceleo.org to Eclipse.org"&lt;/a&gt;  And the EEF project, first consumer in Eclipse of the Acceleo Technology will present : "&lt;a href="http://www.eclipsecon.org/summiteurope2009/sessions?id=946"&gt;EEF you want sexy properties ...&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;If you're interested in the model power, EMF goodness,  modeling environments, viewpoints based modeling and/or the Eclipse platform in general, let's meet in &lt;a href="http://www.eclipsecon.org/summiteurope2009/"&gt;Ludwigsburg! &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-3081783941879399542?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/3081783941879399542/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=3081783941879399542' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3081783941879399542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3081783941879399542'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/09/090909-0909-090-release.html' title='The 09/09/09 09:09 0.9.0 Release'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u5tMWln_Ie8/SqjIhFCOyQI/AAAAAAAAALI/_vSaQyCXIds/s72-c/acceleo99999.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-2992224150856306838</id><published>2009-08-05T01:11:00.000-07:00</published><updated>2009-08-05T01:18:10.981-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Let's take a step back ...</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;br /&gt;Lately I had to step back a bit and have a look on what's going on in the software industry. I think most of us did that lately as big players moved their chess pawns and many new technologies seems to have gained some kind of maturity. Many events happened in the last years being evidences the game rules are changing, are all those web apps white or dark magic ?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/Snk8tA6oO5I/AAAAAAAAAKo/e0ZoGnCoAhE/s1600-h/img_4682.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/Snk8tA6oO5I/AAAAAAAAAKo/e0ZoGnCoAhE/s400/img_4682.jpg" alt="" id="BLOGGER_PHOTO_ID_5366387175026342802" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First we've seen this "Web 2.0 move" and what they call "social software" or whatever, then every single app the "base user" would need had been ported to the web, and now most parts of the "meaningful" data are hosted on private servers all over the world. From the beginning, as an FOSS advocate who thinks that freedom matters more than anything else&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt; I was really standing against those apps.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;Moreover from a technical perspective I couldn't say it was making sense: considering your app container is a web browser, I mean,&lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;  it's so poor&lt;/span&gt;&lt;span style="font-size:100%;"&gt; !, that's something which is supposed to be *document centric* and not *interaction centric* you can't really expect more than "drag&amp;amp; drop" from a webapp !&lt;br /&gt;And what's that idea of transforming personal computers to terminals ! It took years to go away from that nonsense and now even the cheapest computer has so much resources ! I'm not even speaking about the "you've got no choice than being connected to the WWW " statement. But now we can say those apps were representatives of a real need for user: another shoot in the software landscape.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/Snk8_LoCH2I/AAAAAAAAAKw/_CfmPV6GIyU/s1600-h/img_4623.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 215px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/Snk8_LoCH2I/AAAAAAAAAKw/_CfmPV6GIyU/s400/img_4623.jpg" alt="" id="BLOGGER_PHOTO_ID_5366387487138783074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But well, things changed quite a lot, the technology grew and Google played a big part in most of those changes, some webapps are now supporting offline mode, user interfaces and interactions got richer, we've got, at least, a pretty good copycat of 90's user interfaces and as nobody really jumped from that, even on the desktop ...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/Snk9ofunjnI/AAAAAAAAALA/HYnEvChEPP0/s1600-h/img_4702.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 278px; height: 400px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/Snk9ofunjnI/AAAAAAAAALA/HYnEvChEPP0/s400/img_4702.jpg" alt="" id="BLOGGER_PHOTO_ID_5366388196909747826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And now I'm facing this big paradox, most of the G-technologies are so cool and well designed I would love using them from a daily perspective,   just a quick glance at what Tom is doing or to the E4 effort is enough to make me feel "whoa, our stuffs are so old fashioned, &lt;span style="font-style: italic;"&gt;am I&lt;/span&gt; &lt;/span&gt;&lt;span style="font-style: italic;font-size:100%;" &gt;no more a cool kid ?&lt;/span&gt;&lt;span style="font-size:100%;"&gt;". This path I was considering as doomed have been made brighter by complementary technologies, gears for offline suppport,  GWT to be able to maintain this crappy Javascript and provide nice interactions , an many more enhancements.. And though, I keep thinking that most people would prefer using a desktop app if it would manage to tackle the main webapp assets :&lt;br /&gt;- one click, it works  and everywhere (which is mainly in the case of web aps : register and you're done)&lt;br /&gt;- no re-install, maintenance should be invisible&lt;br /&gt;- don't care about your data, we're taking care of it&lt;br /&gt;&lt;br /&gt;and the &lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;main point&lt;/span&gt;&lt;span style="font-size:100%;"&gt;, in my opinion being :&lt;br /&gt;- you can share and collaborate with others without even having to care about it !&lt;br /&gt;&lt;br /&gt;Those points have been &lt;span style="font-weight: bold;"&gt;missed&lt;/span&gt; by desktop apps, and those points&lt;span style="font-style: italic;"&gt; could&lt;/span&gt; be done with an approach protecting privacy if the people doing it have no interest in trading information. Eclipse is a platform with a great potential especially concerning the "run everywhere, easy install, update and maintain statement", the "collaboration" aspect is probably the one needing much more love to make our favorite project blossom in the following years.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Snk9ThFfHmI/AAAAAAAAAK4/0cL9X1EmkBc/s1600-h/img_4624.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Snk9ThFfHmI/AAAAAAAAAK4/0cL9X1EmkBc/s400/img_4624.jpg" alt="" id="BLOGGER_PHOTO_ID_5366387836496846434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And now that I washed my mind writting down these opinions I never really had time to organize before,  I'll try to focus my activities around those concerns to make Eclipse easier to use, install, and moreover supporting multi-tiers share and collaboration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's jump forward !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-2992224150856306838?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/2992224150856306838/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=2992224150856306838' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/2992224150856306838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/2992224150856306838'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/08/lets-take-step-back.html' title='Let&apos;s take a step back ...'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u5tMWln_Ie8/Snk8tA6oO5I/AAAAAAAAAKo/e0ZoGnCoAhE/s72-c/img_4682.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-6552395144159522586</id><published>2009-07-17T02:42:00.000-07:00</published><updated>2009-07-17T05:07:14.884-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Feedback from IT companies leveraging Acceleo</title><content type='html'>The first Eclipse Acceleo Day took place last week and was a pretty nice event., no doubt we'll organize others like that :)&lt;br /&gt;&lt;br /&gt;The day started with business feedback about Acceleo deployement and Model Driven approaches in IT units, more especially &lt;a href="http://www.fr.capgemini.com/"&gt;Cap Gemini&lt;/a&gt;,  &lt;a href="http://www.fr.atosorigin.com/fr-fr/"&gt;Atos Origin&lt;/a&gt;, &lt;a href="http://fr.wikipedia.org/wiki/Orange_Labs"&gt;Orange Labs&lt;/a&gt; and&lt;a href="http://www.bull.com/fr/index.php"&gt; Bull&lt;/a&gt;.  These big IT companies used different approaches to get a higher software quality, quicker, and even more important : easing the maintenance. Each of those approache was valid and was meeting their final goal and Acceleo was a big asset which is &lt;span style="font-style: italic;"&gt;really nice to hear &lt;/span&gt;when you're part of that team :)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SmBkMycMnwI/AAAAAAAAAKg/4p6LJ_p4DAo/s1600-h/pres_ban.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 150px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SmBkMycMnwI/AAAAAAAAAKg/4p6LJ_p4DAo/s400/pres_ban.png" alt="" id="BLOGGER_PHOTO_ID_5359393727432138498" border="0" /&gt;&lt;/a&gt;Slides will be available on the event&lt;a href="http://www.acceleo.org/wiki/index.php/EclipseAcceleoDay:Program"&gt; program page.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I really can't summarize all the discussions and presentations in a single post, have a look on &lt;a href="http://eef-modeling.blogspot.com/"&gt;Goulwen's report&lt;/a&gt; which is way more detailled, but there is one feedback which need to be emphasized : &lt;span style="font-style: italic;"&gt;Model Driven Software Development&lt;/span&gt; might sound like a big "corporate" expression quite far from the developers actual concerns which is about agility and quality, but &lt;span style="font-weight: bold;"&gt;it is not&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/ennor/89019338/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 375px; height: 500px;" src="http://farm1.static.flickr.com/22/89019338_54807b456b.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Using models and leveraging them with code generation techniques is just about that :&lt;span style="font-weight: bold;"&gt; bringing agility to your development process&lt;/span&gt;. With tools like Acceleo which are fully integrated in the Eclipse IDE, the developer has the power to build software systems quicker and better. What we've seen is that most companies are organized in "&lt;span style="font-style: italic;"&gt;one transversal team creating the modeling environment and the corresponding generation templates&lt;/span&gt;", thats a common organization when a company want's to&lt;span style="font-weight: bold;"&gt; capitalize over its tooling and templates&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/steven_wong/2126367609/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 375px;" src="http://farm3.static.flickr.com/2154/2126367609_2c48da7f3a.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Keep in mind one thing : &lt;a href="http://www.obeo.fr"&gt;we&lt;/a&gt; are building tools which are making the task of  creating of such a modeling environment (modelers, code generators or transformers)  &lt;span style="font-weight: bold;"&gt;so easy,&lt;/span&gt; that a developer is able to do it quickly, &lt;span style="font-weight: bold;"&gt;even just for a single project.&lt;/span&gt; You might have a big boost of productivity, quality and consistency on your code just defining a small set of generator templates perfectly tailored to what you want.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.flickr.com/photos/dinomite/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 500px; height: 375px;" src="http://farm4.static.flickr.com/3599/3468412357_c106b188fa.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So people claiming that Model Driven Development is incompatible with Agile Development are just&lt;span style="font-weight: bold;"&gt; plain wrong&lt;/span&gt;,  the tooling supports this kind of development and make it easier, it will just depend on the organization you pick : if your goal is about defining a process for your whole group so that you get quality and consistency over all your projects, then go ahead with the transversal team and keep in mind you'll have to work on your tooling a lot more to handle all the projects use cases. If you just want to build a given software quicker and better, consider defining a tooling in a few days as it will make your life, &lt;span style="font-weight: bold;"&gt;as a developper, way easier.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-6552395144159522586?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/6552395144159522586/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=6552395144159522586' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6552395144159522586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6552395144159522586'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/07/feedback-from-it-companies-leveraging.html' title='Feedback from IT companies leveraging Acceleo'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u5tMWln_Ie8/SmBkMycMnwI/AAAAAAAAAKg/4p6LJ_p4DAo/s72-c/pres_ban.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-6885050748279084818</id><published>2009-07-10T05:38:00.000-07:00</published><updated>2009-07-10T07:44:26.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Eclipse Acceleo Day is going on...</title><content type='html'>&lt;a href="http://www.eclipse.org/org/press-release/20090618_AcceleoDay.php"&gt;Eclipse Acceleo Day &lt;/a&gt;started this morning. The event is collocated with the "&lt;b&gt;Libre Software Meeting&lt;/b&gt;" at Nantes (France) . Yes, that's right ,we're part of this huge and lively movement which is &lt;b&gt;free software&lt;/b&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far the even is going fairly well and many people from convinced users to modeling sceptical ones are attending. Getting feedback from the end user is &lt;b&gt;always valuable.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll keep the Eclipse community in touch with what's going on here, thanks again to &lt;a href="http://freddyallilaire.blogspot.com/"&gt;Freddy&lt;/a&gt; who organized the event and to the foundation staff for their help !&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-6885050748279084818?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/6885050748279084818/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=6885050748279084818' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6885050748279084818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6885050748279084818'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/07/eclipse-acceleo-day-is-going-on.html' title='Eclipse Acceleo Day is going on...'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-3074497838075167991</id><published>2009-06-23T07:58:00.000-07:00</published><updated>2009-06-23T08:14:00.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='galileo'/><title type='text'>Galileo Modeling Package is Here</title><content type='html'>If you're &lt;a href="http://www.eclipse.org/donate/"&gt;a friend&lt;/a&gt; you can download the Galileo packages. The modeling one is here !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SkDt0eXPiKI/AAAAAAAAAKQ/69068CIWyt4/s1600-h/galileo_modeling_welcome.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 273px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SkDt0eXPiKI/AAAAAAAAAKQ/69068CIWyt4/s400/galileo_modeling_welcome.png" alt="" id="BLOGGER_PHOTO_ID_5350537843075680418" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Please notice the great "&lt;span style="font-weight: bold;"&gt;What's New&lt;/span&gt;" page with live content :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SkDwCZQRauI/AAAAAAAAAKY/Ca_6P_GlSYY/s1600-h/galileo_modeling_acceleo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 273px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SkDwCZQRauI/AAAAAAAAAKY/Ca_6P_GlSYY/s400/galileo_modeling_acceleo.png" alt="" id="BLOGGER_PHOTO_ID_5350540281245690594" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Yes, If you're interested in software engineering, If you think &lt;a href="http://www.slideshare.net/merks/the-unbearable-stupidity-of-modeling-presentation"&gt;"modeling is crap"&lt;/a&gt; and you're looking for nice pragmatic tools focused on making things easier, come and join us during the &lt;span style="font-weight: bold;"&gt;Libre Software Meeting  &lt;/span&gt;at Nantes the July 10th for the &lt;a href="http://www.acceleo.org/wiki/index.php/Eclipse_Acceleo_Day"&gt;&lt;span style="font-weight: bold;"&gt;Eclipse Acceleo Day&lt;/span&gt;&lt;/a&gt; !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-3074497838075167991?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/3074497838075167991/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=3074497838075167991' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3074497838075167991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3074497838075167991'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/06/galileo-modeling-package-is-here.html' title='Galileo Modeling Package is Here'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/SkDt0eXPiKI/AAAAAAAAAKQ/69068CIWyt4/s72-c/galileo_modeling_welcome.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-6597968654399650768</id><published>2009-06-16T03:30:00.000-07:00</published><updated>2009-06-16T01:32:09.406-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Quick glimpse at Galileo Modeling Package</title><content type='html'>Eclipse Galileo aka&lt;span style="font-style: italic;"&gt; 3.5 simultaneous release&lt;/span&gt; is coming soon. We now all have this fuzzy feeling when development stops and we stay here a bit dizzy, wondering what we'll do next.&lt;br /&gt;&lt;br /&gt;Yet another release, yet another step in the direction of the best IDE, of the best Platform, of the best Modeling tooling or whatever goal you have. The eco-system is so diverse, every new release can't be reviewed as whole, you can only  savour "just a bite of this big cake".&lt;br /&gt;&lt;br /&gt;Even if I'm quite sensitive to all the good stuffs added in the platform: &lt;span style="font-style: italic;"&gt;as a plugin developper these features makes me happy everyday&lt;/span&gt;, I'm gonna focus on only&lt;span style="font-weight: bold;"&gt; *some* &lt;/span&gt;features of the modeling package for Galileo...&lt;br /&gt;&lt;br /&gt;Each year a few more modeling projects are joining the team for the simultaneous release, you're now getting a full-fledge modeling environment for Galileo.&lt;br /&gt;&lt;br /&gt;Let's design stuffs, that's what models are bout, right ? Thanks to &lt;span style="font-weight: bold;"&gt;EcoreTools&lt;/span&gt;, you now have a nice modeler for your domain models. I only want to say one thing:  the sexyfication of this modeler is great :)  You now have nice gradients, shadows, and many views bringing you stuffs you're used to in the Java tooling : Class hierarchy, Show references and so on..&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SjOA5c4r7oI/AAAAAAAAAJo/25e-VYWfvW4/s1600-h/ecoretools.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SjOA5c4r7oI/AAAAAAAAAJo/25e-VYWfvW4/s400/ecoretools.png" alt="" id="BLOGGER_PHOTO_ID_5346758907113762434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Definitily worth trying !&lt;br /&gt;&lt;br /&gt;If you design your models with a team, you'll be happy to see EMF Compare when you want to merge your changes with those made by your coworkers&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SjOCEDmmYiI/AAAAAAAAAJw/tWKOVy5kv_8/s1600-h/compare_ecore.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 256px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SjOCEDmmYiI/AAAAAAAAAJw/tWKOVy5kv_8/s400/compare_ecore.png" alt="" id="BLOGGER_PHOTO_ID_5346760188817203746" border="0" /&gt;&lt;/a&gt;Compare graduated and has now the &lt;span style="font-weight: bold;"&gt;1.0&lt;/span&gt; stamp ! It's seamlessly  integrated with CVS, SVN, GIT and can diff and merge any kind of models.&lt;br /&gt;&lt;br /&gt;Speaking about design, &lt;span style="font-weight: bold;"&gt; xText&lt;/span&gt; allows you to design your models using a textual syntax, that's pretty cool and the team worked hard this year, check it out !&lt;br /&gt;&lt;br /&gt;Once you design your stuffs, most of the time you want to transform that into something you can use for your development. There are basically two options here : &lt;span style="font-style: italic;"&gt;model to model&lt;/span&gt; transformation or&lt;span style="font-style: italic;"&gt; model to text&lt;/span&gt; transformation. Each one having pros and cons depending on your use case.&lt;br /&gt;&lt;br /&gt;Eclipse Galileo provides pretty much anything you might want to transform your models, some of them being based on standards :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Model To Text (aka code generation) :&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-weight: bold;"&gt;JET&lt;/span&gt; have been here for quite a long time now providing  a steady and stable code generation technology.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;XPand&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Acceleo &lt;/span&gt;joined the release train this year providing template langages with great tooling, debug mode, full featured editors...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Model To Model :&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;QVT Operationa&lt;/span&gt;l and &lt;span style="font-weight: bold;"&gt;ATL&lt;/span&gt; competes in the model to model area.&lt;br /&gt;&lt;br /&gt;Work on &lt;span style="font-weight: bold;"&gt;ATL&lt;/span&gt; has been focused on user interface and API, that means &lt;span style="font-weight: bold;"&gt;ATL&lt;/span&gt; is now easier to use from both an end-user point of view and developer point of view.&lt;br /&gt;&lt;br /&gt;I looooove the new wizards compared to the old one :)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SjOE0NylPyI/AAAAAAAAAJ4/dyT7lEvMEh4/s1600-h/atl3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 298px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SjOE0NylPyI/AAAAAAAAAJ4/dyT7lEvMEh4/s400/atl3.png" alt="" id="BLOGGER_PHOTO_ID_5346763215208791842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Acceleo&lt;/span&gt; is a complete rewrite from the Acceleo 2.x versions which made our team "Eclipse Award Winners". One of the thing which is cool with this rewrite is that from the beginning we're making sure the core generator is "standalone" and might be used without Eclipse, something we had a hard time to provide &lt;span style="font-style: italic;"&gt;a posteriori&lt;/span&gt; with Acceleo 2.X .  Another common need is the ability to easily launch your generation from your java code, it's most of the time quite tricky when you use your own language.&lt;br /&gt;&lt;br /&gt;The Acceleo team came with a nice solution : next to every "main-like" template we generate a Java class which is this template API. Then you can easily launch the generation, you just have to create an instance of this java class and launch it.&lt;br /&gt;&lt;br /&gt;Here is a small and dumb template  :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SjOtlT55rpI/AAAAAAAAAKA/BC87YWYoy08/s1600-h/acceleo-template.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SjOtlT55rpI/AAAAAAAAAKA/BC87YWYoy08/s400/acceleo-template.png" alt="" id="BLOGGER_PHOTO_ID_5346808039128805010" border="0" /&gt;&lt;/a&gt;And here is the corresponding Java launcher :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SjOto0yhUOI/AAAAAAAAAKI/vAJat8lbXUY/s1600-h/acceleo-java.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SjOto0yhUOI/AAAAAAAAAKI/vAJat8lbXUY/s400/acceleo-java.png" alt="" id="BLOGGER_PHOTO_ID_5346808099495825634" border="0" /&gt;&lt;/a&gt;Kicking your generation is just a class instantiation and a call to the &lt;span style="font-weight: bold;"&gt;doGenerate( &lt;/span&gt;method ! You have no excuse for not integrating your code generation into your editor.&lt;br /&gt;&lt;br /&gt;In a nutshell Galileo bring the best of modeling with pragmatic components, you can't miss that !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-6597968654399650768?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/6597968654399650768/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=6597968654399650768' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6597968654399650768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/6597968654399650768'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/06/quick-glimpse-at-galileo-modeling.html' title='Quick glimpse at Galileo Modeling Package'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u5tMWln_Ie8/SjOA5c4r7oI/AAAAAAAAAJo/25e-VYWfvW4/s72-c/ecoretools.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-8577426604884474196</id><published>2009-05-29T05:37:00.000-07:00</published><updated>2009-05-29T07:56:06.558-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='viewpoint'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><title type='text'>Viewpoints-enabled Modeling Tools</title><content type='html'>This post follows those showing how it's possible to leverage&lt;a href="http://model-driven-blogging.blogspot.com/2009/05/live-models-using-jboss-rules-drools.html"&gt; EMF and JBoss Drools&lt;/a&gt; to get an interactive model getting updated considering business rules,  and how you can get a set of &lt;a href="http://model-driven-blogging.blogspot.com/2009/05/20-minute-graphical-modeler-based-on.html"&gt;graphical modelers&lt;/a&gt; to ease your design tasks and provide feedback while you're building your system.&lt;br /&gt;&lt;br /&gt;Now let's focus on providing &lt;span style="font-style: italic;"&gt;"the right feedback at the right time"&lt;/span&gt;.  When you're designing a system, you're trying to reach the following goal : building it &lt;span style="font-weight: bold;"&gt;nicely&lt;/span&gt; and making sure it fits &lt;span style="font-weight: bold;"&gt;your requirements and contraints&lt;/span&gt;. You're always balancing between different concerns, your system simplicity, agility, performances, safety ...&lt;br /&gt;&lt;br /&gt;Having a good tooling for that is more than important, and the tooling failed since now :  it's always providing many more information or possible actions than what you actually need and not what's your focus&lt;span style="font-weight: bold;"&gt; right now&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Here comes the viewpoints &lt;a href="http://standards.ieee.org/reading/ieee/std_public/description/se/1471-2000_desc.html"&gt;(IEEE)&lt;/a&gt; ,  viewpoints enabled tooling is able to extends, hide, or provide new representations and actions depending on&lt;span style="font-weight: bold;"&gt; what you want to consider&lt;/span&gt;. As building a system is always a trade-off between multiples criteria, you don't want to be overwhelmed with all the constraints feedback, you just want to see &lt;span style="font-weight: bold;"&gt;relevant&lt;/span&gt; information and be able to do &lt;span style="font-weight: bold;"&gt;relevant&lt;/span&gt; actions. The concept is quite similar to the Eclipse perspectives.&lt;br /&gt;&lt;br /&gt;The first demo (a few minutes) provides an overview of the &lt;span style="font-style: italic;"&gt;tooling specification model&lt;/span&gt; we started in the last post. It's been completed with a few more representations, validation rules, and, more important, re-organized in term of &lt;span style="font-weight: bold;"&gt;viewpoints.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/Sh-3ZE0NAyI/AAAAAAAAAJY/bZpXkgra8KQ/s1600-h/flow_viewpointsdefinition.png"&gt;&lt;/a&gt;&lt;a href="http://literate.modeling.free.fr/modeling/designer/ViewpointsDefinition.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 283px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/Sh-3ZE0NAyI/AAAAAAAAAJY/bZpXkgra8KQ/s400/flow_viewpointsdefinition.png" alt="" id="BLOGGER_PHOTO_ID_5341189324502008610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The following demo (6 minutes) shows the usage of such a tooling, using  (again) the simple "Flow" example.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sh_HYmEdJyI/AAAAAAAAAJg/MYRwQDLNTPk/s1600-h/flow_viewpointsusage.png"&gt;&lt;/a&gt;&lt;a href="http://literate.modeling.free.fr/modeling/designer/UsingViewpoints.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 281px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sh_HYmEdJyI/AAAAAAAAAJg/MYRwQDLNTPk/s400/flow_viewpointsusage.png" alt="" id="BLOGGER_PHOTO_ID_5341206908434720546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Eclipse &lt;span style="font-weight: bold;"&gt;is&lt;/span&gt; great as a platform and enables you to build great tooling to that your users stay focused on their business issues (which are complex enough already) . That's what we are trying to achieve with this product.&lt;br /&gt;&lt;br /&gt;Moreover, &lt;span style="font-weight: bold;"&gt;Eclipse Modeling&lt;/span&gt; is a gem mine driven by enthusiastic people, don't wait and come with us, &lt;a href="http://msdn.microsoft.com/en-us/oslo/dd727740.aspx"&gt;resistance&lt;/a&gt; is futile ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-8577426604884474196?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/8577426604884474196/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=8577426604884474196' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8577426604884474196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8577426604884474196'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/05/viewpoints-enabled-modeling-tools.html' title='Viewpoints-enabled Modeling Tools'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/Sh-3ZE0NAyI/AAAAAAAAAJY/bZpXkgra8KQ/s72-c/flow_viewpointsdefinition.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1848800102029818548</id><published>2009-05-13T10:02:00.000-07:00</published><updated>2009-05-13T11:21:55.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graphical'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='viewpoint'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>The 20 minute Graphical Modeler based on Eclipse</title><content type='html'>My last post about the flow model simulation was really missing a demo so that you get the&lt;span style="font-weight: bold;"&gt; "live" &lt;/span&gt;aspect of the model construction. No problem, that's a good occasion to show you a secret product we've been building on&lt;span style="font-weight: bold;"&gt; top of the Eclipse Modeling projects&lt;/span&gt; since a few year now.  In my &lt;a href="http://model-driven-blogging.blogspot.com/2009/02/engineering-dictator-strikes-back.html"&gt;&lt;span style="font-style: italic;"&gt;dictator&lt;/span&gt; position&lt;/a&gt; on this product you can guess I'm quite excited to show you that, &lt;span style="font-weight: bold;"&gt;nothing public came out about it since now&lt;/span&gt; but the first public release is not so far...&lt;br /&gt;&lt;br /&gt;Let's stop the teasing and watch the content,  here are a few flash demos . If you're just interested in the resulting modeler, go directly to the last one showing the live model design. If you don't understand what's about that&lt;span style="font-style: italic;"&gt; flow &lt;/span&gt;stuff or if you're wondering how all that &lt;span style="font-style: italic;"&gt;load&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;capacities&lt;/span&gt; properties gets updated, have a look &lt;a href="http://model-driven-blogging.blogspot.com/2009/05/live-models-using-jboss-rules-drools.html"&gt;on my preceding post.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/SpecifyModeler.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 201px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SgsLjej2tHI/AAAAAAAAAJI/aKswPsPwwHM/s400/flowdiag_specify.png" alt="" id="BLOGGER_PHOTO_ID_5335370887677260914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The first demos are showing the graphical modeler construction. In a few clicks, just defining the concepts you want to display, how you want to display them and how to retrieve them in the semantic model. You get your modeler in a matter of minutes, and you really should not need more than that as it's quite simple.&lt;br /&gt;&lt;br /&gt;I really like the &lt;span style="font-weight: bold;"&gt;"specifying the modeler and using it side by side"&lt;/span&gt; feature even if you need a big display for that and here for the demo I have no choice than scrolling.&lt;br /&gt;&lt;br /&gt;The next demo is focused on defining&lt;span style="font-style: italic;"&gt; "conditional styles"&lt;/span&gt; so that the graphical shapes changes depending on the changes in the semantic model (node/edge sizes and colors), in this demo I also specify the fact that a &lt;span style="font-style: italic;"&gt;CompositeProcessor &lt;/span&gt;reuse the graphical mappings define for the diagram and that I should be able to create a sub diagram on a&lt;span style="font-style: italic;"&gt; CompositeProcessor.&lt;/span&gt;&lt;br /&gt;The request langage I'm using is &lt;span style="font-weight: bold;"&gt;Acceleo&lt;/span&gt;, but you could also use &lt;span style="font-weight: bold;"&gt;OCL&lt;/span&gt;, I tend to prefer simplicity ;)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/CustomizeModeler.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 293px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgsITi7AfhI/AAAAAAAAAJA/THMCeWSDCes/s400/flowdiag_customize.png" alt="" id="BLOGGER_PHOTO_ID_5335367315435322898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And at last, after a bit more tweaking  off stage, the usage of this finished &lt;span style="font-weight: bold;"&gt;dynamic modeler&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/designer/UsingModeler.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 163px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgsOObST5hI/AAAAAAAAAJQ/WKuM4Re4jt8/s400/flowdiag_usage.png" alt="" id="BLOGGER_PHOTO_ID_5335373824556000786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, &lt;span style="font-weight: bold;"&gt;to be fair&lt;/span&gt;, the final modeler is more a 25 minute modeler than 20, but that said, I get a first working modeler a the minute 10 of the first demo.&lt;br /&gt;&lt;br /&gt;Be sure that's only a tiny portion of what we've been able to achieve leveraging the Eclipse Modeling components (&lt;a href="http://www.eclipse.org/modeling/"&gt;EMF, GMF,&lt;/a&gt; &lt;a href="http://www.acceleo.org"&gt;Acceleo, &lt;/a&gt;&lt;a href="http://www.eclipse.org/modeling/emft/?project=compare#compare"&gt;Compare&lt;/a&gt; just naming a few...) and the Eclipse Platform :  graphic modeler are one thing, but other representation matters and I'm not even speaking about the "&lt;span style="font-style: italic;"&gt;full viewpoint suppor&lt;/span&gt;t".&lt;br /&gt;&lt;br /&gt;Stay tuned for more eye candy ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1848800102029818548?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1848800102029818548/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1848800102029818548' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1848800102029818548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1848800102029818548'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/05/20-minute-graphical-modeler-based-on.html' title='The 20 minute Graphical Modeler based on Eclipse'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u5tMWln_Ie8/SgsLjej2tHI/AAAAAAAAAJI/aKswPsPwwHM/s72-c/flowdiag_specify.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1036180728036140709</id><published>2009-05-05T09:03:00.000-07:00</published><updated>2009-05-07T07:52:42.284-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modeling kata'/><category scheme='http://www.blogger.com/atom/ns#' term='jboss drools'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='live model'/><category scheme='http://www.blogger.com/atom/ns#' term='emf'/><title type='text'>Live Models Using JBoss Rules (Drools) and EMF</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Modeling Kata &lt;/span&gt;here again !  Models are useful to describe things, systems, knowledge, basically any information you want to organize and formalize will gain in using a solid formalism like &lt;a href="http://www.eclipse.org/modeling/emf/"&gt;Ecore.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Structuring and describing is nice, but then most of the time you need to evaluate your design. You basically have choices here, one of them is using the validation tools so that any &lt;span style="font-style: italic;"&gt;"error in your design"&lt;/span&gt; is shown to you and so that you can fix it. The drawback of validation is that you can't easily get the &lt;span style="font-weight: bold;"&gt;big picture&lt;/span&gt; of your design quality corresponding to the constraints you defined.&lt;br /&gt;&lt;br /&gt;Who can  say that this bees invading my garden are organized in a nice or poor way ? That's definitely &lt;span style="font-weight: bold;"&gt;not a binary information&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_OJuY9x1lbxI/Se9tLzXRS_I/AAAAAAAAALU/ny6uKiFIev4/s1600-h/essaim_abeilles.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_OJuY9x1lbxI/Se9tLzXRS_I/AAAAAAAAALU/ny6uKiFIev4/s400/essaim_abeilles.jpg" alt="" id="BLOGGER_PHOTO_ID_5327596933736385522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Another approach is designing your models with tooling &lt;span style="font-weight: bold;"&gt;updating or self-constructing&lt;/span&gt; other part to gives you information about its quality. Let's take a (quite naive but still interesting ;) ) example :&lt;br /&gt;&lt;br /&gt;I defined a formalism for a "flow-like" langage, you can use it to describe &lt;span style="font-style: italic;"&gt;DataSources &lt;/span&gt;and &lt;span style="font-style: italic;"&gt;Processors  &lt;/span&gt;linked by &lt;span style="font-style: italic;"&gt;DataFlows.&lt;/span&gt;  &lt;span style="font-style: italic;"&gt;Processors&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;DataFlows&lt;/span&gt; are capacity bounded, which mean they've got a maximum capacity and under given load will be &lt;span style="font-style: italic;"&gt;iddling&lt;/span&gt; or &lt;span style="font-style: italic;"&gt;over used.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a class diagram displaying the simplest parts of the flow.ecore :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBrG2UiMCI/AAAAAAAAAIA/O-AZFjFMGSI/s1600-h/flow_ecore.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 319px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBrG2UiMCI/AAAAAAAAAIA/O-AZFjFMGSI/s400/flow_ecore.png" alt="" id="BLOGGER_PHOTO_ID_5332379724211695650" border="0" /&gt;&lt;/a&gt;Here I'm mixing both the information I'll describe (a given system with &lt;span style="font-style: italic;"&gt;datasources, processors&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;flows) &lt;/span&gt;and the feedback about my design (the flow element usage).&lt;br /&gt;&lt;br /&gt;Note that every element here might be activated or not (see the &lt;span style="font-style: italic;"&gt;FlowElementStatus&lt;/span&gt; enumeration).&lt;br /&gt;&lt;br /&gt;Now to define my rules updating each values considering the overall model, I basically have the choice either to implement that in Java, or use a Rules Engine. Implementing in Java might look like a good idea but you'll quickly realise that :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;adapting the rules to a constraints which are specific for a project will make you redeploy everything&lt;/li&gt;&lt;li&gt;you'll write code to browse everywhere in the model and update the values depending on your browsing result, and with big models you'll get poor performances&lt;/li&gt;&lt;/ul&gt;That said, this exercise is interesting and might be the subject of another kata.&lt;br /&gt;&lt;br /&gt;You bet I picked the Rules Engine, so that I can get my hands dirty with those strange beasts you (most of the time) never ever want to meet again after you graduated.  I picked &lt;a href="http://www.jboss.org/drools/"&gt;JBoss Drool&lt;/a&gt;&lt;a href="http://www.jboss.org/drools/"&gt;s&lt;/a&gt; which seemd just nice, powerfull, and based on an implementation of a &lt;a href="http://en.wikipedia.org/wiki/Rete_algorithm"&gt;Rete-like algorithm&lt;/a&gt;  - which make it fast - and I have to admit I liked their logo is really cool.&lt;br /&gt;&lt;br /&gt;EMF and Drools are going along really nicely. Drools considers your Java instances as &lt;span style="font-weight: bold;"&gt;facts&lt;/span&gt; and is then really easy to integrate with EMF. EMF provides the generic notification mechanism which make it really easy to integrate with drools so that drools know that something changed and that he might have some work to do.&lt;br /&gt;&lt;br /&gt;Here is the result, let's design a flow related to my work :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBulP6_2gI/AAAAAAAAAII/ZXC36cNQlO8/s1600-h/flow1_datasource_freddy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 113px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBulP6_2gI/AAAAAAAAAII/ZXC36cNQlO8/s400/flow1_datasource_freddy.png" alt="" id="BLOGGER_PHOTO_ID_5332383545014868482" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Freddy&lt;/span&gt; is a datasource which produces lots of information (8). He's inactive right now (see the red icon ;) )&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SgBu5DP-uOI/AAAAAAAAAIQ/57gBnW_QnyM/s1600-h/flow2_datasourcesready.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 176px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SgBu5DP-uOI/AAAAAAAAAIQ/57gBnW_QnyM/s400/flow2_datasourcesready.png" alt="" id="BLOGGER_PHOTO_ID_5332383885210597602" border="0" /&gt;&lt;/a&gt;Let's add &lt;span style="font-style: italic;"&gt;Laurent&lt;/span&gt; which is way more quiet,&lt;span style="font-style: italic;"&gt; "Me" &lt;/span&gt;which is a processor both being a flow target and a flow source, as I'm providing data to&lt;span style="font-style: italic;"&gt; "My Computer"&lt;/span&gt;. My Capacity is 10,  my computer has way more capacity than me.&lt;br /&gt;&lt;br /&gt;Let's connect everybody with &lt;span style="font-style: italic;"&gt;DataFlows&lt;/span&gt;, each of them having a max capacity of 10.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Freddy&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Laurent&lt;/span&gt; are both connected to &lt;span style="font-style: italic;"&gt;Me, &lt;/span&gt;and I'm connected to &lt;span style="font-style: italic;"&gt;My Computer&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SgBvdIgwDsI/AAAAAAAAAIY/PSw8Q-kvT4c/s1600-h/flow3_dataflows_connected.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 181px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SgBvdIgwDsI/AAAAAAAAAIY/PSw8Q-kvT4c/s400/flow3_dataflows_connected.png" alt="" id="BLOGGER_PHOTO_ID_5332384505098407618" border="0" /&gt;&lt;/a&gt;Everybody is inactive, let's activate some part of the system : &lt;span style="font-style: italic;"&gt;Me&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;My Computer&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBvwgsB5kI/AAAAAAAAAIg/NgkkaIpXUIw/s1600-h/flow4_activate_me.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 180px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBvwgsB5kI/AAAAAAAAAIg/NgkkaIpXUIw/s400/flow4_activate_me.png" alt="" id="BLOGGER_PHOTO_ID_5332384838005679682" border="0" /&gt;&lt;/a&gt;As long as &lt;span style="font-style: italic;"&gt;Freddy&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;Laurent&lt;/span&gt; are not there, everything is fine, my usage is&lt;span style="font-style: italic;"&gt; "low"&lt;/span&gt;.&lt;br /&gt;Activating elements in the editor, everything gets updated "on the fly" and the labels are reflecting the current usage of an element.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBwSZ0MeeI/AAAAAAAAAIo/SG_t4EVZt_o/s1600-h/flow5_activate_laurent.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 207px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBwSZ0MeeI/AAAAAAAAAIo/SG_t4EVZt_o/s400/flow5_activate_laurent.png" alt="" id="BLOGGER_PHOTO_ID_5332385420276431330" border="0" /&gt;&lt;/a&gt;Now &lt;span style="font-style: italic;"&gt;Laurent&lt;/span&gt; is activated. Everything is still fine (you kind a guess the next step, right ? ;) )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBwd_G2SdI/AAAAAAAAAIw/RChPwgnFhjc/s1600-h/flow6_activate_freddy.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 159px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SgBwd_G2SdI/AAAAAAAAAIw/RChPwgnFhjc/s400/flow6_activate_freddy.png" alt="" id="BLOGGER_PHOTO_ID_5332385619265341906" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;Freddy&lt;/span&gt; is activated, I'm over stressed (see the red) and even the dataflow from &lt;span style="font-style: italic;"&gt;Freddy&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;me&lt;/span&gt; has quite an high usage (orange color).&lt;br /&gt;&lt;br /&gt;So now I have different options, I can redesign my system in a way that the capacities are higher (for me and/or the dataflow), or split parts of the Freddy flow and distribute it on other processors. I'll be able to try every solution, activate/desactivate elements, and &lt;span style="font-weight: bold;"&gt;see if my system is meeting my constraints or not.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now let's have a look on how I did that...&lt;br /&gt;&lt;br /&gt;Here are the rules I'm using, quite straightforward and it's easy to put more rules expressing really complicated constraints.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBxQrq11fI/AAAAAAAAAI4/kRj-4I5LQ98/s1600-h/drools_rules.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 368px; height: 400px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SgBxQrq11fI/AAAAAAAAAI4/kRj-4I5LQ98/s400/drools_rules.png" alt="" id="BLOGGER_PHOTO_ID_5332386490220926450" border="0" /&gt;&lt;/a&gt;This language is dedicated to the logic rules definition and is, as a matter of fact, good at it.&lt;br /&gt;&lt;br /&gt;Mixing drools and EMF has just been about setting up an adapter on my resource when loading the model, then if something gets updated, EMF tell drools which instance changed, and drools fire the corresponding rules, chaining them if needed.&lt;br /&gt;&lt;br /&gt;I'm not the first one doing that, googling a bit you'll &lt;a href="http://www.sts.tu-harburg.de/pw-and-m-theses/2006/tibr06.pdf"&gt;find papers.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Quick reminder of what's nice with this approach :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;not re-inventing the wheel again&lt;/li&gt;&lt;li&gt;great expressiveness for your rules&lt;br /&gt;&lt;/li&gt;&lt;li&gt;great performances even with many many many rules&lt;/li&gt;&lt;li&gt;rules are easy to customize and you don't need to change your code to consider new construction rules.&lt;/li&gt;&lt;/ul&gt;Stay tuned and&lt;span style="font-weight: bold;"&gt; feel free to provide feedback&lt;/span&gt; on a similar or different approach !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1036180728036140709?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1036180728036140709/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1036180728036140709' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1036180728036140709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1036180728036140709'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/05/live-models-using-jboss-rules-drools.html' title='Live Models Using JBoss Rules (Drools) and EMF'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_OJuY9x1lbxI/Se9tLzXRS_I/AAAAAAAAALU/ny6uKiFIev4/s72-c/essaim_abeilles.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-3773848005745087417</id><published>2009-04-24T05:55:00.000-07:00</published><updated>2009-05-07T07:53:21.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipsecon'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Award Winning Acceleo moving to Eclipse</title><content type='html'>Thank you from the&lt;span style="font-weight: bold;"&gt; Acceleo Team &lt;/span&gt;&lt;span style="font-style: italic;"&gt;(unfortunately not complete here, have a look on the team pages for &lt;a href="http://www.acceleo.org/pages/contacts"&gt;core&lt;/a&gt; and &lt;a href="http://www.acceleo.org/pages/contacts-des-modules/"&gt;modules&lt;/a&gt;)&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SfHEb0GwU2I/AAAAAAAAAH4/TAhk-tqIxVw/s1600-h/acceleo_core_team.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 306px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SfHEb0GwU2I/AAAAAAAAAH4/TAhk-tqIxVw/s400/acceleo_core_team.png" alt="" id="BLOGGER_PHOTO_ID_5328255816278496098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks for all the people involved in Acceleo's winning the "&lt;a href="http://www.eclipse.org/org/foundation/eclipseawards/index.php"&gt;&lt;em&gt;Best Open Source&lt;/em&gt; Eclipse-Based Developer Too&lt;/a&gt;l" price this year.  No doubt you'll be quite pleased to hear that "&lt;span style="font-weight: bold;"&gt;Next-gen Acceleo&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;development is taking place in Eclipse.org&lt;/span&gt; ", &lt;a href="http://www.eclipse.org/modeling/m2t/?project=acceleo#acceleo"&gt;right there&lt;/a&gt;, in the M2T project.&lt;br /&gt;&lt;br /&gt;The next-gen Acceleo has many differences with the Acceleo.org one, especially :&lt;br /&gt;&lt;ul&gt;&lt;li&gt; efficient &lt;span style="font-weight: bold;"&gt;standalone&lt;/span&gt; support right now, that means you can reuse the generation engine even outside of an Eclipse or OSGi context, just put the EMF and OCL jars and you're done.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; a new &lt;span style="font-weight: bold;"&gt;statically typed&lt;/span&gt; syntax based on the MTL OMG standard&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;aspect-like patterns&lt;/span&gt; to extends existing cartridges.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; automatically generated &lt;span style="font-weight: bold;"&gt;Java API &lt;/span&gt;for your generation module. It's then really easy to leverage a generation cartridge from your own action or wizard.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;But we keep the fondamentals that made Acceleo.org a success, especially:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Pragmatic vision&lt;/span&gt; : let's make it easy for the 95% stuffs everybody does, let's put Java extension for the remaining 5% stuffs not everybody needs.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Nifty tooling&lt;/span&gt; : debug, completion, show references, open declaration, highlighting, markers, any feature you expect from an Eclipse Editor is there.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt; &lt;span style="font-weight: bold;"&gt;Community&lt;/span&gt; : the Acceleo.org community has been pretty active in providing a full set of "ready to use cartridges" for a lot of technologies (JEE, PHP, C, Python, C#...).  No doubt this community will follow the project on Eclipse and expects nice pragmatic generators. &lt;a href="http://www.eclipse.org/proposals/eef/"&gt;EEF&lt;/a&gt; is opening the path.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Want's more ? &lt;/span&gt;Here are a few &lt;span style="font-weight: bold;"&gt;demos&lt;/span&gt; :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Creating a new project From a Sample&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/acceleo/07-acceleo-new-module.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 332px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SfG9XsroT-I/AAAAAAAAAHo/OKJaK_vtvH0/s400/newproject.png" alt="" id="BLOGGER_PHOTO_ID_5328248048984805346" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Acceleo Eclipse Tooling&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/acceleo/06-acceleo-editor-features.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 330px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SfG9PcegiMI/AAAAAAAAAHg/yOAQXvYTXtA/s400/editors.png" alt="" id="BLOGGER_PHOTO_ID_5328247907195848898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Overview of the Acceleo Syntax&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/acceleo/05-acceleo-syntax.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 333px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SfG9E3zWI_I/AAAAAAAAAHY/aaEqWHCdEYU/s400/syntax.png" alt="" id="BLOGGER_PHOTO_ID_5328247725552444402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Migrating from the old syntax to the new one&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://literate.modeling.free.fr/modeling/acceleo/10-acceleo-migrate.htm"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 331px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SfG84zaQ8UI/AAAAAAAAAHQ/yFx48PBeQhY/s400/migrate.png" alt="" id="BLOGGER_PHOTO_ID_5328247518215074114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Want's &lt;span style="font-style: italic;"&gt;more and more&lt;/span&gt; ? Acceleo is part of Galileo and &lt;a href="http://www.eclipse.org/modeling/m2t/downloads/?project=acceleo"&gt;builds are provided&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Do not hesitate to have a try and give feedback on the M2T newsgroup !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-3773848005745087417?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/3773848005745087417/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=3773848005745087417' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3773848005745087417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3773848005745087417'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/04/award-winning-acceleo-moving-to-eclipse.html' title='Award Winning Acceleo moving to Eclipse'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/SfHEb0GwU2I/AAAAAAAAAH4/TAhk-tqIxVw/s72-c/acceleo_core_team.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-3216829464798897423</id><published>2009-03-25T13:49:00.000-07:00</published><updated>2009-05-07T08:06:17.370-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipsecon'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Modeling your EclipseCon</title><content type='html'>EclipseCon has been going on for a few days now, and I'm quite happy to say this year's event is great, especially concerning the social interactions. I've been coming here in Santa Clara for a few years now and I had the pleasure to meet, in real life, many of the Eclipse commiters and contributors. That's why going back there now also mean seeing friendly people &lt;span&gt;again and &lt;span style="font-weight: bold;"&gt;having great time&lt;/span&gt; with them.&lt;br /&gt;&lt;br /&gt;It started with the AC meeting on Sunday, which Martin perfectly handled (as usual). It's really nice, for a newcomer in these councils like me, to see that things are going on, and that people are pushing stuffs to make it real ! So please, do not hesitate to &lt;a href="http://www.eclipsecon.org/2009/sessions?id=527"&gt;ask the AC !&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It continued with the tutorials which really helps newcomers to adopt and understand our technologies. That was the occasion to meet many new people which is kind of a refreshing thing :)&lt;br /&gt;&lt;br /&gt;From the &lt;span style="font-weight: bold;"&gt;Modeling&lt;/span&gt; perspective, this years also opens a lot of opportunities, despite the fact that&lt;a href="http://ed-merks.blogspot.com/"&gt; our benevolent dicator  &lt;/a&gt;is not with us right now,  our community is really active and &lt;span style="font-weight: bold;"&gt;pragmatically tackles real world problems&lt;/span&gt;. The modeling BOF was a good example of that, and may be even a bit too much. We have not been able to have a really controversial debate as usual, I guess people keep that kind of stuffs for the numerous e4 events during EclipseCon !&lt;br /&gt;&lt;br /&gt;One of the BOF result you'll soon experiment is that more "business cases" of successful usage of the modeling technologies will be advertised. Basically everybody in the BOF had at least one successful customer story to tell and that kind of feedback could be valuable for the community as a whole.&lt;br /&gt;&lt;br /&gt;Speaking about pragmatic implementations and success, my talk about EMF Compare went really well, the room was filled with people already using, or interested in using modeling !  The corresponding slides are (at last) here :&lt;br /&gt;&lt;div style="width: 425px; text-align: left;" id="__ss_1197177"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/cbrun/team-work-with-models-web?type=presentation" title="Team Work With Models Web"&gt;Team Work With Models Web&lt;/a&gt;&lt;object style="margin: 0px;" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamworkwithmodelsweb-090325124454-phpapp02&amp;amp;stripped_title=team-work-with-models-web"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=teamworkwithmodelsweb-090325124454-phpapp02&amp;amp;stripped_title=team-work-with-models-web" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"&gt;View more &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/cbrun"&gt;cbrun&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;unfortunately the demo links have been lost during the slides upload, you can watch the talk demos  :&lt;br /&gt;&lt;a href="http://literate.modeling.free.fr/modeling/compare/CompareUMLLibrary.htm"&gt;Metamodel agnostic diff/merge supporting multiple ressources&lt;/a&gt;&lt;br /&gt;&lt;a href="http://literate.modeling.free.fr/modeling/compare/CompareEcoreCVS.htm"&gt;Platform Team API integration (CVS, SVN and GIT) &lt;/a&gt;&lt;br /&gt;&lt;a href="http://literate.modeling.free.fr/modeling/compare/GMFCompareEcoredi.htm"&gt;Graphical modelers integration (draft) &lt;/a&gt;&lt;br /&gt;&lt;a href="http://literate.modeling.free.fr/modeling/compare/EPatch.htm"&gt;EPatch feature&lt;/a&gt;&lt;br /&gt;&lt;a href="http://literate.modeling.free.fr/modeling/compare/ExportEmfDiffAndMTLLibrary.htm"&gt;&lt;br /&gt;Extensible diff model export  &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Among the interesting questions I had at the end one was : &lt;span style="font-style: italic;"&gt;"Can EMF Compare is not able to compare a 50Mb model ? I tried and it crashed" &lt;/span&gt;- well, that's right, no doubt there is room for optimisation in the generic match engine used by EMF Compare, but  comparing two versions of a whole huge model seems quite inappropriate most of the time, that's basically the same thing as if you would like to compare your C: drive with your D: drive, what's the point ?&lt;br /&gt; EMF Compare 0.9 (soon to be 1.0) now supports model fragments, just split your models !&lt;br /&gt;  hat said, some of the use case for such a model (and even way bigger) stays valid and that's why I launched the &lt;a href="http://wiki.eclipse.org/Google_Summer_of_Code_2009_Ideas"&gt;GSOC idea &lt;/a&gt;about "comparing huge models" - by huge I mean millions of elements or more.  That requires a very different algorithm, and specific handling of the "runtime data" needed to compare the models. &lt;span style="font-weight: bold;"&gt;Interesting subject indeed !&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The good news is that seems like this subject is interesting students, great ! go ahead ! and provide a great application !&lt;br /&gt;&lt;br /&gt;Another proof that pragmatism with modeling helps , Acceleo won the "&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Best Open Source Eclipse-Based Developer Tool&lt;/span&gt;" , I'm really sorry not being able to get my pictures from my camera right now because  it contains a proof that girls can't&lt;span&gt;&lt;br /&gt;resist on a kiss from a french guy, just imagine the picture with Jonathan and Lynn ;) . We've got an high standard to keep !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned as EclipseCon is not over, I'll come back with even more event reports and "imaginary pictures"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-3216829464798897423?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/3216829464798897423/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=3216829464798897423' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3216829464798897423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/3216829464798897423'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/03/modeling-your-eclipsecon.html' title='Modeling your EclipseCon'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-7945694064996685286</id><published>2009-03-10T08:46:00.000-07:00</published><updated>2009-05-07T08:06:52.391-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Eclipse Modeling Summer of Code 2009</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.eclipse.org/soc/images/soc.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 318px; height: 197px;" src="http://www.eclipse.org/soc/images/soc.png" alt="" border="0" /&gt;&lt;/a&gt;Yes, summer is coming fast, and if you're a student interested in software development and engineering, Eclipse is a great place for a &lt;span style="font-weight: bold;"&gt;Summer of Code &lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;New ideas are still appearing on the&lt;a href="http://wiki.eclipse.org/index.php?title=Google_Summer_of_Code_2009_Ideas"&gt; wiki page&lt;/a&gt; and no doubt you'll get many more in a few weeks. Let me highlight some of the cool subjects you might apply for if you're interested in modeling.&lt;br /&gt;&lt;br /&gt;Let's speak about &lt;a href="http://wiki.eclipse.org/EMF_Compare"&gt;EMF Compare&lt;/a&gt;, we tried to focus on &lt;span style="font-weight: bold;"&gt;cool stuffs&lt;/span&gt; as that's what open source is about.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SbaR8r4bmoI/AAAAAAAAAHA/B4TbgXJshwU/s1600-h/Java3DFeedbackFigure.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 156px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SbaR8r4bmoI/AAAAAAAAAHA/B4TbgXJshwU/s200/Java3DFeedbackFigure.jpg" alt="" id="BLOGGER_PHOTO_ID_5311593282287671938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;First, the &lt;span style="font-weight: bold;"&gt;3D visualization&lt;/span&gt; !  Using EMF Compare, the GMF Diagram support and &lt;a href="http://www.eclipse.org/proposals/gef3d/"&gt;GEF 3D&lt;/a&gt;, one can imagine to get a nice "time machine like" visualization of the model differences.  One can easily imagine really nice representation using that third dimension, we have to display two (or three) versions of a diagram annotating the diagram elements with graphical hints saying "that's a new element", or "this one has been changed", so 3D can make sense here.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SbaUoRH0gMI/AAAAAAAAAHI/5KnBAUQTT_M/s1600-h/Stub1.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 169px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SbaUoRH0gMI/AAAAAAAAAHI/5KnBAUQTT_M/s200/Stub1.png" alt="" id="BLOGGER_PHOTO_ID_5311596230041960642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Second :&lt;span style="font-weight: bold;"&gt; huge models comparison &lt;span style="font-weight: bold;"&gt;, &lt;/span&gt;&lt;/span&gt;by huge we mean &lt;span style="font-weight: bold;"&gt;really&lt;/span&gt; huge like millions of elements. EMF Compare uses an heuristic-based algorithm to compare two models, while doing so its keeping processing data in memory (more important the models are,  the more memory is used).  The subject is two folds : first design and implements a MatchEngine needing less stuffs in memory, then leverage Eclipse technologies like &lt;a href="http://www.eclipse.org/modeling/emf/?project=cdo#cdo"&gt;CDO&lt;/a&gt; or &lt;a href="http://www.eclipse.org/modeling/emft/?project=jcrm"&gt;JCRManagement&lt;/a&gt; in order to break the memory bound ! That may seems trivial, but when you need to process a lot of data, &lt;a href="http://scienceblogs.com/goodmath/2008/11/scale_how_large_quantities_of.php"&gt;many parameters are changing.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Third : improving the "&lt;span style="font-weight: bold;"&gt;Graphical Compare&lt;/span&gt;'" proof of concept initiated by Tobias (&lt;a href="http://literate.modeling.free.fr/modeling/compare/GMFCompareEcoredi.htm"&gt;flash demo here&lt;/a&gt;) .&lt;br /&gt;&lt;br /&gt;Many more ideas are available and looks really cool especially in the modeling area, so If you're a student, jump and meet the &lt;span style="font-weight: bold;"&gt;Eclipse Community&lt;/span&gt; !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-7945694064996685286?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/7945694064996685286/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=7945694064996685286' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/7945694064996685286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/7945694064996685286'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/03/eclipse-modeling-summer-of-code-2009.html' title='Eclipse Modeling Summer of Code 2009'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u5tMWln_Ie8/SbaR8r4bmoI/AAAAAAAAAHA/B4TbgXJshwU/s72-c/Java3DFeedbackFigure.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-8765541702991355228</id><published>2009-03-04T05:23:00.000-08:00</published><updated>2009-05-07T08:07:13.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ui testing'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>ShuangXi effect : UI testing and documentation</title><content type='html'>In my never-ending quest of ideas or tools to &lt;span style="font-weight: bold;"&gt;avoid doing boring stuff&lt;/span&gt; (that sacred goal explains my interest in pragmatic modeling), I made quite a victory today thanks to one of those gems you find in Eclipse.&lt;br /&gt;&lt;br /&gt;Here I'm speaking about the&lt;span style="font-weight: bold;"&gt; help/tutorials&lt;/span&gt; you get in the Eclipse help menu.&lt;br /&gt;We often add many many screenshots in the tutorial but this tiny litle idea of "showing stuff to the user" may have a  huge cost ! The drawback of using such images in the help is that as the tool evolve the ui do so,  and the tutorial screenshots are quickly really different from the real tool user interface.&lt;br /&gt;Then you even have to recapture screenshots for at every release, or just decide that "&lt;span style="font-weight: bold;"&gt;a real doc has no screenshots&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Both are &lt;span style="font-weight: bold;"&gt;inadmissible, &lt;/span&gt;one idea would be to integrate this "screen capture" step in the build process and automatically capture the wizards, views or properties.  Then, you would even be able to &lt;span style="font-weight: bold;"&gt;localize your documentation screenshots &lt;/span&gt;starting this process for every localization you have. You've got pretty much any thing you need, right now thanks to Eclipse, to do that.&lt;br /&gt;&lt;br /&gt;The gem I mentioned is &lt;a href="http://www.eclipse.org/swtbot/"&gt;SWTBot &lt;/a&gt;, thanks to this litle tool I quickly managed to get a basic test scenario working to test UI. Even if testing is important, and testing UI is tricky, here my goal was to produce the screenshots from the tests, here is the code (it anybody knows how to highlight code with blogger...):&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;bot.view("Welcome").close();&lt;br /&gt;&lt;br /&gt;bot.menu("Window").menu("Open Perspective").menu("Other...").click();&lt;br /&gt;SWTBotShell openPerspectiveShell = bot.shell("Open Perspective");&lt;br /&gt;openPerspectiveShell.activate();&lt;br /&gt;&lt;br /&gt;bot.table().select("Acceleo");&lt;br /&gt;captureScreenshot("1-switch-perspective.png");&lt;br /&gt;bot.button("OK").click();&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6GLMuNNLI/AAAAAAAAAG4/AbnjaM7dp7U/s1600-h/1-switch-perspective.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 266px; height: 320px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6GLMuNNLI/AAAAAAAAAG4/AbnjaM7dp7U/s320/1-switch-perspective.png" alt="" id="BLOGGER_PHOTO_ID_5309328537668105394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;bot.menu("File").menu("New").menu("Project...").click();&lt;br /&gt;SWTBotShell newProjectShell = bot.shell("New Project");&lt;br /&gt;newProjectShell.activate();&lt;br /&gt;bot.tree().expandNode("Acceleo").getNode("Generator Project").select();&lt;br /&gt;captureScreenshot("2-new-generator-project.png");&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6FQFBJiZI/AAAAAAAAAGQ/fHBLvH_QWlY/s1600-h/2-new-generator-project.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6FQFBJiZI/AAAAAAAAAGQ/fHBLvH_QWlY/s320/2-new-generator-project.png" alt="" id="BLOGGER_PHOTO_ID_5309327521987791250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;     bot.button("Next &gt;").click();&lt;br /&gt;bot.text().setText("org.acceleo.uml2.gen.java");&lt;br /&gt;captureScreenshot("3-new-generator-step1.png");&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sa6FYO_U8vI/AAAAAAAAAGY/TwG42ilJ8Ao/s1600-h/3-new-generator-step1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sa6FYO_U8vI/AAAAAAAAAGY/TwG42ilJ8Ao/s320/3-new-generator-step1.png" alt="" id="BLOGGER_PHOTO_ID_5309327662103458546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;bot.button("Finish").click();&lt;br /&gt;&lt;br /&gt;bot.waitUntil(Conditions.shellCloses(newProjectShell));&lt;br /&gt;captureScreenshot("4-generator-project-done.png");&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/Sa6FeHfSSbI/AAAAAAAAAGg/ZMsLD3z8wnQ/s1600-h/4-generator-project-done.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 239px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/Sa6FeHfSSbI/AAAAAAAAAGg/ZMsLD3z8wnQ/s320/4-generator-project-done.png" alt="" id="BLOGGER_PHOTO_ID_5309327763169233330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;bot.menu("File").menu("New").menu("Empty Generator").click();&lt;br /&gt;SWTBotShell newTemplateShell = bot.shell("New");&lt;br /&gt;newTemplateShell.activate();&lt;br /&gt;captureScreenshot("5-new-template-wizard.png");&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sa6Fj_1ZtVI/AAAAAAAAAGo/7LMoutCcWkE/s1600-h/5-new-template-wizard.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/Sa6Fj_1ZtVI/AAAAAAAAAGo/7LMoutCcWkE/s320/5-new-template-wizard.png" alt="" id="BLOGGER_PHOTO_ID_5309327864193725778" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;bot.comboBox().setSelection("http://www.eclipse.org/uml2/2.1.0/UML");&lt;br /&gt;bot.comboBox(1).setSelection("uml.Class");&lt;br /&gt;captureScreenshot("6-new-template-wizard-full.png");&lt;br /&gt;&lt;/tt&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6Ftf1UNUI/AAAAAAAAAGw/Qs2yzyzlGB0/s1600-h/6-new-template-wizard-full.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 320px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6Ftf1UNUI/AAAAAAAAAGw/Qs2yzyzlGB0/s320/6-new-template-wizard-full.png" alt="" id="BLOGGER_PHOTO_ID_5309328027402122562" border="0" /&gt;&lt;/a&gt;That's the&lt;a href="http://en.wikipedia.org/wiki/Double_Happiness_%28calligraphy%29"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;喜喜&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt; (ShuangXi)&lt;/a&gt; effect, you roughly test your UI &lt;span style="font-weight: bold;"&gt;and&lt;/span&gt; you get your screenshots !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ps : special "Hi" to the unique Guangzhou visitor I had on this blog so far :)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-8765541702991355228?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/8765541702991355228/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=8765541702991355228' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8765541702991355228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8765541702991355228'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/03/shuangxi-effect-ui-testing-and.html' title='ShuangXi effect : UI testing and documentation'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u5tMWln_Ie8/Sa6GLMuNNLI/AAAAAAAAAG4/AbnjaM7dp7U/s72-c/1-switch-perspective.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-8666280745850019187</id><published>2009-02-17T08:44:00.000-08:00</published><updated>2009-05-07T08:07:35.197-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modeling kata'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='software engineering'/><title type='text'>Engineering dictator strikes back : querying your team repository</title><content type='html'>That post inaugurate a series of &lt;span style="font-weight: bold;"&gt;"modeling kata"'s&lt;/span&gt;. Modeling kata's are about basic usage of Eclipse modeling and related technologies to create fun stuffs, and more importantly doing it again and again using different ways and analysing the pros and cons of each solution.  Of course the "kata" terminology &lt;a href="http://pragdave.pragprog.com/"&gt;is not from me.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Let's introduce the problem :&lt;br /&gt;&lt;br /&gt;Taking my role of&lt;span style="font-weight: bold;"&gt; " &lt;strike&gt;Non&lt;/strike&gt; Benevolent Dictator for Life&lt;/span&gt; " &lt;a href="http://www.obeo.fr/"&gt;at work &lt;/a&gt;seriously, I like to keep an eye on the source code history of our products; on the mass of changes and on the places where the changes are made.&lt;br /&gt;&lt;br /&gt;That was the idea behind the teamlog2rss.py script I wrote last year.  But now, going a bit further in the "big brother" concepts, I hacked a small EMF model to retrieve the logs from the team repository and to generate reports, I'm then able to analyze the log messages and file uri's :)&lt;br /&gt;&lt;br /&gt;The model is straightforward, here is a quick extract of the result :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SZr29ji1-FI/AAAAAAAAAF4/qzOj-W9IvE8/s1600-h/teammodel..png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 223px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SZr29ji1-FI/AAAAAAAAAF4/qzOj-W9IvE8/s400/teammodel..png" alt="" id="BLOGGER_PHOTO_ID_5303823048556017746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The model implementation is querying &lt;a href="http://www.eclipse.org/subversive/"&gt;Subversive &lt;/a&gt;to retrieve the logs through a "derived reference". That solution is quite crappy as accessing the model means going through the network (meaning - that's slow), but the advantage is  : my EMF model is a plain old EMF model, and as such any tool will work with it.&lt;br /&gt;&lt;br /&gt;Then I'm producing reports using &lt;a href="http://www.acceleo.org/pages/accueil/"&gt;Acceleo&lt;/a&gt;, for each week and commiter, I'm checking:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;how many changes have been made&lt;br /&gt;&lt;/li&gt;&lt;li&gt;how many unique files have been changed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;how many tests have been changed&lt;/li&gt;&lt;li&gt;how many "happy checkstyle" commits were done&lt;/li&gt;&lt;li&gt;commit activity concerning "bugfixing"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;how many "happy boyscout" commits were done&lt;/li&gt;&lt;/ul&gt;here is an extract of the M2T template:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SZr24t1WZfI/AAAAAAAAAFw/VXXtkzusc8U/s1600-h/teamtemplate.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 255px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SZr24t1WZfI/AAAAAAAAAFw/VXXtkzusc8U/s400/teamtemplate.png" alt="" id="BLOGGER_PHOTO_ID_5303822965418649074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm then able to generate HTML, and even generate a small uri for Google charts to get nice pictures:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://chart.apis.google.com/chart?chs=400x120&amp;amp;cht=lc&amp;amp;chd=t:118,171,131,79,170,52,144,252,155,275,190,108,56,76,145,97,110,165,154,82,107,141,101,67,76,76,325,94,225,79,76,58,225,70,133,249,160,196,70,82%7C223,781,734,1251,740,454,509,1539,1058,1670,3135,1040,1969,524,1529,504,1887,1772,1488,3002,914,1570,649,153,237,372,375,127,341,439,398,599,1699,648,1253,1352,1451,2524,324,752%7C223,781,734,1251,740,454,509,1539,1058,1670,3135,1040,1969,524,1529,504,1887,1772,1488,3002,914,1570,649,153,237,372,375,127,341,439,398,599,1699,648,1253,1352,1451,2524,324,752%7C18,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%7C0,0,0,0,2,0,0,0,1,4,1,0,0,0,6,0,15,2,15,4,2,12,11,2,4,1,356,85,221,13,22,1,2,2,41,99,74,21,28,31%7C114,537,322,483,340,3,288,619,659,923,1247,567,266,278,1232,94,50,97,19,0,78,700,2,0,1,0,0,6,14,0,6,13,2,6,0,0,13,14,32,20%7C10,80,34,62,139,4,56,24,6,21,61,11,5,6,7,37,62,8,22,130,33,23,44,18,15,46,10,12,35,23,24,27,7,34,5,6,3,52,6,1&amp;amp;chco=fcaf3e,8ae234,729fcf,ad7fa8,fce94f,e9b96e,888a85&amp;amp;chdl=commits%7C%20changed%20files%7C%20boyscout%7Ccheckstyle%7Cbugfixing%7Ctesting"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 120px;" src="http://chart.apis.google.com/chart?chs=400x120&amp;amp;cht=lc&amp;amp;chd=t:118,171,131,79,170,52,144,252,155,275,190,108,56,76,145,97,110,165,154,82,107,141,101,67,76,76,325,94,225,79,76,58,225,70,133,249,160,196,70,82%7C223,781,734,1251,740,454,509,1539,1058,1670,3135,1040,1969,524,1529,504,1887,1772,1488,3002,914,1570,649,153,237,372,375,127,341,439,398,599,1699,648,1253,1352,1451,2524,324,752%7C223,781,734,1251,740,454,509,1539,1058,1670,3135,1040,1969,524,1529,504,1887,1772,1488,3002,914,1570,649,153,237,372,375,127,341,439,398,599,1699,648,1253,1352,1451,2524,324,752%7C18,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0%7C0,0,0,0,2,0,0,0,1,4,1,0,0,0,6,0,15,2,15,4,2,12,11,2,4,1,356,85,221,13,22,1,2,2,41,99,74,21,28,31%7C114,537,322,483,340,3,288,619,659,923,1247,567,266,278,1232,94,50,97,19,0,78,700,2,0,1,0,0,6,14,0,6,13,2,6,0,0,13,14,32,20%7C10,80,34,62,139,4,56,24,6,21,61,11,5,6,7,37,62,8,22,130,33,23,44,18,15,46,10,12,35,23,24,27,7,34,5,6,3,52,6,1&amp;amp;chco=fcaf3e,8ae234,729fcf,ad7fa8,fce94f,e9b96e,888a85&amp;amp;chdl=commits%7C%20changed%20files%7C%20boyscout%7Ccheckstyle%7Cbugfixing%7Ctesting" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm even able to add the commiters picture in the "weekly hall of fame" through user code tags in the HTML :)&lt;br /&gt;&lt;br /&gt;That said, M2T transformation is not the best pick for such a need, I really need to deduce new information from the original teamlog data to produce, afterwards, a nice report. Next try on this kata will probably involve M2M transformation to deduce the information, or Birt reporting... But, I don't want to spoil you, &lt;span style="font-style: italic;"&gt;stay tuned ;)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-8666280745850019187?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/8666280745850019187/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=8666280745850019187' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8666280745850019187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8666280745850019187'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/02/engineering-dictator-strikes-back.html' title='Engineering dictator strikes back : querying your team repository'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u5tMWln_Ie8/SZr29ji1-FI/AAAAAAAAAF4/qzOj-W9IvE8/s72-c/teammodel..png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-8563494176849868759</id><published>2009-01-21T01:31:00.000-08:00</published><updated>2009-05-07T08:22:40.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><category scheme='http://www.blogger.com/atom/ns#' term='chocolate'/><title type='text'>2008 was full of excitement,let's make an even better 2009 !</title><content type='html'>Times have been busy&lt;a href="http://model-driven-blogging.blogspot.com/2008/11/back-from-ese-2008-wow.html"&gt; since Eclipse Summit&lt;/a&gt;, mixing the great stuffs I'm doing at work, Gaspard (Casper) incredibly fast growing, the Eclipse and Open Source activities and the whole Christmas and New Year's Eve stuffs, each day was full of excitement.&lt;br /&gt;&lt;br /&gt;First, Ed came at Obeo/Nantes for a full day of cool technical stuffs, demos, and of course, pastry ! If you didn't met Ed you can't even imagine how friendly he is, that was a great time and I've been able to give him back the chocolates I was owing him. Feel free to come back any time Ed !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SXZJcbyhJaI/AAAAAAAAADw/DDkNiFPQP5Q/s1600-h/ED-chocolate.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SXZJcbyhJaI/AAAAAAAAADw/DDkNiFPQP5Q/s320/ED-chocolate.jpg" alt="" id="BLOGGER_PHOTO_ID_5293499164865406370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Speaking about chocolates, the end of the year was full of those at Obeo. As more and more internal projects uses continuous builds with &lt;a href="https://hudson.dev.java.net/"&gt;hudson&lt;/a&gt;, more and more chocolate commits gets detected ! A day without a new chocolate box has been a rare thing lately.&lt;br /&gt;&lt;br /&gt;About code, projects and products, If you're a model user,  you'll probably be happy to learn that EMF compare 0.9 features are being done in the repository, here is a quick glimpse of the "&lt;span style="font-weight: bold;"&gt;ResourceSet Match&lt;/span&gt;" also known as the "&lt;span style="font-weight: bold;"&gt;EMF Compare can't handle my models having external references bug"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXXxEu4IkvI/AAAAAAAAADY/LWqBAooagI0/s1600-h/Capture-Java+-+Comparaison+r%C3%A9ciproque+de+attributeChange-v1.genmodel+avec+attributeChange-v2.genmodel+-+SDK+Eclipse+.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXXxEu4IkvI/AAAAAAAAADY/LWqBAooagI0/s400/Capture-Java+-+Comparaison+r%C3%A9ciproque+de+attributeChange-v1.genmodel+avec+attributeChange-v2.genmodel+-+SDK+Eclipse+.png" alt="" id="BLOGGER_PHOTO_ID_5293402000649130738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Here we're comparing a genmodel, and you probably already knows that &lt;span style="font-weight: bold;"&gt;genmodels are decorating ecore models&lt;/span&gt;,  and as such have references on the ecore model.&lt;br /&gt;&lt;br /&gt;If you're interested in EMF Compare, do not hesitate to have a look on the&lt;a href="http://live.eclipse.org/node/616"&gt; webinar Laurent and I did in December !&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXXzPpn6B5I/AAAAAAAAADg/Lfr3DLJXass/s1600-h/comparewebinar"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 165px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXXzPpn6B5I/AAAAAAAAADg/Lfr3DLJXass/s400/comparewebinar" alt="" id="BLOGGER_PHOTO_ID_5293404387240707986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's demonstrating EMF Compare both from a user point of view and from a developper, tool vendor or "extender" one :)&lt;br /&gt;&lt;br /&gt;As a side note, do not hesitate to ask the foundation to organize a webinar for your project, you'll get those Eclipse Shirts which are quite &lt;span style="font-weight: bold;"&gt;collector&lt;/span&gt; ones then ;) Thanks again for your help Lynn !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXXzoxHj-oI/AAAAAAAAADo/SuYxX4E2EMc/s1600-h/DSC00260.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXXzoxHj-oI/AAAAAAAAADo/SuYxX4E2EMc/s200/DSC00260.JPG" alt="" id="BLOGGER_PHOTO_ID_5293404818749258370" border="0" /&gt;&lt;/a&gt;These are just a few things who made the end of 2008 an exciting time and no doubt 2009 we'll be even more exciting !&lt;br /&gt;&lt;br /&gt;First I'm now a member of both &lt;a href="http://www.eclipse.org/org/foundation/council.php"&gt;Architecture and Planning Councils&lt;/a&gt;, I'm confident I'll enjoy theses and I'll do my best to fulfill the expectations there.&lt;br /&gt;&lt;br /&gt;Second :&lt;br /&gt;&lt;a href="http://www.eclipsecon.org/2009/"&gt;&lt;img src="http://www.eclipsecon.org/2009/static/image/100x100_speaking.gif" alt="I'm speaking at EclipseCon 2009" width="100" border="0" height="100" /&gt;&lt;/a&gt;&lt;br /&gt;Yes, I'm speaking to EclipseCon thanks to Obeo and the program commitee (nah nah, nothing to do with the chocolate box ! ) and I'll present a talk there about &lt;span style="font-weight: bold;"&gt;Team Work with models &lt;/span&gt;so that I can show EMF Compare in action, its integration in GMF modelers and even a bit of 3D if I'm able to code a prototype with GEF 3D since then.&lt;br /&gt;&lt;br /&gt;Stay tuned for more exciting stuffs from the modeling space ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-8563494176849868759?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/8563494176849868759/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=8563494176849868759' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8563494176849868759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/8563494176849868759'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2009/01/2008-was-full-of-excitement-2009-can.html' title='2008 was full of excitement,let&apos;s make an even better 2009 !'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/SXZJcbyhJaI/AAAAAAAAADw/DDkNiFPQP5Q/s72-c/ED-chocolate.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-4464001746837740654</id><published>2008-11-25T22:05:00.000-08:00</published><updated>2009-05-07T08:22:01.340-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><title type='text'>Back from ESE 2008 : WOW !</title><content type='html'>I'm now back to France after this great conference.  Ed covered the "modeling events" quite well already but I can't prevent myself from sharing my pleasure as I'm still filled with excitement !&lt;br /&gt;&lt;br /&gt;My overall impression on  the conference is that it had many clear signs of an active, &lt;span style="font-weight: bold;"&gt;innovative&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;enjoying&lt;/span&gt; community. No doubt E4 has its role in this whole "refreshment" thing, the debates in the symposium were  more than interesting and I've no doubt such good and skilled people as those involved in E4 right now will come up with a great platform. In this regard, Tom's talks were more than interesting, keeps doing the fun stuffs !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SSw6WEWQHwI/AAAAAAAAACw/j66TGszx0ZE/s1600-h/Tomstalk.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SSw6WEWQHwI/AAAAAAAAACw/j66TGszx0ZE/s320/Tomstalk.jpg" alt="" id="BLOGGER_PHOTO_ID_5272653414542614274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The  "&lt;span style="font-weight: bold;"&gt;modeling is crap"&lt;/span&gt;  statement has been repeated  quite a few times during the various talks,  Ed described and analysed such misconceptions, models will rules the world ! Resistance is futile !&lt;br /&gt;More seriously, I have the feeling the message "modeling is not UML" was really getting in, thanks to Ecore and all the amazing projects under the Eclipse umbrella, you can define your own DSL and quickly develop your tooling or adapt existing tooling around that. That's being &lt;span style="font-weight: bold;"&gt;agile &lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;On the other side of the barrier, Eclipse is now able to compete with profesionnal UML tools thanks to Papyrus (and one a sidenote EMF Compare ;) ) This quality of tooling was only available in commercial tools before, &lt;span style="font-weight: bold;"&gt;things are changing&lt;/span&gt; !&lt;br /&gt;&lt;br /&gt;Speaking about EMF Compare, I was amazed to see how many people reused this project or integrated it in their own tooling. Getting this kind of feedback is not easy, especially with the newsgroup as you mostly only get the &lt;span style="font-style: italic;"&gt;"This stuff seems not to work"  &lt;/span&gt;messages, ESE is a great place to meet your user base :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSwy-10O2-I/AAAAAAAAABQ/jpE8HtATnew/s1600-h/Josleeping_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSwy-10O2-I/AAAAAAAAABQ/jpE8HtATnew/s320/Josleeping_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5272645318923443170" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Getting to ESE using the &lt;span style="font-style: italic;"&gt;"night train" &lt;/span&gt;was not the best way to rest, but the modeling symposium was perfectly handed by Markus and the tiredness quickly disappeared.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SSw0wGO8q8I/AAAAAAAAACA/Ie3LLAang6E/s1600-h/symposium_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SSw0wGO8q8I/AAAAAAAAACA/Ie3LLAang6E/s320/symposium_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5272647264655682498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then the talks took place. High quality ones for sure ! That's a shame we have not been able to provide slots for the many good other talk submitted, let's hope we'll have more slots next year !&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSwzWfQ8-FI/AAAAAAAAABg/2_qD0BqBiaY/s1600-h/img_4004_1.jpg"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SSwzePyctrI/AAAAAAAAABo/vLS7tDuWNxU/s1600-h/img_4017_1.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SSw1zTptyHI/AAAAAAAAACI/HyIsHXEennU/s1600-h/talksban.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 146px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SSw1zTptyHI/AAAAAAAAACI/HyIsHXEennU/s400/talksban.jpg" alt="" id="BLOGGER_PHOTO_ID_5272648419308849266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Summit also mean socializing !  Many &lt;span style="font-style: italic;"&gt;people, &lt;/span&gt;many &lt;span style="font-style: italic;"&gt;beer, &lt;/span&gt;good &lt;span style="font-style: italic;"&gt;food, &lt;/span&gt;it can only lead to a nice reception :) I even hacked a bit with Sandro from the JCR management project which is really cool. How is that possible that all the guys working on models repositories are so friendly ?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSw2PTXwjmI/AAAAAAAAACQ/DYk8XxTYJ5A/s1600-h/hackingwithsandro_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSw2PTXwjmI/AAAAAAAAACQ/DYk8XxTYJ5A/s320/hackingwithsandro_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5272648900269870690" border="0" /&gt;&lt;/a&gt;I also chatted a bit with the whole Eclipse marketing effort !&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SSw2yrwAD-I/AAAAAAAAACY/Dd67YTO-kxc/s1600-h/eclipsemarketing_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SSw2yrwAD-I/AAAAAAAAACY/Dd67YTO-kxc/s320/eclipsemarketing_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5272649508109422562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then many more talks, chats, with many other Eclipse project :) Time gets away too fast, and we were already having a last &lt;span style="font-weight: bold;"&gt;modeling beer&lt;/span&gt; at the Nestor hotel !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSw38TyMD3I/AAAAAAAAACg/lb5W3OpYo5U/s1600-h/lastmodelingbeer.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 152px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SSw38TyMD3I/AAAAAAAAACg/lb5W3OpYo5U/s400/lastmodelingbeer.jpg" alt="" id="BLOGGER_PHOTO_ID_5272650772986466162" border="0" /&gt;&lt;/a&gt;See you at EclipseCon !&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SSw4UXRKL4I/AAAAAAAAACo/fotIk7FwEOA/s1600-h/lastbeer_1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SSw4UXRKL4I/AAAAAAAAACo/fotIk7FwEOA/s400/lastbeer_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5272651186238533506" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-4464001746837740654?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/4464001746837740654/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=4464001746837740654' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/4464001746837740654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/4464001746837740654'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2008/11/back-from-ese-2008-wow.html' title='Back from ESE 2008 : WOW !'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u5tMWln_Ie8/SSw6WEWQHwI/AAAAAAAAACw/j66TGszx0ZE/s72-c/Tomstalk.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-9032892606062005784</id><published>2008-11-03T09:11:00.000-08:00</published><updated>2008-11-03T11:58:33.535-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>"Babies are such a nice way to start people"</title><content type='html'>I did not blogged a lot lately, several reasons for that:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;my web hoster decided that I had too much spam on my blog and &lt;span style="font-weight: bold;"&gt;destroyed &lt;/span&gt;the whole website with all its content :S&lt;/li&gt;&lt;li&gt;I had a few weeks of vacation, a good chance to rest you'll say ! Well.. not really as you'll see with point 3 and 4 ;)&lt;/li&gt;&lt;li&gt;in order to compete with Ed's incredible garden we decided to bought a house, so expect many more &lt;span style="font-weight: bold;"&gt;metaphoric blog posts &lt;/span&gt;with home made pictures!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SQ83MaH5wxI/AAAAAAAAAAM/7U5ADFXexlg/s1600-h/house_garden.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SQ83MaH5wxI/AAAAAAAAAAM/7U5ADFXexlg/s320/house_garden.jpg" alt="" id="BLOGGER_PHOTO_ID_5264487175729824530" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;And at last but not least : &lt;span style="font-weight: bold;"&gt;Gaspard&lt;/span&gt; (Casper in English) joined us after 9 months of ecstatic waiting&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_OJuY9x1lbxI/SOMKDUu-g0I/AAAAAAAAAHg/WjR-KlM35oU/s1600-h/Gaspard2_30092008_light.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_OJuY9x1lbxI/SOMKDUu-g0I/AAAAAAAAAHg/WjR-KlM35oU/s400/Gaspard2_30092008_light.jpg" alt="" id="BLOGGER_PHOTO_ID_5252052642665759554" border="0" /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That makes many good reasons to justify my lack of &lt;span style="font-style: italic;"&gt;"mail answering"&lt;/span&gt; the previous weeks don't you think ? :)&lt;br /&gt;Now let's work on those mails and prepare this &lt;a href="http://www.eclipsecon.org/summiteurope2008/"&gt;great incoming Eclipse conference&lt;/a&gt; !&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;(The title is a quote by Don Herold)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-9032892606062005784?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/9032892606062005784/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=9032892606062005784' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/9032892606062005784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/9032892606062005784'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2008/11/new-blog-new-projects.html' title='&quot;Babies are such a nice way to start people&quot;'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u5tMWln_Ie8/SQ83MaH5wxI/AAAAAAAAAAM/7U5ADFXexlg/s72-c/house_garden.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-5567137760679978815</id><published>2008-03-25T15:24:00.000-07:00</published><updated>2009-05-07T08:24:04.334-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Amazing forest</title><content type='html'>Open-source projets are similar to tree in some ways. They are living through time and slowly but steadily growing, being much and much impressive and at some point far bigger than what people expected from the beginning.&lt;br /&gt;&lt;div&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXr9ljtDOSI/AAAAAAAAAEg/rkyorV0vi-w/s1600-h/sequoia1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXr9ljtDOSI/AAAAAAAAAEg/rkyorV0vi-w/s320/sequoia1.JPG" alt="" id="BLOGGER_PHOTO_ID_5294823133608622370" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_u5tMWln_Ie8/SXr9-gEUfAI/AAAAAAAAAEo/kyKuI51m55o/s1600-h/sequoia2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://3.bp.blogspot.com/_u5tMWln_Ie8/SXr9-gEUfAI/AAAAAAAAAEo/kyKuI51m55o/s320/sequoia2.JPG" alt="" id="BLOGGER_PHOTO_ID_5294823562129210370" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr-SufBPQI/AAAAAAAAAEw/H6PbomfdOcs/s1600-h/sequoia3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr-SufBPQI/AAAAAAAAAEw/H6PbomfdOcs/s320/sequoia3.JPG" alt="" id="BLOGGER_PHOTO_ID_5294823909596675330" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr-k29AciI/AAAAAAAAAE4/lARV5PBkuUU/s1600-h/sequoia4.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr-k29AciI/AAAAAAAAAE4/lARV5PBkuUU/s320/sequoia4.JPG" alt="" id="BLOGGER_PHOTO_ID_5294824221107581474" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;But they face aggressions from diseases, insects, industrial limber and are even in competition to get the needed piece of sun not to collapse. The license act as a protection concerning all these attacks, following the example of the Sequoïa’s tanin, the GPL protects the project from massive industrial exploitation without couterparts, and even if the people changes, the tree keeps groing up.&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SXr-0mvasxI/AAAAAAAAAFA/LMJVgxNI78o/s1600-h/IMG_2873.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 214px; height: 320px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SXr-0mvasxI/AAAAAAAAAFA/LMJVgxNI78o/s320/IMG_2873.JPG" alt="" id="BLOGGER_PHOTO_ID_5294824491633521426" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;But even big trees may fall if the roots are not deep enough, and like the sequoïas we would not even know the tree has fallen as the tanin keeps it alive for hundred years on the ground.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXr_GGt1afI/AAAAAAAAAFI/AZzRDOdxh5M/s1600-h/IMG_2876.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_u5tMWln_Ie8/SXr_GGt1afI/AAAAAAAAAFI/AZzRDOdxh5M/s320/IMG_2876.JPG" alt="" id="BLOGGER_PHOTO_ID_5294824792274594290" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;So, what kind of roots do we want now? &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-5567137760679978815?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/5567137760679978815/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=5567137760679978815' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/5567137760679978815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/5567137760679978815'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2008/03/amazing-forest.html' title='Amazing forest'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u5tMWln_Ie8/SXr9ljtDOSI/AAAAAAAAAEg/rkyorV0vi-w/s72-c/sequoia1.JPG' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-7409205535843746444</id><published>2007-12-16T15:12:00.000-08:00</published><updated>2009-05-07T08:23:55.723-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='chocolate'/><title type='text'>Chocolate commit</title><content type='html'>&lt;div&gt;&lt;p&gt;At &lt;a href="http://www.obeo.fr/"&gt;work&lt;/a&gt;we have a rule : if you commit something which does not compile, or that cause failure of the build, then you &lt;b&gt;have&lt;/b&gt;to bring back a chocolates candies box. &lt;/p&gt; &lt;p&gt;Many &lt;i&gt;“chocolate commits”&lt;/i&gt;happened lately and we manage to always get a candy for the coffee break. As I’m working on a quite tricky project I’m thinking ahead and I did prepare chocolates this morning.&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr20u9p90I/AAAAAAAAAD4/CbjZO2yJfPU/s1600-h/img_2195.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr20u9p90I/AAAAAAAAAD4/CbjZO2yJfPU/s400/img_2195.jpg" alt="" id="BLOGGER_PHOTO_ID_5294815697747703618" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The recipe is quite simple :&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;dissolve&lt;/b&gt;/melt some&lt;span style="font-weight: bold;"&gt; chocolate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 102); font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;wait&lt;/b&gt;a bit ’till it’s quite solid &lt;/li&gt;&lt;li&gt;&lt;b&gt;make&lt;/b&gt;tiny balls with the &lt;span style="font-weight: bold;"&gt;chocolate&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;roll&lt;/b&gt;them in sugar &lt;/li&gt;&lt;li&gt;&lt;b&gt;roll&lt;/b&gt;them in hot really black &lt;span style="font-weight: bold;"&gt;chocolate&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;roll&lt;/b&gt;them in cacao powder &lt;/li&gt;&lt;li&gt;&lt;b&gt;wait&lt;/b&gt;a bit ’till it’s totally solid &lt;/li&gt;&lt;li&gt;&lt;b&gt;commit&lt;/b&gt;something using &lt;i&gt;String.isEmpty&lt;/i&gt;for instance, be sure someone notices the mistake fast &lt;/li&gt;&lt;li&gt;&lt;b&gt;bring&lt;/b&gt;the chocolates ! &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-7409205535843746444?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/7409205535843746444/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=7409205535843746444' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/7409205535843746444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/7409205535843746444'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2008/01/chocolate-commit.html' title='Chocolate commit'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_u5tMWln_Ie8/SXr20u9p90I/AAAAAAAAAD4/CbjZO2yJfPU/s72-c/img_2195.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1840137971958799596</id><published>2007-10-11T16:33:00.000-07:00</published><updated>2009-05-07T08:23:43.180-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><title type='text'>Modeling at ESE 2007</title><content type='html'>&lt;div class="entry"&gt; &lt;div class="content"&gt; &lt;p&gt;Eclipse summit is almost over now, a lot of things happened and the modeling project is, for sure, really lively.&lt;/p&gt; &lt;p&gt;Many talks were targeted at people interested in models, great tools and business cases using these tools just show you may benefit using models. On a more personnal side the &lt;a title="EMF Compare talk" target="_blank" href="http://web.archive.org/web/20071014071148/http://web.archive.org/web/20071014071148/http://www.eclipsesummit.org/summiteurope2007/index.php?page=detail/&amp;amp;id=24"&gt;EMF Compare talk&lt;/a&gt; went really smoothly, the room was crowded and people had interesting questions about wether this component would be able to solve this or that issue. If you’re interested in getting the slides, they are available&lt;a title="here" target="_blank" href="http://web.archive.org/web/20071014071148/http://web.archive.org/web/20071014071148/http://cedric.brun.free.fr/EMFCompare_OneYearLater.pdf"&gt; here.&lt;/a&gt;&lt;/p&gt; &lt;p&gt;The Rich &amp;amp; Ed talk really showed EMF, GMF and Modeling projects in general may be used together to produce complete toolchain, well, the mindmap domain could be seen as a bit trivial but doing so much things in such a short demo is already a challenge without considering a more complexe domain.&lt;/p&gt; &lt;p&gt;Integration has been discussed during the Modeling Symposium, basically technical and “user-centric” integration is something we really need in the eco-system. Discussions has been started with the GMF people about providing integration with “compare” but this is quite a challenging subject too.&lt;/p&gt; &lt;p&gt;QVT was also a hot subject, well we can be quite confident&lt;a title="Quentin" href="http://web.archive.org/web/20071014071148/http://web.archive.org/web/20071014071148/http://dev.eclipse.org/mhonarc/lists/m2m-dev/msg00014.html"&gt; Quentin&lt;/a&gt; will manage to provide a nice QVT-Relational component.&lt;br /&gt;More information will follow on these subjects, on a another side Trolltech guys were here and were very nice too and the poster reception (free beer \o/ ) eased to meet people from really different parts of Eclipse.&lt;/p&gt; &lt;p&gt;During this session I had been able to see a comparison tool for the HL7 standards which was using a similar approach than EMF compare, the author was very friendly and I’m looking forward to a possible collaboration.&lt;/p&gt; &lt;p&gt;Just a downside on this event, well, Nick was not there so I had not been able to offer him beer for his help in setting up the emf compare build, let’s just hope I wont owe you more beer since we see each other again or you’ll quickly get drunk &lt;img src="http://web.archive.org/web/20071014071148/file:///home/chipotortoose/C%C3%A9dric/Acceleo%20:%20g%C3%A9n%C3%A9rateur%20MDA%20-%20Planete%20Acceleo_fichiers/icon_smile_002.gif" alt=":)" class="wp-smiley" /&gt; &lt;/p&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1840137971958799596?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1840137971958799596/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1840137971958799596' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1840137971958799596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1840137971958799596'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2007/11/modeling-at-ese-2007.html' title='Modeling at ESE 2007'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1637851078079211243</id><published>2007-03-20T17:34:00.000-07:00</published><updated>2009-05-07T08:25:06.025-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='compare'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='modeling'/><title type='text'>XML files comparison/merge</title><content type='html'>On the EMFT mailling-list Martin Taal asked me if EMF compare component was usefull when one has to handle XML file.&lt;br /&gt;&lt;br /&gt;Thanks to the EMF/XSD project this feature just comes at no cost ! If you create your metamodel using an XSD then the model will be serialized in it’s native XML format but in the emf compare point of view it’s just another EMF model ! Then you’re able to compare, and of course merge modifications on the files.&lt;br /&gt;Here’s a screenshot of the tool comparing two XML files coming from the well known “Library” example (sorry I did not put nice icons on the models ;) )&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_u5tMWln_Ie8/SXsDG5Moo5I/AAAAAAAAAFY/kxbeVOlsmFU/s1600-h/emfcomparexml.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 294px;" src="http://1.bp.blogspot.com/_u5tMWln_Ie8/SXsDG5Moo5I/AAAAAAAAAFY/kxbeVOlsmFU/s400/emfcomparexml.png" alt="" id="BLOGGER_PHOTO_ID_5294829203872064402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The XSD project really should have more visibility, it’s obviously usefull in many use cases where XML matters and EMF provides so much nice features, you should not miss that !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1637851078079211243?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1637851078079211243/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1637851078079211243' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1637851078079211243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1637851078079211243'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2007/03/xml-files-comparisonmerge.html' title='XML files comparison/merge'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u5tMWln_Ie8/SXsDG5Moo5I/AAAAAAAAAFY/kxbeVOlsmFU/s72-c/emfcomparexml.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5749374620125186414.post-1517889382020277273</id><published>2007-03-13T08:38:00.000-07:00</published><updated>2009-05-07T08:25:19.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipsecon'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='acceleo'/><title type='text'>Joining the community</title><content type='html'>First time blogging , many first times these days :)&lt;br /&gt;As the EMF Compare project lead I had to go to &lt;a href="http://www.eclipsecon.org/2007/"&gt;EclipseCon, &lt;/a&gt;the component has just been accepted so it was the first time for me to follow EclipseCon from the inside and not from Planet Eclipse.&lt;br /&gt;The event was just great, the interesting people are countless and the Eclipse world is amazing by many aspects. I attended many talks, for a modelling guy like me many stuffs were interesting.&lt;br /&gt;EMF/EMFT was present everywhere, it’s the basis for many tools and software and it deserves to, it just cover the need everybody has using data and models, serialization, notification, validation, transaction or now relational database storage thanks to the Teneo project.&lt;br /&gt;EclipseCon allow you to meet the people behind all theses projects and to have a quick glance of the other projects, the data binding stuffs were just great as the&lt;a href="http://www.eclipse.org/mylar/zest.php"&gt; Zest framework&lt;/a&gt; from Ian Bull and the &lt;a href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3703"&gt;UML talk&lt;/a&gt; done by Kenn Hussey.&lt;br /&gt;I did a panel there about the EMF Compare component with Antoine Toulme, Jean Bezivin and Ed Merks, it was quite good as the audience had many reactions. I emphasized there the fact that we are aiming to provide a great basis for other tools to work with, a basic UI for comparison and merge (same as the JDT) but no diagram support yet. As the tool is metamodel agnostic, meaning you are able to compare UML or Ecore or anything else, questions were asked about providing special behavior like, for instance, custom dependencies management while merging. Good point there, we’ll try to provide a mecanism for that!&lt;br /&gt;I also did a poster session about the code generator Acceleo, nice reactions there too, people would like to use a MDA approach but most of the tools are quite hard to tackle, Acceleo is just great about that, it’s easy to install, to use and you may generate any kind of text.&lt;br /&gt;In a nutshell the event was great, special thanks to all the staff there and I’m looking forward to see everybody back at Eclipse Summit !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5749374620125186414-1517889382020277273?l=model-driven-blogging.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://model-driven-blogging.blogspot.com/feeds/1517889382020277273/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=5749374620125186414&amp;postID=1517889382020277273' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1517889382020277273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5749374620125186414/posts/default/1517889382020277273'/><link rel='alternate' type='text/html' href='http://model-driven-blogging.blogspot.com/2007/03/joining-community.html' title='Joining the community'/><author><name>Cédric Brun</name><uri>http://www.blogger.com/profile/17900773020510714946</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11846298100329511192'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>