Moose Wiki

Moose wiki

A wiki gathering documentation related to Moose project. The main Moose source code repository on GitHub is: https://github.com/moosetechnology

Contents

FOR BEGINNERS

FOR USERS

After installing and running Moose, one typically:

  1. loads a model of a software system to perform some analyses on it;
  2. performs some queries on the model
  3. builds some visualization of the model

Loading a model

A popular meta-model is the Java meta-model:

You may also use models for other programming languages (see also the Parsers section):

Performing queries

Visualizing a model

Visualizations are built with the Roassal tool External documentation

More advanced tools

FOR DEVELOPERS

A typical development action in Moose is to add a new programming language to the ones already understood. To be able to take advantage of all the existing tools, this implies writing a parser for the language (see below) and creating a new meta-model. There are also other possible actions.

Parsers

Parsing source code to analyze is an important part of Moose. There are different (so-called) parsers already created at various stages of progress that you can use and/or contribute to.

Note: they do more than parsing since they also resolve names in the parsed code and this is not a small task.

  • Petit Parser - Write “easily” a Parser with Moose External documentation
  • VerveineJ - Generate an mse from a Java project
  • C# - A parser for C# (using Roselyn) that should be able to export a Moose model
  • PowerBuilderParser - Generate an mse from a Powerbuilder project Unfinished
  • FAST - Represent the AST in Famix Unfinished

OTHER DOCUMENTATION

Moose is an extensive platform for software and data analysis. It offers multiple services ranging from importing and parsing data, to modeling, to measuring, querying, mining, and to building interactive and visual analysis tools.

The following resources are also useful to understand Moose: