Showing posts with label cdo. Show all posts
Showing posts with label cdo. Show all posts

Wednesday, 3 November 2010

Eclipse Summit Europe 2010 - The second day

The day starts with Mike Milinkovich officially opening the Eclipse Summit 2010. He is very pleased with the 452 registrations and 242 applications for talks. I guess the selection of the applications for the 72 available slots was not easy.

1st Keynote, Code and Religion by Prof. Hendrik Speck


Prof. Speck starts his presentation comparing Christian religions - mainly the Catholicism and the Protestantism.

They both base on different assumptions, traditions and they both have their specific objectives. One of the main differences is the way how authority is structured in the two organizations. The Catholic Church is centrally controlled by the pope (top down) whereas the Protestants are the protestant church (bottom up).
Umberto Eco picked this up in an essay  and showed that there is a similar difference between the MAC and DOS community. The first is centrally controlled with clear guidelines and standards given to its 'followers', the second one is much more open giving the people much more freedom and choice.  Does this influence the way innovation works in the two communities?

Above is the comparison of two technologies - the iPad and the Rosetta stone. This leads the the the topic innovation. Where does innovation come from? How can it be fostered? A well working approach is to setup a completion to win a price. The price is lower than a traditional investment to achieve the same with an organized program as many parties may try to win the price … one will eventually make it but all of them have to look at approaches and try out things never done before and like that inspire their environment. This approach was often done successfully in the past as the longitude price or the Dole Air Race show.  Maybe this is something to consider for the evolution of the Eclipse Modeling Platform.
What happens in closed systems, systems which are ring-fenced by walls and centrally controlled? People will try to break the walls in order to get some of the freedom back. In IT this is a flavor of hacking - like ‘jail breaking the iPad’ allowing it to run software prohibited by the central authority before or to use infrastructure not accessible before like more than one Bluetooth device.
Comments:
  •  Apple is controlling the ecosystem is has created which includes the app stores. This control allows protecting the users but it also allows apple to gain insights like that an overview of all the clients using a certain app - e.g. the customers of a certain company or the people with specific interests.
  • Eclipse in the current form evolved from a centrally controlled technology to a community based environment.
  • I have not seen an iBeamer - maybe this explains why a lot of the presenters using a Mac had problems with the resolution of the projected picture ;-)

Enrich your models with OCL

UML 1 has used programming languages to specify constraints, etc. which were then somehow inserted into the final product using generator magic. UML 2 uses OCL to do this. Some of the main OCL features include:
  • OCL has four types of collections to cover uniqueness and ordering
  • OCL uses different operators on objects ‘.’ and collections ‘->’.
  •  OCL differentiates between objects and collections.
  • OCL is side effect free.
  • OCL 2.4 specification is done by models and generated with Acceleo. 
Different attempts have been made to include OCL into Eclipse.

Since EMF 2.6 OCL is invoked dynamically – before it was embedded by a generative approach. The convenient way is to use the OCLinEcore editor (tutorial) which extends Ecore with the OCL annotation support transparently in the background and provides syntax checking. The OCL support works with dynamic models too.
Comments
·         The same problem can be modeled in many different ways. One approach is to do very explicit models with minimal constraints. Another is to use more generic models and add constraints and derived values to achieve the same semantics (e.g. a person needs to have a male and female parent).
·         Most models I have seen actually need constraints which cannot be explicitly modeled to be fully specified (e.g. a person cannot be its own parent)
·         Many ‘aspects’ like attributes and references can be derived (e.g. the father of a person) with OCL and they are well visible in the models.

EEF

The main goal of EEF is to add sexy properties editors to the model editor. EEF generates ‘polished’ property views – more support for dynamic views is planned. It allows structuring the property view in sections and supports the usage of specific widgets for the individual properties as well. It does however not support EMF data binding which limits its usage.

EState

EState (an Eclipse Labs project) is a framework to bring models to life using state machines. The advantage of this approach is that the logic for state management is in a single place and hence well maintainable. It follows the UML approach using guards and actions. Currently the project is in a very early phase having various limitations. The direction and the aim however are very interesting.
Comment:
  • Try to find the project using Google – there is a lot of estate named ‘Eclipse’. I guess the people around Eike Stepper seem to like names which hide the project well in the web. Just try to find CDO and you know what I mean. 

2nd Key Note Mission Critical Agility by Jeff Norris

The note starts with a monk wired up in Paris participating in an electricity experiment showing that electricity moves fast and that monks have a limited resistance. Aleck Graham Bell’s story leading to the invention of the telephone followed showing his vision and the critical decisions he had to make. His finances daughter had the vision to show the phone at the world exhibition in 1876. It became the sensation of the exhibition. Actually the success of the telephone was the result of the combined visions of more than a single person. This story shows that vision is an essential ingredient for agility.


Another ingredient is taking risks. This includes taking the risk of thinking out of the box and considering approaches nobody has tried before. What’s following is a truly great presentation using a camera capturing symbols on paper and software translating the paper symbols into graphical symbols being projected.  


