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.
- 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.
· 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.
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 (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.
- 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.