Logo

1.2.4 2007-2010: FAMIX 3.0, scriptable browsers, parsing framework, Pharo

In 2008, Fame a new meta-engine was created by Adrian Kuhn and Toon Verwaest, and with it came a new meta-meta-model, named FM3, that was simpler and more flexible than EMOF. In parallel with the effort of building Fame, the community started to work on a new family of meta-models for software analysis under the name of FAMIX 3.0. FAMIX 3.0 was a collective effort with perhaps the main actors being Simon Denier, me and Adrian Kuhn (in the beginning of the project).

Starting with the end of 2008, a large effort was initiated to move Moose from VisualWorks to Pharo (pharo-project.org), an open source Smalltalk. This path was lead by Simon Denier, Stéphane Ducasse, Jannik Laval and me.

The reason for moving to Pharo was that we wanted to get the platform to a larger audience and the license of VisualWorks stood in our way. However, the endeavor was not small and without problems.

During the migration we also decided to rewrite parts of Moose. Thus, Fame replaced Meta, FAMIX 3.0 replaced FAMIX 2.1, a slightly modified MSE format was adopted, the Smalltalk importer needed modifications to accommodate the specifics of Pharo.

Mondrian was an important piece in the puzzle, but as it dealt with drawing capabilities specific to VisualWorks, it needed rewriting as well. A first version was created by Lukas Renggli, then taken over by me. Finally, Alexandre Bergel took over the main burden of maintaining and extending it.

As if we did not have enough problems, in the meantime Pharo was in full development as well, and it was effectively moving from underneath all the time. Nevertheless, we finally managed to release the first 4.0 alpha version under Pharo in August 2009. The effort was large, but it was definitely worth it as Pharo offered a lively environment for open-source development.

On a parallel track, Jannik Laval developed the DSM (Dependencies Structure Matrix) project, first in VW and later on Pharo. This was added as an integral part of the main Moose distribution.

Also, Cyrille Delaunay joined the project and spent a significant effort in engineering various parts of Moose.

During this time Glamour was developed by Philipp Bunge, me, and Lukas Renggli, and later joined by Jorge Ressia and David Röthlisberger. Glamour is an engine for scripting interactive browsers (see Chapter 18). It received the 3rd prize at the ESUG 2009 Innovation Awards.

On top of Glamour, I built a dedicated infrastructure for building custom reports. This got embodied in the Arki reporting system (see Chapter 20). Eventually, I complemented this project with an integration with the Jenkins popular continuous integration system (see Chapter 23).

Moving to Pharo open further possibilities due to the large number of open-source projects around it. One of the most important was the PetitParser (see Chapter 14) project developed by Lukas Renggli, a powerful parsing framework. PetitParser complemented the Moose environment because it offered a solid means to tackle systems and data written in various formats.

Moose 4.0 was the first major release on Pharo. It was announced on June 2, 2010.

Add a Note