<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	
	<channel>
		<title>mftech blog</title>
		<link>http://mftech.org/blog/index.php</link>
		<description>the mftech blog</description>
		<language>en</language>
		<managingEditor>martin.fluegge@mftech.org</managingEditor>
                <copyright>Copyright 2010</copyright>
		<generator>Pivot Pivot - 1.40.6: 'Dreadwind'</generator>
		<pubDate>Sun, 11 Jul 2010 12:25:23 +0200</pubDate>
		<ttl>60</ttl>
		
		
		
		
		<item>
			<title>It's dawning</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=19</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=19#comm</comments>
                        <description><![CDATA[ It has been a year since I announce that 0.1 is released. At this time Dawn based on an own small model repository and provided real-time shared editing for GMF diagrams - on a basic level.<br />
 <br />
Dawn 0.1 came with a flexible communication mechanism which allowed switching the underlying transport protocol (at this time SOAP and RMI were implemented) at runtime. With an HTTP-based protocol in the background Dawn was (nearly) immune to firewall restriction. Dawn was also able to detect and visualize conflicts and to clear those on selected diagram elements. To avoid conflicts the user was able to <a rel="external" href="http://www.mftech.org/dawn/screencasts/9_locking/locking.htm" title="">lock</a> certain parts of the diagram exclusively. As you might guess, this feature certainly needs some sort of a user management in the back end. This user management allowed to set access rights for every user and to control the rights for every diagram (read, write, modify). System administrators could grant/revoke these rights using a web-ba<a rel="external" href="http://www.mftech.org/dawn/screencasts/7_dawn_Webfrontend/dawn_webfrontend.htm" title="">interface</a>sed interface. This interface came along with a <a rel="external" href="http://www.mftech.org/dawn/screencasts/8_more_sophisticated_Diagrams/8_more_sophisticated_Diagrams.htm" title="">simple portal</a> to view the GMF diagrams and their changes in real-time in a browser. Dawn 0.1 even provided some basic editing functionality from within the web-browser.<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/07.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
But Dawn 0.1 also had some drawbacks. The performance on bigger models was rather poor. Also the design was far from being perfect. It was also clear that maintaining an own model repository in competition to CDO would be a hard job as single committer. Not that I do not like challenges, but this one was a bit out of my scope ;) This led to the idea to re-implement Dawn on CDO. So, I became a CDO committer ... and got sidetracked a bit learning all the new stuff. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/06_copy1.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
It took a while since a found time to look at Dawn again, but here we are one year later and I am proud to announce that <b>Dawn 0.2</b> is out now. Now, Dawn is based on CDO and is treated as one of its sub components. So you can receive it from the Helios update site or the <a rel="external" href="https://build.eclipse.org/hudson/job/emf-cdo-integration/lastSuccessfulBuild/artifact/result/site.p2/" title="">latest CDO builds</a>. <br />
<br />
As a gift for its 0.2nd birthday, Dawn got its own brand new logo. Here it is:<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/dawn_logo_300x300.png" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
I addition a new <a rel="external" href="http://wiki.eclipse.org/Dawn" title="">wiki page</a> will serve as entry point for every information around Dawn. If you are interested in Dawn have a look at the <a rel="external" href="http://wiki.eclipse.org/Getting_Started_with_Dawn" title="">getting started</a>  section. Or, if you want to generate generate your own client fragment for your GMF editor, visit this <a rel="external" href="http://wiki.eclipse.org/Dawn_Codegen" title="">tutorial</a> .<br />
<br />
There are some features which are not yet re-implemented (e.g the web viewer, locking or authentification). If are you are interested in these features track the <a rel="external" href="http://wiki.eclipse.org/Dawn_Feature_Overview" title="">features page</a> or the related bugzillas.  <br />
<br />
Dawn will not be limited to GMF. In fact it is going to provide collaborative access to every UI which has an underlying EMF model und thus can be stored in a CDO repository.  I leave it up to you to image what this could include ;) ]]></description>
			<guid isPermaLink="false">19@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Sun, 11 Jul 2010 12:25:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>This is my legacy ...</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=18</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=18#comm</comments>
                        <description><![CDATA[ ...mode. Or more precisely it's CDO's. Finally, as Eike announced on EclipseCon, we managed to finished this new feature. <br />
"Cool" is what comes into your mind while reading this lines? And while you have back in mind that CDO recently released the <a rel="external" href="http://thegordian.blogspot.com/2010/03/cdo-goes-offline.html" title="">offline mode</a>, euphoria let's you shiver anticipation about another fancy feature in CDO? But then a wreckful question destroys all your happiness and you ask yourself: "What is legacy in the context of CDO?"<br />
Well, if so, let me get you out of this mess and explain what the legacy mode is about.<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/02.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
If you remember CDO's <a rel="external" href="http://wiki.eclipse.org/Getting_started_with_CDO_Galileo" title="">getting started</a> you probably had noticed that you had to convert your model to CDO. This step adapts your genmodel and changes some generation relevant settings. The most important of these changes is that instead of directly inheriting from EObject your model classes will extend CDOObject, or to be more accurate - CDOObjectImpl. This conversion results into the flexibility and scalability CDO offers. If you like to know more about the internals read the <a rel="external" href="http://wiki.eclipse.org/CDO" title="">CDO wiki page</a>. Just to sum it up - after the conversion your model is CDO-ified, or in other words: CDO Native. <br />
<br />
Well, although this conversion gives you full access to CDO, like lazy loading and unloading, some don't like to or just can't convert their models. To be honest, when I started developing Dawn I also found this conversion tedious, not understanding the real meaning of it. But in my defence - at this time I did not even know what EMF is about ;) And because this was also the time Eike still proclaimed that there is no need for an offline mode in CDO I think we both are even now. ;)<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/08.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
But back to the topic. What if you can't use a native CDO model? For example if you only have the generated binaries. Then the legacy mode comes to your support. When legacy support is activated it is now possible to use pure EMF objects (legacy objects in the context of CDO) with the CDO repository. This makes it now easy to share your model even if it is not converted. But keep in mind that the legacy approach leaves you with the given disadvantages concerning scalability. So if you need the maximum of scalability and performance on huge models, you should use the native mode. But for smaller models legacy performs well. It is even possible to store the objects in legacy, than convert your model and proceed with a more scalable und flexible resource.<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/05.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
Legacy is not only limited to generated classes. In fact you can use it with DynamicEObjects if you want to. Again, it is recommended to use native objects. And in the dynamic cases it makes even more sense be converting the model is done easily using CDOUtil.prepareDynamicEPackage(dynamicMapEPackage), because you do not need to regenerated your classes. But if you want to use DynamicEObjects on CDO, for what reason ever, you are free to do so. <br />
<br />
That's it? Not by a long shot. With the legacy mode, if required, legacy and native objects can be used combined. If your native model needs to reference a model which cannot be converted or vice versa this is now possible with CDO.<br />
<br />
You might wonder how legacy performs compared to the native approach. The Legacy Mode is slower, in most cases, because it is just a bridge between pure EMF and CDO. But the loss of performance is not that big and only applies to the client side. Legacy mode is completely transparent to the server. This makes it possible to convert legacy to native and vice versa as mentioned above. Have a look at the picture below. The graph shows some simple performance measurements between native and legacy. You can see that the difference between native and legacy it not that big. <br />
<br />
<a rel="external" href="http://wiki.eclipse.org/Image:CDO_legacy_native_performance.PNG"><p style="text-align:center;"><img src="http://mftech.org/blog/images/cdo_legacy_native_performance_small.png" style="border:0px solid" title="" alt="" class="pivot-image" /></p></a><br />
<br />
One question remains. How to use this new fancy feature? In an early design legacy was adapted automatically to CDO. But this has a major drawback. People could forget converting there models to CDO. This fact alone would not be that troublesome. But imagine now that this user runs into an error with a stack trace which does not point directly to legacy, even if it was the root of the problem. In this case it could be hard work to hunt it down. That's why we made legacy support configurable. And by default it is turned off. This leaves legacy to the once who are aware of it. <br />
To switch legacy support on or off you can refer to static methods in CDOUtil. This will influence the setting for newly created CDOViews. Note, that these methods are only setting the default behaviour for the current thread. So you must ensure that you set the flag for the right thread.<br />
<table border="0" width="100%"  bgcolor="#DCDCDC" ><tr><br />
<td><br />
&nbsp<b><span style="color:Purple;">boolean</span></b> CDOUtil.isLegacyModeDefault()<br />
&nbsp<span style="color:Purple;">void</span> CDOUtil.setLegacyModeDefault(<span style="color:Purple;"><b>boolean</b></span> on)<br />
</td></tr></table><br />
<br />
The snippet below shows how legacy can be enabled or disabled. <br />
<table border="0" width="100%"  bgcolor="#DCDCDC" ><tr><td><br />
CDOSession session = ...;<br />
CDOTransaction transaction1 = session.openTransaction();   <span style="color:Blue;"> //this transaction is opened with no legacy support which is the default</span><br />
 <br />
