A wiki gathering documentation related to Moose project. The main Moose source code repository on GitHub is: https://github.com/moosetechnology
- For Beginners
- For Users
- For Developers
- Other Documentation
After installing and running Moose, one typically:
- loads a model of a software system to perform some analyses on it;
- performs some queries on the model
- builds some visualization of the model
A popular meta-model is the Java meta-model:
You may also use models for other programming languages (see also the Parsers section):
Visualizations are built with the Roassal tool
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.
- Library of pre- defined entites/traits
- Creating a meta-model
- Define baseline loading moose for your own projects
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
- 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
- FAST - Represent the AST in Famix
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:
- Moose Technology - the main web site for Moose.
- The Moose Book - a tutorial for using Moose to analyze Java source code (Moose 6).