<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/wordpress-mu-1.2.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>randomice.net</title>
	<link>http://www.randomice.net</link>
	<description>by Enrico Schnepel</description>
	<pubDate>Tue, 11 Nov 2008 11:51:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=wordpress-mu-1.2.1</generator>
	<language>en</language>
			<item>
		<title>Copying EMF objects accross namespaces</title>
		<link>http://www.randomice.net/2008/11/copying-emf-objects-accross-namespaces/</link>
		<comments>http://www.randomice.net/2008/11/copying-emf-objects-accross-namespaces/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 11:51:48 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Projects]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/11/copying-emf-objects-accross-namespaces/</guid>
		<description><![CDATA[I am currently preparing a new release for my GenGMF project. Because the new meta model contains important but incompatible changes I have migrated the GenGMF tooling to a new name space and created a migration script for converting the specific editor models. The new meta model is much smaller than the old one which [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently preparing a new release for my <a href="http://gengmf.randomice.net/">GenGMF</a> project. Because the new meta model contains important but incompatible changes I have migrated the GenGMF tooling to a new name space and created a migration script for converting the specific editor models. The new meta model is much smaller than the old one which results in smaller models &#8212; I&#8217;ve eliminated the need for the mapping elements in the templates. To make the migration as easy as possible I&#8217;ve created some helper functions to <a href="http://www.xaption.net/sap/bc/docu?name=ABAPMOVE-CORRESPONDING_SHORTREF">move</a> <a href="http://www.cse.ohio-state.edu/~sgomori/314/langref.html#corr">corresponding</a> attributes and references. Only the &#8220;real&#8221; changes in the meta model are migrated using a Xtend script.</p>
<p>To demonstrate the facilities of the <code>CrossNamespaceCopier</code> I&#8217;ve created a small meta model&#8230;</p>
<p><a href="http://www.randomice.net/files/2008/11/crossnscopierdemomm.png"><img width='500px' src='http://www.randomice.net/files/2008/11/crossnscopierdemomm.png' alt='Demo meta model' /></a></p>
<p>As you see the <code>Class2</code> from the &#8220;<code>http://source.namespace</code>&#8221; has been eliminated in the &#8220;<code>http://target.namespace</code>&#8221; and both attributes have been moved - <code>attribute2</code> to <code>Class1</code> and <code>attribute3</code> to <code>Class3</code>. In order to migrate a model instance one has to call the <code>CrossNamespaceCopier</code> which copies the objects while migrating the name spaces according to rules previously set. <code>OtherClass</code> objects from the &#8220;<code>http://other.namespace</code>&#8221; will be copied as they are. All references and attributes which could not be automatically migrated need to copied in a small script manually. </p>
<p><code>extension CrossNamespaceCopier;</code><br />
<code></code><br />
<code>namespace::target::Class1 migrate(namespace::source::Class1 sc1)</code><br />
<code>:&nbsp;&nbsp;&nbsp;let tc1 =</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// initialization for the copier, but the</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// let statement needs to be in the beginning</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;crossNsInitStaticInstance()</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;&nbsp;crossNsSetupNamespaceMapping(</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"http://source.namespace",</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"http://target.namespace")</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// the content for the tc1 variable</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;(namespace::target::Class1)</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crossNsCopy(sc1)))</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// skipping Class2 in source</code><br />
<code>:&nbsp;&nbsp;&nbsp;tc1.setClass3Reference(</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(namespace::target::Class3)</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc1.class2Reference.class3Reference</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.crossNsCopy())</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// pull up attribute2</code><br />
<code>-&gt;&nbsp;&nbsp;tc1.setAttribute2(</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc1.class2Reference.attribute2)</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// pull down attribute3</code><br />
<code>-&gt;&nbsp;&nbsp;tc1.class3Reference.setAttribute3(</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sc1.class2Reference.attribute3)</code><br />
<code>&nbsp;&nbsp;&nbsp;&nbsp;// uninitializing</code><br />
<code>-&gt;&nbsp;&nbsp;crossNsReleaseStaticInstance()</code><br />
<code>-&gt;&nbsp;&nbsp;tc1</code><br />
<code>;</code></p>
<p>You will find the <code>CrossNamespaceCopier</code> as well as the demo files contained in a <a href="http://www.randomice.net/files/CrossNamespaceCopier.zip">zip file</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/11/copying-emf-objects-accross-namespaces/feed/</wfw:commentRss>
		</item>
		<item>
		<title>scandalized</title>
		<link>http://www.randomice.net/2008/11/scandalized/</link>
		<comments>http://www.randomice.net/2008/11/scandalized/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 20:25:49 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[Not Nice Stuff]]></category>

		<category><![CDATA[It's me]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/11/scandalized/</guid>
		<description><![CDATA[Some days ago I went to my dentist for the regular check up. They wanted me to sign a form about the transferability of claims to the mediserv GmbH and about inquiries about my credit score to rating agents. I declined my signature and put the blank form on the counter commenting that I will [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago I went to my dentist for the regular check up. They wanted me to sign a form about the transferability of claims to the <a href="http://www.mediserv.de/">mediserv GmbH</a> and about inquiries about my credit score to rating agents. I declined my signature and put the blank form on the counter commenting that I will sign it on demand. They looked at me like I am the only one who cares about the wording in a contract. Maybe <a href="http://en.wikipedia.org/wiki/John_Doe">John Doe</a> will sign it but that&#8217;s not my name&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/11/scandalized/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Survived!</title>
		<link>http://www.randomice.net/2008/09/survived/</link>
		<comments>http://www.randomice.net/2008/09/survived/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 20:22:59 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[It's me]]></category>

		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/09/survived/</guid>
		<description><![CDATA[As of today I have finished my study of applied informatics at the FHTW Berlin (University of Applied Sciences). The last exam I had to pass was the oral presentation of my diploma thesis. After an hour with a high level of adrenalin I must say that the effort I have invested into the thesis [...]]]></description>
			<content:encoded><![CDATA[<p>As of today I have finished my study of <a href="http://www.f4.fhtw-berlin.de/studiengaenge/ai.html">applied informatics</a> at the <a href="http://www.fhtw-berlin.de/">FHTW Berlin</a> (University of Applied Sciences). The last exam I had to pass was the oral presentation of my <a href="http://www.randomice.net/2008/08/diploma-thesis/">diploma</a> <a href="http://www.randomice.net/files/Diplomarbeit_Schnepel.pdf" target="_blank">thesis</a>. After an hour with a high level of adrenalin I must say that the effort I have invested into the thesis and the presentation payed off. Thanks to all thesis readers and presentation listeners ho have not been named - I&#8217;ve got full marks for both.</p>
<p>During the last days I have prepared a paper about the thesis for the <a href="http://www.sig-mdse.org/index.php/veranstaltungen/workshops/workshop-08">MDSE 2008 workshop</a> in Berlin. After my two <a href="http://metamodeldoc.randomice.net/">MetamodelDoc</a> <a href="http://www.randomice.net/2007/12/do-you-see-the-difference/">presentations</a> this would be my third public talk but the first in English. I look forward to see you there.</p>
<p><strong>Update:</strong> The <a href="http://www.randomice.net/files/Diplomarbeit_Schnepel.pdf" target="_blank">thesis</a> is now available for download in the <a href="http://www.randomice.net/publications/">Publications</a> section.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/09/survived/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Are you lost in your own mind map?</title>
		<link>http://www.randomice.net/2008/09/are-you-lost-in-your-own-mind-map/</link>
		<comments>http://www.randomice.net/2008/09/are-you-lost-in-your-own-mind-map/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 14:34:12 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[Nice stuff]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/09/are-you-lost-in-your-own-mind-map/</guid>
		<description><![CDATA[Let&#8217;s take another one from WikiMindMap! As an example - I used it to create a map about the term &#8220;Domain-specific Language&#8221;&#8230;

WikiMindMap uses the content from a language-specific (en, de, fr, &#8230;) Wikipedia to generate a FreeMind map which is displayed online. Genius!
]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s take another one from WikiMindMap! As an example - I used it to create a map about the term &#8220;Domain-specific Language&#8221;&#8230;</p>
<p><a href="http://wikimindmap.org/viewmap.php?wiki=en.wikipedia.org&amp;topic=Domain-specific+language"><img src="http://www.randomice.net/files/2008/09/wikimindmap_dsl.png" alt="WikiMindMap - Domain-specific Language" /></a></p>
<p>WikiMindMap uses the content from a language-specific (en, de, fr, &#8230;) <a href="http://www.wikipedia.org/">Wikipedia</a> to generate a <a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">FreeMind</a> map which is displayed online. Genius!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/09/are-you-lost-in-your-own-mind-map/feed/</wfw:commentRss>
		</item>
		<item>
		<title>time machine</title>
		<link>http://www.randomice.net/2008/09/time-machine/</link>
		<comments>http://www.randomice.net/2008/09/time-machine/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 18:54:04 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[It's me]]></category>

		<category><![CDATA[NoEveryThing]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/09/time-machine/</guid>
		<description><![CDATA[While preparing our relocation which will take place in October I am currently tidying the shelves in my flat from outdated computer magazines. I found some loose pages from the (in the mean time abandoned) magazine &#8220;PC-Heimwerker&#8221;, issue 3-96. They contain a lot of transcribed paper mailings from users to other users - helping each [...]]]></description>
			<content:encoded><![CDATA[<p>While preparing our relocation which will take place in October I am currently tidying the shelves in my flat from outdated computer magazines. I found some loose pages from the (in the mean time abandoned) magazine &#8220;PC-Heimwerker&#8221;, issue 3-96. They contain a lot of transcribed paper mailings from users to other users - helping each other&#8230;</p>
<p><code>&lt; &lt; &lt; swooooosh &gt; &gt; &gt;</code></p>
<p>I am back in the year 2008 - asking my self: &#8220;Why did I have kept the pages?&#8221; &#8230; Probably because of an article about <a href="http://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm">Bresenham&#8217;s line algorithm</a> in 16-bit-<a href="http://en.wikipedia.org/wiki/Assembly_language">assembler</a>(!).</p>
<p>Using  <a href="http://en.wikipedia.org/wiki/Web_search_engine">search engines</a>, <a href="http://en.wikipedia.org/wiki/News_group">news groups</a>, <a href="http://en.wikipedia.org/wiki/Internet_forum">forums</a> or <a href="http://en.wikipedia.org/wiki/Mailing_lists">mailling lists</a>  on a daily basis - life has become so easy&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/09/time-machine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nadelsalut</title>
		<link>http://www.randomice.net/2008/08/nadelsalut/</link>
		<comments>http://www.randomice.net/2008/08/nadelsalut/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 09:36:52 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[NoEveryThing]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/08/nadelsalut/</guid>
		<description><![CDATA[OpenOffice improves the spelling of the German word &#8220;Nudelsalat&#8221; (pasta salad) significantly&#8230;

]]></description>
			<content:encoded><![CDATA[<p>OpenOffice improves the spelling of the German word &#8220;Nudelsalat&#8221; (pasta salad) significantly&#8230;</p>
<p><img src="http://www.randomice.net/files/2008/08/nadelsalut.png" alt="Nadelsalut" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/08/nadelsalut/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GMF toolkits</title>
		<link>http://www.randomice.net/2008/08/gmf-toolkits/</link>
		<comments>http://www.randomice.net/2008/08/gmf-toolkits/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 11:39:15 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[My Projects]]></category>

		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/08/gmf-toolkits/</guid>
		<description><![CDATA[GMF, the Graphical Modeling Framework supports the creation of graphical editors. For beginners it is very hard to learn. The included wizard has a lot of disadvantages, but it is o.k. for a start. Furthermore the GMF models are very complex and hard to handle. There are different solutions to shorten the time needed for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eclipse.org/gmt/gmf">GMF</a>, the Graphical Modeling Framework supports the creation of graphical editors. For beginners it is very hard to learn. The included wizard has a lot of disadvantages, but it is o.k. for a start. Furthermore the GMF models are very complex and hard to handle. There are different solutions to shorten the time needed for creating a graphical editor:</p>
<dl>
<dt><a href="http://epsilonlabs.wiki.sourceforge.net/EuGENia">EuGENia</a></dt>
<dd>&#8230; supports the development of GMF based editors using annotations in your metamodel (<code>*.ecore</code>) - preferably generated using <a href="http://wiki.eclipse.org/Emfatic">Emfatic</a>. Dimitrios Kolovos has written a nice <a href="http://epsilonblog.wordpress.com/2008/08/04/eugenia-kick-start-your-gmf-editor-development/">tutorial</a> and created a <a href="http://live.eclipse.org/node/575">screencast</a>.</dd>
<dt><a href="http://opensource.urszeidler.de/ATLflow/html1/samples/generateGMF.html">ATLflow</a></dt>
<dd>Like in EuGENia - annotations in the metamodel are used to create a graphical editor. It is part of a complete tool chain for model transformations based on ATL. It is used for bootstrapping parts of ATLflow itself.</dd>
<dt><a href="http://gengmf.randomice.net">GenGMF</a></dt>
<dd>&#8230; uses a completely different approach. The GMF models are created from template-like tree structures. A template consist of GMF elements - just ready for duplicating for each metamodel element it is associated with. It is recommended to have some experience with the GMF models, before starting with GenGMF. GenGMF has been developed to support the creation of editors with a lot of metamodel elements.</dd>
</dl>
<p>Both annotation based solutions are not able to cover all the features possible with GMF, because the GMF models are created using the information stored in the metamodel. The template based approach GenGMF offers a lot more flexibility at the cost of a more complex model.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/08/gmf-toolkits/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Diploma Thesis</title>
		<link>http://www.randomice.net/2008/08/diploma-thesis/</link>
		<comments>http://www.randomice.net/2008/08/diploma-thesis/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 18:07:57 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[My Projects]]></category>

		<category><![CDATA[It's me]]></category>

		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/08/diploma-thesis/</guid>
		<description><![CDATA[I am happy to announce that I have finished the writing part of my diploma thesis and that everything has been bundled and filed to the university.
The thesis was written about the creation of a graphical editor for a model driven software development process. The abstract follows below:
 „base“ is a model-driven software development environment [...]]]></description>
			<content:encoded><![CDATA[<p>I am happy to announce that I have finished the writing part of my diploma thesis and that everything has been bundled and filed to the university.</p>
<p>The thesis was written about the creation of a graphical editor for a model driven software development process. The abstract follows below:</p>
<blockquote><p> „base“ is a model-driven software development environment for internal use by „b+m Informatik GmbH Berlin“. For editing models in „base“ a tree-based editor has been used in the past, which builds on the Eclipse Modelling Framework (EMF). A tree representation in particular is difficult to manage for the dataﬂow model, because conceptionally the model represents a graph in the mathematical sense of the word. The objective of this thesis was essentially optimizing the developmental process in „base“. To this end, a graphic editor for dataflow models was developed on the basis of the Graphical Modelling Framework (GMF). The meta-model, on which the dataflow models are based, contains 20 element types, which can be placed directly in the editor’s drawing area. The complexity of the models used in GMF increases over proportionally though with the number of element types and is consequently difficult to administrate. This was the reason for developing „GenGMF“ instead of implementing a graphic editor with GMF itself. „GenGMF“ is a Domain Speciﬁc Language with an appropriate generic model-to-model transformation for the automatic construction of GMF models. The dataﬂow editor was modeled using this new development for the construction of graphic editors. Using „GenGMF“ for development of the dataflow editor allowed construction of a „GenGMF“ model requiring 72% less model elements than generated GMF models. In addition, it did not have to be manually adjusted. The result is ease of use for presentation in the graphic dataflow editor.</p></blockquote>
<p>If you have any questions regarding the thesis, <a href="http://gengmf.randomice.net">„GenGMF“</a> or „base“ just send me a note.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/08/diploma-thesis/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Translation</title>
		<link>http://www.randomice.net/2008/07/translation/</link>
		<comments>http://www.randomice.net/2008/07/translation/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 06:11:36 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[Other]]></category>

		<category><![CDATA[NoEveryThing]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/07/translation/</guid>
		<description><![CDATA[

At least the flowers on the balcony have been copied and pasted with translation.



]]></description>
			<content:encoded><![CDATA[<table border="0">
<tr valign="top">
<td>At least the flowers on the balcony have been copied and pasted with translation.</td>
<td><img src="http://www.randomice.net/files/2008/07/translation.jpg" /></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/07/translation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A picture is worth a thousand words!</title>
		<link>http://www.randomice.net/2008/05/a-picture-is-worth-a-thousand-words/</link>
		<comments>http://www.randomice.net/2008/05/a-picture-is-worth-a-thousand-words/#comments</comments>
		<pubDate>Wed, 21 May 2008 18:57:31 +0000</pubDate>
		<dc:creator>Enrico Schnepel</dc:creator>
		
		<category><![CDATA[NoEveryThing]]></category>

		<category><![CDATA[Nice stuff]]></category>

		<guid isPermaLink="false">http://www.randomice.net/2008/05/a-picture-is-worth-a-thousand-words/</guid>
		<description><![CDATA[The question is not &#8216;Is a picture worth a thousand words?&#8217;, but
&#8216;Does a given picture convey the same thousand words to all viewers?&#8217;
by Marian Petre in Why looking isn&#8217;t always seeing
]]></description>
			<content:encoded><![CDATA[<blockquote>The question is not &#8216;Is a picture worth a thousand words?&#8217;, but<br />
&#8216;Does a given picture convey the same thousand words to all viewers?&#8217;</p></blockquote>
<p align="right">by Marian Petre in <a href="http://portal.acm.org/citation.cfm?id=203241.203251&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=69262112&amp;CFTOKEN=11085251">Why looking isn&#8217;t always seeing</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.randomice.net/2008/05/a-picture-is-worth-a-thousand-words/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
