
The project "Moose Reeingineering Environment" is a collaborative research platform for Software Analysis and Information Visualization. At the beginning, it was developped in the VisualWorks Smalltalk Environment. Now, I take part in the portage of this application in the open-source distribution named Pharo. Since 2008, I contribute to develop Moose on the Pharo environment. Moose is a collaborative research platform for Software Analysis and Information Visualization. It allows to work on different languages such as Java, C++ and Smalltak. Its website is here.
Enriched Dependencies Structure Matrix (eDSM) is a tool used to detect and to provide information to break cycles between packages of a system. It offers enriched cells showing contextual information information about the kinds of references made (inheritance, class accesses...), the proportion of referencing entities and the proportion of referenced entities. It uses coloring information to an easier detection. This work has been implemented on top of the Moose reengineering environment and the Mondrian visualization framework.
A description is available on moose site.
eDSM is integrated in Moose Suite 4.0
Moose on VisualWorks is implemented on top of Famix2.0. So, it is not compatible with eDSM. However, the tool FAMIX2Importer available in Pharo allows us to transform mse files imported from model generated in VisualWorks. With this manipulation, eDSM can analyze models from VisualWorks.
When we decompose SCC in smaller cycles (we named them minimal cycles), the reengineering effort is easier to understand. The goal of reengineers is to break cycles by removing dependencies. First, we want to understand how cyclic dependencies are tangled together. CycleTable highlight shared dependencies between minimal cycles.
A description is available on moose site.
CycleTable is integrated in Moose Suite 4.0
It is a tool which provides (i) a strategy to highlight dependencies which break the Acyclic Dependency Principle; (ii) an organization of packages (even in presence of cycles) in multiple layers; and (iii) a simple visualization to allow expert inputs. While our approach can be run automatically, it also supports human inputs and constraints.
Moqam (Moose Quality Assessment Model) is an implementation of a quality model based on FCM model (Factors - Criteria - Métrics) in Moose reingineering environment. This quality model is a part of results of Squale Research Project which join enterprise (with PSA and AirFrance) and universities.
Gofer new
squeaksource: 'moqam';
package: 'Moqam-All';
load.
Orion is an interactive prototyping tool for reengineering, to simulate changes and compare their impact on multiple versions of software source code models. It deals with requirements such as: interactive simulation of changes, reuse of existing assessment tools, and ability to hold multiple and branching versions simultaneously in memory. Specifically, it implements an infrastructure which optimizes memory usage of multiple versions for large models. This infrastructure uses an extension of the FAMIX source code meta-model but it is not limited to source code analysis tools since it can be applied to models in general. We propose the Orion-Browser, a prototype of browser which allows us to navigate in versions.
A description is available on moose site.
Gofer new
squeaksource: 'OrionDev';
package: 'ConfigurationOfOrion';
load.
(Smalltalk at: #ConfigurationOfOrion) perform: #loadDefault.
It is an object-oriented, cross-platform, and effective API for Networking based on Pharo. Our main goal is to provide (i) a clean object-oriented design, (ii) a portable library based on a single Virtual Machine Plugin, and (iii) an easy way to switch on specific plugins using the same interface between front-end and back-end.
Available on Squeaksource:
http://www.squeaksource.com/Ocean.html
We would like to make Pharo more modular. So I contribute to the engineering of this software by using eDSM and Orion.