<?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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5542658145824276295</id><updated>2011-07-30T08:26:46.160-07:00</updated><category term='standalone'/><category term='Acceleo'/><title type='text'>Meta plop</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-7036758863605104166</id><published>2010-06-25T00:44:00.000-07:00</published><updated>2010-06-25T00:56:53.114-07:00</updated><title type='text'>How to create an Acceleo 2.x generator for composed metamodels</title><content type='html'>Imagine you have a metamodel that reference other metamodels and you want to create a generator for this metamodel. Let's take an example :&lt;br /&gt;&lt;br /&gt;The first metamodel contains an EClass named Object that have a reference package of type EPackage. That create a reference to the ECore metamodel.&lt;br /&gt;&lt;br /&gt;First we have to create a template for the first metamodel :&lt;br /&gt;&lt;br /&gt;&lt;%&lt;br /&gt;metamodel http://www.obeo.fr/first&lt;br /&gt;&lt;br /&gt;import manymetamodels.ecore&lt;br /&gt;%&gt;&lt;br /&gt;&lt;br /&gt;&lt;%script type="first.Object" name="default" file="test.txt"%&gt;&lt;br /&gt;Object &lt;%name%&gt; :&lt;br /&gt;&lt;br /&gt;&lt;%package.default%&gt;&lt;br /&gt;&lt;br /&gt;Then we need to create the template manymetamodels.ecore.mt :&lt;br /&gt;&lt;br /&gt;&lt;%&lt;br /&gt;metamodel http://www.eclipse.org/emf/2002/Ecore&lt;br /&gt;%&gt;&lt;br /&gt;&lt;br /&gt;&lt;%script type="ecore.EPackage" name="default"%&gt;&lt;br /&gt;EPackage &lt;%name%&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And that's all. So you just need to create at least one template per metamodel and then inport them according to the way you navigate your metamodels.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-7036758863605104166?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/7036758863605104166/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2010/06/how-to-create-acceleo-2x-generator-for.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/7036758863605104166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/7036758863605104166'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2010/06/how-to-create-acceleo-2x-generator-for.html' title='How to create an Acceleo 2.x generator for composed metamodels'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-6002413976658503000</id><published>2010-05-20T02:18:00.000-07:00</published><updated>2010-05-20T05:36:57.236-07:00</updated><title type='text'>Agility 1.4 is out</title><content type='html'>Agility is a product based on Eclipse that help migrating code. You can find more details &lt;a href="http://www.obeo.fr/pages/agility/en"&gt;here&lt;/a&gt;. This new release comes with several improvements :&lt;br /&gt;&lt;br /&gt;- Custom link resolution&lt;br /&gt;- OStore reflective editor&lt;br /&gt;- Export to product parser&lt;br /&gt;&lt;br /&gt;There are also bug fixes of course :)&lt;br /&gt;&lt;br /&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class=" on down" style="display: block;" id="formatbar_CreateLink" title="Lien" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;img src="http://www.blogger.com/img/blank.gif" alt="Lien" class="gl_link" border="0" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-6002413976658503000?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/6002413976658503000/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2010/05/agility-14-is-out.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6002413976658503000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6002413976658503000'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2010/05/agility-14-is-out.html' title='Agility 1.4 is out'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-4093038211400071804</id><published>2010-04-12T00:55:00.001-07:00</published><updated>2010-04-12T01:17:35.942-07:00</updated><title type='text'>Acceleo 2.7 is out</title><content type='html'>There are several improvements and bug fix :&lt;br /&gt;&lt;br /&gt;- Profiling now profile compilation of templates. EObjects profiling can&lt;br /&gt;be also disabled. It's very useful when generating from big models.&lt;br /&gt;- EA models import has been improved&lt;br /&gt;- Some improvements have been done on resource caching&lt;br /&gt;- A template extender have been added. It allows to explicitly extends&lt;br /&gt;template from a module. It relay on extension point.&lt;br /&gt;- It's now possible to add custom services as system services. For those&lt;br /&gt;services the import statement is not required.&lt;br /&gt;- The import order error has been changed into a warning.&lt;br /&gt;&lt;br /&gt;  For a more complete list you can visite the &lt;a href="http://www.acceleo.org"&gt;official Acceleo web site&lt;/a&gt;.&lt;br /&gt;  To download this new version you can use this update site &lt;a href="http://www.acceleo.org/update"&gt;http://www.acceleo.org/update&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-4093038211400071804?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/4093038211400071804/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2010/04/acceleo-27-is-out.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/4093038211400071804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/4093038211400071804'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2010/04/acceleo-27-is-out.html' title='Acceleo 2.7 is out'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-1241020085629146779</id><published>2010-01-13T04:45:00.000-08:00</published><updated>2010-01-13T05:55:26.770-08:00</updated><title type='text'>New succes for Agility</title><content type='html'>&lt;a href="http://www.obeo.fr/pages/agility/en"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Obeo Agility&lt;/span&gt;&lt;/a&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;is&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;proprietary&lt;/span&gt; product edited by &lt;a href="http://www.obeo.fr/"&gt;Obeo&lt;/a&gt;. It's used for code migration. It parses legacy code into a model used for generating code for the targeted technology. We already parse and migrate millions of code lines from many languages (Cobol, Ada, PL1, ...). We finished a project for parsing 5 millions of code lines written in &lt;a href="http://documentation.softwareag.com/default.htm"&gt;Natural&lt;/a&gt;. The goal for this project was not migrating the code, but automating code review. Reports are generated using... &lt;a href="http://www.acceleo.org/"&gt;Acceleo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-1241020085629146779?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/1241020085629146779/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2010/01/new-succes-for-agility.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/1241020085629146779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/1241020085629146779'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2010/01/new-succes-for-agility.html' title='New succes for Agility'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-10676805235273372</id><published>2009-11-30T08:02:00.000-08:00</published><updated>2009-11-30T09:59:06.200-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acceleo'/><title type='text'>Profiling your code generation</title><content type='html'>I am now developing on the Eclipse Acceleo project. To get started I bring a feature form the old Acceleo project. I write a profiler for the new Acceleo. It's very similar to the old profiler.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_Hn3nd3OGjuU/SxPulG8VhSI/AAAAAAAAAA8/sn-NSjQ0ug4/s1600/MTL.profiler.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 174px;" src="http://3.bp.blogspot.com/_Hn3nd3OGjuU/SxPulG8VhSI/AAAAAAAAAA8/sn-NSjQ0ug4/s320/MTL.profiler.png" alt="" id="BLOGGER_PHOTO_ID_5409929898688349474" border="0" /&gt;&lt;/a&gt;   As you can see the screen shot show many statistics about the module execution. By double clicking on an element you can open its definition.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-10676805235273372?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/10676805235273372/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2009/11/i-am-now-developing-on-eclipse-acceleo.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/10676805235273372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/10676805235273372'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2009/11/i-am-now-developing-on-eclipse-acceleo.html' title='Profiling your code generation'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Hn3nd3OGjuU/SxPulG8VhSI/AAAAAAAAAA8/sn-NSjQ0ug4/s72-c/MTL.profiler.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-6623753905344074985</id><published>2009-05-26T04:52:00.000-07:00</published><updated>2009-05-26T05:54:22.411-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='standalone'/><title type='text'>Thread safe services</title><content type='html'>Last month I explained how to tune Acceleo standalone engine threading. But services were still running in mutual exclusion because historically services didn't need to be thread safe. The result was a performance loss.&lt;br /&gt;Services of a given service class couldn't run in parallel by default. It means threads will have to wait for other threads to run services. I noticed that a lot of service classes are thread safe, they don't use field or static references.&lt;br /&gt;&lt;br /&gt;But as I can't decide if a service class is thread safe or not for you, I added an interface that bypass the mutual exclusion zone for a given service class. It allows multi threads to run services of a service class. This interface is IThreadSafeService. It declares nothing, so you just have to add the implements clause as following:&lt;br /&gt;&lt;br /&gt;public MyServices implements IThreadSafeService {&lt;br /&gt;  ...&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;But be aware, if you use this interface and your service class is not thread safe it can lead to random boggus behavior. And it can be difficult to find out what is the root cause of your troubles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-6623753905344074985?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/6623753905344074985/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2009/05/thread-safe-services.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6623753905344074985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6623753905344074985'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2009/05/thread-safe-services.html' title='Thread safe services'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-5307221138875661827</id><published>2009-04-10T07:22:00.000-07:00</published><updated>2009-04-10T08:36:43.805-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acceleo'/><category scheme='http://www.blogger.com/atom/ns#' term='standalone'/><title type='text'>Acceleo standalone and multi-threading</title><content type='html'>One of the main features of the standalone Acceleo engine is to provide multi-thread support. This allows us to divide the code generation time according to the count of available processors, effectively cutting the generation in half on some machines. To share the work between threads, the input model is divided into groups of objects; each group is then queued till a thread can process it.&lt;br /&gt;&lt;br /&gt;There are two parameters to tweak the multi-threaded generation. The first one is the number of threads to run simultaneously, the default value being the number of available processors plus one. This allows us to use all available processors, the one supplementary thread used to cover synchronization waiting time. While some threads are waiting for another one, one processor is free to run the thread which was waiting for an idle processor.&lt;br /&gt;&lt;br /&gt;The second parameter is the number of objects per group, the default being 20 objects per group. This parameter is very important since its allows you to find the optimum between load sharing and thread management overhead. Your objects groups will not be processed using the same amount of time. So Imaging you divided your model into two groups by setting number of objects in the model divided by 2. The group which runs faster will have to wait for the slower group at the end of the generation. In this case you are losing time. On the oposite you can put a single object per group. This way you minimize the loss of time at the genretation end. But threads will spend more time peeking groups in the queue since there are much more groups.&lt;br /&gt;&lt;br /&gt;To set thoses parameters have a look at :&lt;br /&gt;- Extension.setThreadsNumber(int)&lt;br /&gt;- Extension.setEObjectsPerThread(int)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-5307221138875661827?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/5307221138875661827/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2009/04/acceleo-standalone-and-multi-threading.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/5307221138875661827'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/5307221138875661827'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2009/04/acceleo-standalone-and-multi-threading.html' title='Acceleo standalone and multi-threading'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-6388626141937630301</id><published>2009-02-17T01:06:00.001-08:00</published><updated>2009-02-17T04:12:24.950-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acceleo'/><title type='text'>Acceleo profiler</title><content type='html'>&lt;p style="margin-bottom: 0cm;"&gt;There is a new feature in Acceleo 2.5. This feature allows users to profile the generation process of Acceleo. To activate the profiling you should check the profiling checkbox in the launch configuration of the chain.&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;The result of the profiling session is saved as a model, it's very useful for performance comparison (using EMF Compare) or report creation in batch environment (using Acceleo :) ).&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;Basicaly the model is the execution tree of Acceleo, each node being a step of the generation process. Those nodes give statistics like the time spent in the node and its subtree, the percentage of time it represents, and the number of times the element have been run by Acceleo. You can also find the list of EObjects for each node in the outline.&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_Hn3nd3OGjuU/SZp-WuQh9ZI/AAAAAAAAAAU/pXoB1ulu-2k/s1600-h/screenshot2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 173px;" src="http://4.bp.blogspot.com/_Hn3nd3OGjuU/SZp-WuQh9ZI/AAAAAAAAAAU/pXoB1ulu-2k/s320/screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5303690440021767570" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;The model can be sorted by chronogical order or by the time spent as shown on the screenshot.  It can help in the understanding of the generation process and finding the hotspot(s). Once this hotspot is found you can open the template editor on this element by double clicking it.&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;I am sure this will help to optimize your Acceleo templates.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-6388626141937630301?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/6388626141937630301/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2009/02/there-is-new-feature-in-acceleo-2.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6388626141937630301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/6388626141937630301'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2009/02/there-is-new-feature-in-acceleo-2.html' title='Acceleo profiler'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Hn3nd3OGjuU/SZp-WuQh9ZI/AAAAAAAAAAU/pXoB1ulu-2k/s72-c/screenshot2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5542658145824276295.post-8877531508416324671</id><published>2009-02-10T02:22:00.000-08:00</published><updated>2009-02-10T07:57:12.908-08:00</updated><title type='text'>Welcome</title><content type='html'>This blog will be dedicated to my development works at &lt;a href="http://www.obeo.fr"&gt;Obeo&lt;/a&gt;. My aim is to provide useful information on products and features I am working on. This information can be technical tricks for developers or general purpose information.&lt;br /&gt;&lt;br /&gt;Coming soon, the ability of profiling the text generation process of Acceleo...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542658145824276295-8877531508416324671?l=metaplop.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://metaplop.blogspot.com/feeds/8877531508416324671/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://metaplop.blogspot.com/2009/02/welcome.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/8877531508416324671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5542658145824276295/posts/default/8877531508416324671'/><link rel='alternate' type='text/html' href='http://metaplop.blogspot.com/2009/02/welcome.html' title='Welcome'/><author><name>yvan</name><uri>http://www.blogger.com/profile/06465175852625820753</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
