A wiki gathering documentation related to Moose project. The main Moose source code repository on GitHub is: https://github.com/moosetechnology
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
Loading a model
You can find different Famix Model depending on the programming language. You’ll find here a first list of Famix model and generic tools ways to load Famix model
A popular meta-model is the Java meta-model:
Other programming languages
You may also use models for other programming languages (see also the Parsers section):
Famix AST (FAST)
- FAST - Represent the AST in Famix
- FAST-Java - Represent the Java AST in Famix
- FAST-Pharo - Represent the Pharo AST in Famix
Moose IDE is a group of tools that one can use to explore a model. In this section, we group the documentation for each tool.
Visualizing a model
Visualizations are built with the Roassal tool
Moose 8 documentation
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
- Dealing with a new language
- 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/json from a Java project
- VerveineC-Cpp - Generate an mse/json from a C/C++ 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
- Fame — The meta-meta-model
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: