Moose product overview
Moose is a platform for software and data analysis. It’s built on top of Pharo, a fully open source object-oriented programming and integrated development environment (IDE). Moose helps programmers create custom analyses of software systems and data in general. It assists people in the process of understanding large amounts of data. Moose can be used by researchers in the fields of software analysis, mining, and reverse engineering. It can be used by engineers and architects to understand systems and data. The platform can also be used by tool builders who need to create affordable custom analysis tools quickly to get information that matters.
Pros of Moose
- Humane assessment: Moose enables humane assessment, a term described as a method for making software engineering decisions. Moose allows developers to create custom tools to provide information and system details that help people make accurate assessments, leading to effective decision making. Reading program code is less accurate than using analysis tools.
- Agile visualization: Moose enables rapid visualization creation for various types of data. It includes the Roassal engine, an open source script system for advanced interactive visualizations. It maps objects and connections to graphical elements and edges where values and metrics are mapped to visual dimensions such as width, height, or color density.
Cons of Moose
- Programmers tool: Moose is a platform for engineers who want to understand data in general, and software systems in particular. It is designed for programmers. To get the most value out of it, users have to learn to program in Pharo and learn the inner workings of Moose. However, Pharo uses a pure object-oriented approach and has an easy-to-learn language syntax with only six reserved words.
Breakdown of core features
Moose ships with Roassal, an engine for scripting interactive visualizations. It maps values and metrics to visual dimensions, which is an expressive way to build flexible and rich visualizations. Users can easily define this mapping so that the effort to build the visualization is reduced. Roassal structures a visualization in terms of views, elements, shapes, and interactions.
Moose includes browsers such as Inspector and Moose Finder. These tools allow users to look at the space provided by a data model and enable users to navigate from one part of this space to another. Moose also includes Glamour toolkit, an engine for building dedicated code browsers that can effectively browse a large majority of models.
Moose comes with PetitParser, a parsing framework that enables users to build custom parsers easily. Custom parsers are useful on systems written in custom languages or formats.
Fame is the built-in meta-modeling infrastructure of Moose. According to definition, a model is a simplification of a subject, and the purpose of a model is to answer some particular questions aimed towards the subject. While a model shows a simplification of a subject, a meta-model offers the vocabulary about what can be expressed in valid models. In the case of Moose, FAMIX is a family of meta-models for representing the structure of software projects.
(Last updated on 12/16/2020 by Abby Dykes)