CDOUtil.setLegacyModeDefault(<span style="color:Purple;"><b>true</b></span>);<br />
CDOTransaction transaction2 = session.openTransaction();    <span style="color:Blue;">//this transaction is opened with legacy support</span><br />
 <br />
CDOUtil.setLegacyModeDefault(<span style="color:Purple;"><b>false</b></span>);<br />
CDOTransaction transaction3 = session.openTransaction();   <span style="color:Blue;"> //this transaction is opened with no legacy support again</span><br />
</td></tr><br />
</table><br />
<br />
Additionally you can ask your view whether legacy is enabled for it by using the following method. <br />
<table border="0" width="100%"  bgcolor="#DCDCDC" ><tr><td><br />
CDOView view = ...;<br />
<span style="color:Purple;"><b>boolean</b></span> isLegacy = view.isLegacyModeEnabled();<br />
  </tr><br />
</table><br />
Last but not least I would like to thank our sponsor who made it possible to spend a major effort on the development of the legacy mode.<br />
<br />
Now, feel free to test it and give us a feedback if you like ;) ]]></description>
			<guid isPermaLink="false">18@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Wed, 31 Mar 2010 20:05:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>EMF rocks!</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=17</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=17#comm</comments>
                        <description><![CDATA[ Well, this is a statement the most of you are certainly aware of. But there might be some out there who have not already been assimilated or who have never ever heard of model driven software development at all. For those and certainly for all others I'll give some thought about one of my latest EMF experiences.<br />
<br />
But let me start at the beginning. I believe that it is quite a good idea to have a playground, an abstract idea or project, where you can try out new technologies. If you implement this idea with different technologies this gives you a good overview about the advantages and drawbacks of the different approaches. Well, my playground is called the "Moviebase". Long, long time ago when I made my apprenticeship I learned a bit about web servers, PHP and databases and so I came up with the idea to develop a small application to manage my movies. <br />
O.k. the desing was not perfect but actually stable enough to work for several years. Later in university I learned a lot about fancy new technologies like servlet containers, web services, AJAX, RSS, Hibernate (at this time they were new) and all the other interesting technologies which let the buzzword catalogue grow bigger and bigger. So I decided to re-implement the Moviebase using the new stuff. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_0409.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
Well, this is also some years ago, but I remember having some trouble with the following scenario: <br />
A movie has actors. So far so good. That's actually true for most movies - except documentations. But to be honest, documentations are not the majority in my movie catalogue. Because I haven't heard about modelling or EMF at all I started coding this specific classes and lists for it by hand. I quick typing action and I was able to get all actors from the movie. But movies have directors, too. O.k. this brought up the base class Person and it's subclasses Actor and Director. Added getter and setter and it was done. Hmmm, who wrote the sound track could be interesting, too (especially if you intent to write a MusicBase and combine it with the MovieBase). So again some typing actions brought the needed code. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_0130_01.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
That's enough for the model. And now it is time were the trouble starts. Getting/setting actors and so on is nice. But what if you would like to see all persons involved in a movie? O.k. writing a method called "getPersons" would do the trick - if you take care that the persons are not doubled - some actors are also playing director or compose the music for the movie. And deleting a person is even worst. But that is not the real problem. For now we took to a look at movies. But what about the Person object? Don't you want to know in which movies he played or where she was director? Or maybe you want to retrieve every movie the person was involved? Writing this and taking care for the integrity of all lists could be quite troublesome. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_0003_02.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
But to cut the long story short, all these problems are easily solved with EMF. To be exact - with FeatureMaps. To be honest I never liked FeatureMaps before I used them. ;)<br />
But you can easily model the above mentioned scenario Just create an attribute with type FeatureMapEntry in your movie called "persons". Then add actors, directors and composers as may-valued references and combine them using the EAnnotations described in the EMF book. Do the same for the persons and let them point the the specific opposite in the movie. E.g. Person.moviesAsActors point to the actors feature in the movie. That's it. Now you have bidirectional FeatureMaps. Just generate the code and EMF will care for the rest. You can add movies to actors or directors to movies and the whole synchronisation will be done by EMF - groovy. Just see the snippet below for an examples<br />
<br />
<br />
		<b>Person person = MediabaseFactory.eINSTANCE.createPerson();<br />
		Movie movie = MediabaseFactory.eINSTANCE.createMovie();<br />
<br />
		movie.getActors().add(person);<br />
		movie.getDirectors().add(person);<br />
<br />
		System.out.println("persons:" + movie.getPersons().size()); //prints 2<br />
<br />
		System.out.println("actors:" + movie.getActors().size());//prints 1<br />
		System.out.println("directors:" + movie.getDirectors().size());//prints 1<br />
		System.out.println("composers:" + movie.getComposers().size());//prints 0<br />
<br />
		System.out.println("MyMovies: " + person.getMovies().size());//prints 2<br />
		System.out.println("MyMovies as actor: " + person.getMoviesAsActor().size());//prints 1<br />
		System.out.println("MyMovies as director : " + person.getMoviesAsDirector().size());//prints 1<br />
		System.out.println("MyMovies as composer: " + person.getMoviesAsComposer().size());//prints 1</b><br />
<br />
And that is not only reliable and stable but can also be modelled quite fast. If you know what to do you can define this model in just a few minutes. Not yet convinced using EMF? Try it out and I guess you will ;)<br />
This was a small insight into the advantages EMF offers. Unfortunately my time is limited at the moment, so the MovieBase development slowed down. But I already had some time to play with EMF Databinding - and hey - it rocks too ;)<br />
<br />
So, wherever you are - Have fun and enjoy the springtime. :) ]]></description>
			<guid isPermaLink="false">17@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Tue, 23 Mar 2010 13:37:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Some Sundays are different from others</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=16</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=16#comm</comments>
                        <description><![CDATA[ And this sad one is one of them. <br />
<br />
This morning I got the message that my grandfather died last night. So, another candle in the candelabra of my family burned out. But I believe that he will live on  - through us, his children, grandchildren and great-grandchildren. Many of his characteristics can also be found in us as well. I, as his only grandson, for example got a bit of his enormous creativity which permanently created new ideas and projects. When I was young I also learned a lot from him while we were doing some woodworks together - that was one of his greatest hobbies. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_5213_01_small.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
And I am proud of all the characteristics I got from him because they are big part of what makes my own personality. <br />
<br />
His body is gone, but I strongly believe that he is still among us - as all the others who left over the last years. <br />
<br />
Well, some Sundays are different from others. This is one of them ...<br />
<span style="bg-color:LightGrey;"></span><span style="bg-color:LightGrey;"></span><span style="bg-color:Gray;"></span><span style="color:LightGrey;"></span> ]]></description>
			<guid isPermaLink="false">16@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Sun, 10 Jan 2010 19:41:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Better late than never</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=15</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=15#comm</comments>
                        <description><![CDATA[ O.k. it is one week ago, but a lot of things kept me from blogging about the Eclipse European Summit 2009. I know there are a lot of blogs around which still have commented about this excellent event. But because this was my first ESE I certainly have to drop some lines about it.<br />
<br />
First I thought about writing some comments about every talk I visited. So I started taking notes in every session. But very quickly I felt like a student again. So I stopped writing and just listened - actually the better decision. So I will keep it short. <br />
<br />
The first session on Tuesday was a must. Ed Merks, Eike Stepper and Tom Schindl gave talks about <a rel="external" href="http://www.eclipsecon.org/summiteurope2009/sessions?id=1015" title="">EMF, CDO and Eclipse Data-Binding</a>. Very interesting stuff, although some parts were already familiar to me. I like the way Eike designs his slides. He has a good feeling for colours and forms. (I am not only saying this because he is my project lead).<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_1600_320.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
Then I was a bit disappointed that the tutorial about "Scala and OSGi" had to be cancelled because of illness. I was very excited about this talk because I had not time yet to have a look at Scala. <br />
I was surprised that Microsoft was that present at the Summit. They were giving the first day's keynote speech, sponsored the "Liberty Café" and the "Stammtisch" and presented how Eclipse can work together with Windows 7, Azure and Silverlight. There was also an interesting talk (not from Microsoft) about bridging EMF and Microsoft's Modelling Platform <a rel="external" href="http://www.eclipsecon.org/summiteurope2009/sessions?id=885" title="">OSLO</a> .<br />
<br />
Sure, the Microsoft guys know how to make presentations. But I can't help myself - every time I see a presenter on a big stage with a Microsoft logo in the background it reminds me of a huge <a rel="external" href="http://www.youtube.com/watch?v=wvsboPUjrGc" title="">rubberball</a> jumping up and down.<br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/sculpture.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
One of the most interesting sessions at the whole ESE was the BoF about Papyrus. Not only because I gave I small overview about Dawn :) Well, I am definitely no UML or modelling expert, but I have the feeling that Papyrus has what it takes to become an important project inside the world of modelling. I personally like the idea of combining also those cool modelling tools in one workbench which is designed to let them all work well together. <br />
The third day started as cool as it ended with a talk about <a rel="external" href="http://www.eclipsecon.org/summiteurope2009/sessions?id=1027" title="">Papyrus</a>. Also interesting was the presentation about XWT, which allows describing applications with an XML syntax. This could provide a nice separation between UI designers and the model developers. <br />
<br />
The last talk I watched (aside from the closing session) was a perfect ending for the summit. Four guys from Purple Scout talked about possible problems in threaded UI environments. The show-stopper were the three guys who played concurrent threads and demonstrated potential conflicts with a lot of flying tennis balls.  <br />
<br />
There were still a lot of cool presentation to talk about but I promised to keep it short ;)<br />
To sum the summit up:  The talks were interesting, the people very cool, the food was very good and the drinks were free - I'll be there next time ;) ]]></description>
			<guid isPermaLink="false">15@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Sat, 07 Nov 2009 20:58:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>The giants are in town</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=14</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=14#comm</comments>
                        <description><![CDATA[ The giants are in town<br />
<br />
Although this is bit off-topic, I am so fascinated with the stuff currently happening in Berlin that I must blog about it. <br />
<br />
Due to the 19th anniversary of the German reunification and the 20th anniversary of the "Fall of the Wall" there is a big puppet show in the city. <br />
<br />
The story of the play is easily told. Once, a huge giant lost his niece. He searched for her all over the world and crossed the seven seas. Finally they both appear in Berlin again to be reunited.   <br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_1534_01_320.jpg" style="border:1px solid" title="" alt="" class="pivot-image" /></p><br />
Yesterday the young female giant appeared in Berlin searching for hear uncle who was lost to hear long time ago. Well, this little girl is a huge marionette (about 25 feet / 7,5 m) hanging on a crane and being controlled by many hands.<br />
<br />
<br />
Today her uncle appeared in Berlin. He rose up from the water at the "Humboldt Hafen". After that he crossed the Moltke-Bridge and rested for a while. This is where I watched him. Currently he is walking through Berlin right to the Siegessaeule (Column of victory) and then back to the Brandenburg Gate where he will meet his niece. <br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_4977_02_320.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
Tomorrow the will walk together through the city and finally leave by boat. <br />
<br />
If you are in Berlin you definitively you should have a look at those amazing puppet and enjoy the show. <br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/img_1555_01_320.jpg" style="border:1px solid" title="" alt="" class="pivot-image" /></p><br />
Well, to transfer this off-topic talk back to the world of Eclipse "A huge Giant and a smaller one, once walking separately, will be united to walk the same course." – Does this sound like Dawn and CDO? Maybe I leave it up to you to decide which of them the big one is :D ]]></description>
			<guid isPermaLink="false">14@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Sat, 03 Oct 2009 15:07:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Hello</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=13</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=13#comm</comments>
                        <description><![CDATA[ Hello everybody out there on the screens,<br />
<br />
This is the first time my blogging activities appear on planet eclipse, so I will use this post to introduce myself, my blog and my project(s).<br />
<br />
I studied computer sciences until July this year in Berlin. Now I am going to start my Ph.D. studies soon. <br />
<br />
When I had to choose a topic for my diploma-thesis I first thought of implementing a UML-editor in Eclipse because during my studies I never found an editor which met all my needs. But when I started to google around I noticed that there were still a lot of new projects. So I cancelled this idea. Because I definitively wanted to work with Eclispe during my thesis I redeveloped my first thoughts which ended in the plan to create a collaborative UML-editor. This again led me to GMF and the idea to develop a collaborative extension for GMF editors.<br />
The only problem was that I had only used Eclipse as IDE and did not know anything about GMF, PDE, modelling or even EMF. So I started to dive into the world of Eclipse development. And the result of this is Dawn - a collaborative, web-based extension for GMF editors. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/me_small.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
Dawn provides several features. The most interesting of them are:<br />
<br />
-	firewall transparency, which allows tocommunicate from very restrictive networks<br />
-	network independency, which in fact means an offline mode to use Dawn when there is no network available<br />
-	conflict handling mechanisms to detect and solve conflicts<br />
-	locking mechanisms to get exclusive write permission on GMF objects<br />
-	a flexible network adapter system which allows changing the underlying communication system at runtime (currently available: RIM and SOAP)<br />
-	a WebViewer which allows viewing the GMF diagram also in a browser. This allows clients like mobile devices to join the collaboration even if they do not have a JVM. First steps for a WebEditor are already done ;)<br />
<br />
These are the core features of Dawn. They will be explained more detailed on the projects <a rel="external" href="http://www.mftech.org/dawn/" title="">homepage</a>. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/feldsee_small.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
For anyone interested in seeing Dawn in action I suggest checking out the screencast section on the project’s page. But take care. Those are development screencasts which means they show the main steps of the Dawn development progress. If you like to see how Dawn grew more and more watch them from the beginning. If you like to see the latest features just watch them backwards. Which means start with the last, not watching the screencast from behind ;)<br />
<br />
You can also run the 'Getting started' form the documentation section, but it bases upon the current, very prototypical version. <br />
<br />
Currently Dawn is going to meet CDO which means that the features implemented in Dawn will soon be also available using CDO as underlying platform. <br />
<br />
<p style="text-align:center;"><img src="http://mftech.org/blog/images/black_forrest_small.jpg" style="border:0px solid" title="" alt="" class="pivot-image" /></p><br />
<br />
My blog will mostly report about Dawn development but also about my Eclipse experiences and maybe other future projects.<br />
<br />
Hope you enjoy it.<br />
<br />
Now I am going to meet the 'Modelling Stammtisch' here in <a rel="external" href="http://thegordian.blogspot.com/2009/08/modeling-stammtisch-details.html" title="">Berlin</a>. Maybe I'll see some of you there. <br />
<br />
Cheers,<br />
<br />
Martin ]]></description>
			<guid isPermaLink="false">13@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Wed, 19 Aug 2009 17:42:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Dawn 0.1</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=12</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=12#comm</comments>
                        <description><![CDATA[ O.k., it took at least one week to host the project, fix major bugs, write a getting started, update the homepage, fix major bugs again, check in all projects, set op a news group etc... But here it is:<br />
<br />
Dawn 0.1 is release. And as any major release it will be named with a very significant name.<br />
And the name is...tatatata..."The prototype".<br />
<br />
O.k. I promise that Dawn 1.0 will have a much more creative name. <br />
<br />
There is a getting started which can be found in the document section. An Getting started for the Dawn CodeGen is in progress. The document section also contains the currents version's JavaDoc.<br />
<br />
The project is hosted at SourceFourge. This contains:<br />
<br />
A Start page: <a rel="external" href="https://sourceforge.net/projects/mfdawn/" title="">https://sourceforge.net/projects/mfdawn/</a><br />
A Projects page: <a rel="external" href="http://mfdawn.sourceforge.net/" title="">http://mfdawn.sourceforge.net/</a><br />
A wiki: <a rel="external" href="http://mfdawn.wiki.sourceforge.net/" title="">http://mfdawn.wiki.sourceforge.net/</a><br />
A mailing list : <a rel="external" href="http://mfdawn-news@lists.sourceforge.net" title="">mfdawn-news@lists.sourceforge.net</a>  / <a rel="external" href="https://lists.sourceforge.net/lists/listinfo/mfdawn-news" title="">https://lists.sourceforge.net/lists/listinfo/mfdawn-news</a><br />
<br />
I also updated the dawn section of the homepage.<br />
<br />
So, have fun and a nice evening. ]]></description>
			<guid isPermaLink="false">12@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Fri, 17 Jul 2009 21:44:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>Free at last</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=11</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=11#comm</comments>
                        <description><![CDATA[ So, finally I managed to survive the presentation and all the questions. From now I can call myself "Dipl-Inf (FH)". <br />
<br />
Looking back the last 5 years I have to say that it was a pretty cool time. Sometimes a bit exhausting, but always interesting. Especially the last time during my diploma-thesis where I dived into the world of Eclipse. <br />
<br />
Let us see where it will lead me from here... ]]></description>
			<guid isPermaLink="false">11@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Mon, 06 Jul 2009 19:28:00 +0200</pubDate>
		</item>
		
		
		
		<item>
			<title>&quot;This is the moment, this is the day,...&quot;</title>
			<link>http://mftech.org/blog/pivot/entry.php?id=10</link>
			<comments>http://mftech.org/blog/pivot/entry.php?id=10#comm</comments>
                        <description><![CDATA[ "...When I send all my doubts and demons on their way...<br />
Every endeavor I have made ever...<br />
Is coming into play; is here and now today..."<br />
<br />
Well, today is day when I have to defend my diploma-thesis. At 4 pm local time they are going to start to torture me. I think about an hour later the tantalisation will be over. And I will be a completely accepted member of the of the society... ]]></description>
			<guid isPermaLink="false">10@http://mftech.org/blog/pivot/</guid>
			<category>default</category>
			<pubDate>Mon, 06 Jul 2009 08:58:00 +0200</pubDate>
		</item>
		
		
		
	</channel>
</rss>
