Moose is an open source project first conceived in 1996 at Software Composition Group. Its original goal was to support software reverse engineering, but since then it has grown to be a generic platform for analysis in general, and it is currently used in and contributed by several research groups worldwide.
Since 2003 I am the main architect and developer of Moose.
Mondrian is an engine for scripting interactive visualizations. Mondrian is the result of Michael Meyer’s work on his master thesis under my supervision. I took over development at the end of 2006. Mondrian earned the 2nd prize at ESUG 2006 Innovation Awards.
Glamour is an engine for scripting interactive browsers. It is the result of Philipp Bunge’s work on his master thesis under my supervision. I am now the main architect and developer. Glamour received the 3rd prize at ESUG 2009 Innovation Awards.
Visualization is an important component of my research and of my consulting work.
Hismo is a meta-model for software evolution analysis and it embodies my PhD thesis:
To provide a generic meta-model for expressing software evolution analyses, we need to recognize the evolution as an explicit phenomenon and model it as a first class entity.
Hismo has at its core the notion of first class history that encapsulate evolution. I have showed how software evolution analyses can be expressed in a succinct manner due to the appropriate abstraction.
Moose Finder is a long standing project of mine that is concerned with a user interface for navigating large models or graphs. It allows one to specify an analysis without imposing a predefined sequence of actions. Moose Finder integrates various loosely coupled tools, and it strives to keep the number of clicks and windows to a minimum. Moose Finder is part of Moose.
Arki is an engine for building reports. It is shipped with Moose.
FAMIX is a language independent meta-model for software analysis. It was first conceived at Software Composition Group in 1996 as part of the FAMOOS European project, and it is implemented in the Moose reengineering environment. Since 2003, I maintain and evolve FAMIX.
Every successful trip needs a suitable vehicle, and Van was the one that carried me through my PhD. Van implements Hismo and several evolution analyses like: evolution measurements and detections, evolution visualizations or co-change analysis. Van is currently merged into Moose.
SPO stands for Small Project Observatory and it is an online tool for keeping an eye on Smalltalk super-repositories. SPO’s main author is Mircea Lungu. I was mainly responsible with its marketing :). SPO received 1st prize at ESUG 2007 Innovation Awards.
NOREX is a prototype of a distributed analysis platform created during a research project between 2005-2007 held together with University of Lugano and Politehnica University of Timisoara.
NOREX is based on web services, but the novelty is that it provides an object-oriented interface by exposing both the meta-model and the actual analysis services, and by providing data management.
I acted as the main designer of the platform.
Modern technologies for building enterprise applications go beyond just one language. For example, even though JEE stands for Java Enterprise Edition, the Java part is just one part. Besides Java, people use JSP for presentation, SQL for persistency, and XML just about everywhere.
Thus, to understand the application as a whole we need to go beyond, what I call, language barriers and to devise dedicated analyses. I participated in a 2 years research project that deals with these problems.
I worked with multiple colleagues and supervised several dozen students in several projects:
As a hobby, I like building webpages. Here are a couple of them (of course, built with Pier):