The story explains the radical different approach taken to fly to the moon – a risk as all the other experts promoted at the time when Kennedy declared that the US will go to the moon within a decade.
Staying uncommitted as long as possible to keep options open is the third important aspect to agility. As soon as you are committed, you cannot change anymore. There is a risk of change – but there is also a risk of not to change.  Keep the options open is important as we are learning and making experiences while we are working. So try to push the point of no return as far as possible to allow take as much learning’s as possible into account.
The talk closes with the reminder that it is important to break out and try new things. This is easy at the start but more difficult once something is successful. Initially failure may not even be recognized - later on it may have a huge impact. 

Tuesday, 2 November 2010

Eclipse Summit Europe @ Modeling Symposium

Ed Merks has just opened the modeling symposium at the ESE indicating that the agenda is rather full with 14 presentations following in the next few hours.
  1. Jen von Pilgrim shows semi-automated transformations using MITRA (MIcro TRAnsformation) and GEF3D. The approach transforming individual elements on demand visualized in 3D looks attractive. It will be interesting to see if this is picked up by some real industry use cases.
  2. Markus Hermannsdoerfer demonstrates  how to migrate models with COPE. The presentation shows progress made on this technology since his last talk a year ago. The history of change made to the model is recorded and can then be used to migrate istances. The change history can be modified while ensuring that the transformations stay semantically correct (e.g. respecting dependencies)
  3. Frederic Madiot uses EMF to represent Eclipse 3.x plug-ins with MoDisco which is a technology to renovate legacy systems using a model based approach. His presentation shows how to apply the technology to Eclipse plug-ins and how it can be used to support the migrationto E4.
  4. Jonas Helming and Maximilian Koegel show three lightning fast demos. The first one is the EMF client platform which provides an application directly based on an EMF model. The second one is about EMF store which allows storing EMF models. In some way similar to CDO but not supporting lazy loading but model migration. With EMF store you always work with a file based offline copy of the model . The last part showed how to useEMF store for Ecore.
  5. Eike Stepper shows the latest CDO developments including the offline clone repository (nothing to to do with Star Wars the Clone Wars though). The replciation speed is impressive - in general these are features which I would like to see transparently supported in modeling tools base on the Eclipse Modeling Platform. CDO supports lazy loading as well  as cache eviction and with that it can handle large models effiently. Cool technology, cdo is ... hmmm yes!
  6. Remi Schnekenburger and Patrick Tessier continue the presentations after a break showing the impressive progess Papyrus has made since last year. Papyrus supports standard languages like UML or SysML but also DSL's. UML profiles with custom shapes are supported giving UML based DSL's an appropriate visual representation.
  7. Stephane Begaudeau presents the features of Acceleo and the impact of its migration to E4 based on practical experiences.
  8. The BPMN 2 editor based on EMF is presented by Reiner Hille-Doering. He also points out many of the benefits which come with BPMN 2 like th exchange format for model exchange (or more accurately two exchange formats). He uses the CMOF and XSD definitions from OMG, converts them into Ecore. Both results have advantages and disadvantages - e.g. XSD has no proper way to handle typed references, the CMOF base ecore model does nothave the usual XSD annotations. He shows how the two ecore models can be merged into a final ecore model which combine the benefits from the both input files which alows to serialize the model instance as xml as well as xmi.
  9. The buinessAppTester shown by Florian Pirchner simplifies the unit testing of applications.
  10. Aurelien Pupier shows Bonita Studio which has leveraged graphical modeling power for customization of its user interface. The interface looks really nice and it demonstrates the potential GMF has.
  11. Markus Voelter demonstrates the integration of a type system into Xtext. The appoach includes verification rules implemented as far as possible declaratively in Java.
  12. The integration of modeling and JDT is the topic of the presenttaion of Sebastian Zarnekow. He demonstrates how the java type system can be mapped into Xtext.
  13. Sven Efftinge invites the audience to place requests for a Xtext community site under a specific bugzilla id (which I did not note). He also demonstrates a language called xdoc (in Xtext of course) simplifying the documentation of software.It allows integrating documentation and code so that it is easier to keep both of them in sync.
  14. Jan Köhnlein shows railroad diagrams (syntax graph) for each rule in Xtext. This technology is under development but will be part of Xtext 2. The diagrams really look like rail roads.
  15. Stephan Eberle gives an update on the Eclipse Modeling Platform, the requirements (version management, collaboration, auditing, ...), strategy and direction. Companies interested to join the initiative are invited to contact Ian Skerrett.

Here are some subjective comments and observations:
  • As last year many interesting technologies are presented - it would be great to see each of them with a practical use case and with the experiences made applying the technology in practice. Often the new technologies are just applied to existing Eclipse technologies instead of using a real world example.
  • In some case it stays unclear what the intended purpose or use case of the technology is. They seem more to demonstrate the cool things enabled by the Eclipse technologies. Maybe an idea for the next symposium is to ask all presenters to list some of the intended or already implemented use cases.
  • Some of the examples seem to show that we as IT like to do work for IT - merging two BPMN 2 definitions to allow to produce two BPMN interchange formats.
  • The strategy to develop graphical model editors seems not very clear as substantial efforts go into GMF based editors while in parallel Graphiti is shaping up.